Partner Program · External Partner API
Our villas, on your website. The bookings, handled by us.
Villa Tracker gives approved travel-design partners a curated feed of luxury villa inventory — with live calendars and pricing — and a clean way to send bookings back to us. We take the payment, confirm the stay, and pay your commission.
What it is
A ready-made luxury villa inventory feed — plus a booking hand-off.
The External Partner API is the bridge between Smiling House / Villa Tracker's property catalogue and your website. You pull the properties we've curated for you, show them to your clients, and route each booking to our engine. Everything commercially and operationally hard stays on our side.
Curated inventory
We hand-pick and push properties suited to your audience. The catalogue grows over time — you don't have to source it.
Live calendars & pricing
Every listing arrives with per-day availability and indicative nightly rates, ready to display.
Booking hand-off
Send the guest to our booking engine — by deep-link or embedded API — and we do the rest.
Who it's for
Travel designers who want stock without the overhead.
Built for approved, NDA-signed partners who sell high-end stays and would rather focus on clients and curation than on contracts, payments and compliance.
- Luxury travel agencies & villa specialists
- Bespoke & concierge travel designers
- Destination & experience platforms adding stays
- Members' clubs and lifestyle brands with a travel arm
Not what you're looking for if…
You want to own the merchant relationship, hold card data, or set your own cancellation and tax terms. In this model we are the Merchant of Record — you display and refer, we transact and confirm. That's the point: no PCI scope, no chargebacks, no payment plumbing to build.
How it works
Three moves: pull, hand off, get paid.
Your website
Cached inventory, your designer UI, your brand.
Villa Tracker / Smiling House
Catalogue, booking engine, Flywire payment, confirmation to the PMS.
Your CRM
Reservation status via the API — plus webhooks.
You never store card data and you never act as Merchant of Record. Your job is inventory display + booking hand-off + reservation tracking. Ours is everything downstream of the guest clicking “Book.”
Division of responsibility
You handle the shop window. We handle the transaction.
| Concern | Owner |
|---|---|
| Listings, photos, descriptions, calendar & pricing | Smiling House / VT |
| Showing properties, marketing, designer UX | You |
| Taking the guest's payment (Flywire booking engine) | Smiling House |
| Invoicing, refunds, chargebacks, tax | SH — Merchant of Record |
| Confirming the stay & talking to the property | Smiling House |
| Referring the guest & tagging the booking | You |
| Your commission | Paid by SH on schedule |
What you can do
Everything you need to list, sell and reconcile.
Pull curated listings
Fetch every property we've shared with you, with embedded per-day calendars — no separate calendar call for the first load.
Connect & disconnect
Mark which properties you're publishing (or dropping). We use that state for operations and reporting.
Stay in sync
Acknowledge each static / calendar refresh so we know your copy is fresh — with delta polling and webhooks on the roadmap.
Hand off bookings
Deep-link to our booking engine, or submit a fully embedded booking request and get a hosted payment URL back.
Track reservations
Poll booking-request status, receive webhooks, or sync every reservation into your own CRM via the read-only Reservation API.
See your commission
Download invoices and commission statements against your partnerId — reconciliation without spreadsheets.
On approval
Three things arrive by secure channel.
Your partnerId
A unique ID for your agency. It appears in every API URL and tags every booking back to you.
A bearer token
Your secret key, sent on every request. Server-side only — treat it like a password, never ship it in a browser or app bundle.
Sandbox credentials
A separate sandbox partnerId + token with seeded test inventory, so you can build and test before we hand you the production token. Your team also signs in to the partner extranet at extra.villatracker.com with a one-time email link.
And we push an initial set of curated properties into your account. You don't request inventory — we select what fits your audience, and the list grows over time.
The integration journey
Seven steps from token to first booking.
Authenticate
Send your bearer token on every request.
Pull listings
Fetch the properties shared with you, calendars included.
Connect
Flag the ones you're publishing; drop the rest.
Stay fresh
Acknowledge syncs; move to deltas & webhooks later.
Display
Show available dates & indicative “from” pricing.
Hand off
Deep-link or embed the booking; we take payment.
Track
Follow reservations via the API, webhooks or your CRM.
Get paid
Commission lands on the agreed schedule.
Two ways to book
Launch fast, or embed fully. Mix per property.
Deep-link to our engine
The fastest way to go live.
- Redirect “Book this villa” to our booking engine with the dates, guests and your reference.
- We render the final quote, take payment via Flywire, and confirm with the property.
- The booking is attached to your account, tagged with your reference, and visible through the Reservation API. You do nothing else.
Submit a booking request
Keep the guest on your site to the moment of payment.
- You collect guest details; we run an atomic availability check and return a hosted payment URL.
- Idempotency keys stop double-bookings; a price-echo check stops “you charged more than the site said” disputes.
- Track status by polling or
booking.*webhooks.
Tracking bookings
Two surfaces, one source of truth.
Live status for the bookings you submit, and a read-only sync of every reservation. They pull from the same store, so they never disagree.
Booking-request status & webhooks
Every request you submit has a status endpoint — pending payment, paid, confirmed, failed, expired, cancelled — and we can POST signed events to your webhook so you never have to poll.
Reservation API
Read-only sync for partners who want bookings flowing into their own CRM or data warehouse — map fields like confirmation code, status, dates, total and your reference straight in.
Test first, then grow
A full sandbox — and a roadmap that won't break you.
🧪 Sandbox environment
Before we flip your live token you get sandbox credentials with seeded inventory and Flywire in demo mode — no real charges. Walk the whole path pull → connect → acknowledge → book → confirm → cancel, test your error handling, and validate your webhook receiver. We recommend a contract test in your CI so future changes never surprise you.
Start in the browser: the API playground runs every call with your sandbox credentials and shows the exact request, the real response and a copy-as-curl.
Open the API playground →New capabilities roll out without breaking the current surface. Older paths keep working during a defined deprecation window.
Pull listings, connect, acknowledge syncs, deep-link booking.
Delta polling — refetch only what changed.
Signed webhooks & embedded booking requests.
ISO dates everywhere, cleaner errors, stable contract.
Going live
When this list is green, we swap in your production token.
- You've received your
partnerId& bearer token. - The token is stored server-side only — never in a browser or app bundle.
- You can list properties and parse the response.
- You show only available dates and indicative pricing.
- You connect properties you publish and disconnect ones you drop.
- You acknowledge static & calendar syncs after each refresh.
- You've chosen a booking hand-off and tested it end-to-end in sandbox.
- Your reference rides on every booking so commission is attributed.
- Your ops team knows how to look up a reservation through the API.
- You've shared a webhook URL (optional today, recommended for v1.2).
Get started
Become a Villa Tracker partner.
Sign the NDA, get approved, and we'll provision your account with curated inventory and sandbox access. The technical reference is one click away when your developers are ready.