Skip to content

Availability

Each option has its own calendar. The seller sets weekly start times or opening hours, the places on each start, and the days it doesn’t run; tourpingo works out each day from those, the bookings and the holds.

GET /v1/public/options/{optionId}/calendar takes a month and answers each day with its starts:

An option's month
Terminal window
curl "https://api.stg.vacationpackagesoman.com/v1/public/options/9e4c2a71-3b5d-4e8f-a1c6-7d20f5b93e48/calendar?month=2026-11" \
-H "Tp-Publishable-Key: $TP_KEY"
Answer: 200 OK (shortened)
[
{
"date": "2026-11-13",
"status": "sold_out",
"starts": [
{
"time": "15:00",
"status": "sold_out",
"remaining": 0
}
]
},
{
"date": "2026-11-14",
"status": "open",
"starts": [
{
"time": "15:00",
"status": "open",
"remaining": 14
}
]
},
{
"date": "2026-11-15",
"status": "closed",
"starts": []
}
]
Day or start status Meaning
open Bookable.
sold_out No places left.
closed It doesn’t run then.
past_cutoff Too late to book.

remaining is the places left on a start, or null when the option doesn’t count them (capacity_mode free_sale). A start’s time is null when the option is open all day.

The calendar says when, not how much. A price depends on the travellers, their ages, the extras and the currency, so ask for a quote once the traveller has chosen a day.

Checking out takes a few minutes, so places are held first: a hold keeps them for 15 minutes, and the calendar counts them as taken until the hold ends or becomes a booking. A start can show sold_out and open again when a hold runs out. See bookings and holds.

Dates and times on the calendar, in quotes and on bookings are local to where the trip starts (the trip’s timezone), never converted to the traveller’s.