Developers
Availability
Ask which days are bookable, then which times on a day. Availability is live: it reflects the same rules the operator's own checkout uses.
Updated 2026-10-20
Which days are available?
/availability| Query parameter | Required | Notes |
|---|---|---|
experience | Yes | Experience slug |
from | Yes | First date, YYYY-MM-DD |
to | No | Last date, inclusive. Defaults to from. |
A request covers at most 92 days. A longer range is rejected with 400 VALIDATION (details.maxDays), not truncated.
curl "https://<your-booking-domain>/api/partner/v1/availability?experience=supercar-drive&from=2026-11-13&to=2026-11-16" \
-H "Authorization: Bearer pk_test_AbC123dEf456GhI7.xxxxxxxxxxxxxxxx"{
"ok": true,
"data": {
"experience": "supercar-drive",
"from": "2026-11-13",
"to": "2026-11-16",
"days": [
{ "date": "2026-11-13", "status": "open", "remaining": 6, "bestTime": "09:00" },
{ "date": "2026-11-14", "status": "sold_out", "remaining": 0, "bestTime": null },
{ "date": "2026-11-15", "status": "closed", "remaining": 0, "bestTime": null },
{ "date": "2026-11-16", "status": "open", "remaining": 8, "bestTime": "08:30" }
]
},
"requestId": "req_c41a77"
}bestTime is the earliest slot with the most room (HH:mm), or null when the day is not open. remaining is the most seats in any open slot of that day, and 0 unless the day is open.
Which times are available on a day?
/availability/slots| Query parameter | Required | Notes |
|---|---|---|
experience | Yes | Experience slug |
date | Yes | The day, YYYY-MM-DD |
Slots start at opening time and run at the experience's slot size (slotMinutes). A closed day returns status: "closed" and an empty slots array.
curl "https://<your-booking-domain>/api/partner/v1/availability/slots?experience=supercar-drive&date=2026-11-13" \
-H "Authorization: Bearer pk_test_AbC123dEf456GhI7.xxxxxxxxxxxxxxxx"{
"ok": true,
"data": {
"experience": "supercar-drive",
"date": "2026-11-13",
"status": "open",
"slotMinutes": 30,
"slots": [
{ "time": "09:00", "remaining": 6, "status": "open" },
{ "time": "09:30", "remaining": 4, "status": "open" },
{ "time": "10:00", "remaining": 0, "status": "sold_out" },
{ "time": "10:30", "remaining": 0, "status": "blocked" }
]
},
"requestId": "req_9d02be"
}What do the statuses mean?
| Level | Status | Meaning |
|---|---|---|
| Day (and slot-list day) | open | The experience runs that day and at least one slot can be booked. |
sold_out | It runs, but no capacity is left. | |
closed | It does not run that day (blacked out or no opening hours). | |
past_cutoff | Too late to book: inside the experience lead time or, for today, the site-wide booking lead time. | |
| Slot | open | Bookable, with the seat indicator in remaining. |
sold_out | No capacity left at this time. | |
blocked | Closed by the operator’s staff for this time. | |
past_cutoff | Outside the lead time. |
A slot is open only when the experience runs that day, the slot is not blocked, it is outside the lead time, and resource capacity remains.
What does remaining mean?
A seat indicator, not an exact count
remaining is the number of resources with room in the tightest resource group, or 8 when the experience has no resource limits. Use it to show "a few left"; do not promise an exact number. The authoritative answer is always a quote or a booking attempt.- Availability changes constantly. Never cache slots for long, and always handle
409 UNAVAILABLEwhen you book. - A quote holds nothing. Capacity is only taken when a live booking is created.