githubEdit

Availability

Getting availability for a product

The first step when making a sale is to check availability. If allowFreesale is set to true on the product then this step is optional, but it is still recommended to detect closures and operational limits.

Availability Calendar Query

post

Returns one availability object per date for calendar rendering over a date range. This endpoint is optimized for faster calendar rendering, but it does not replace POST /availability for booking flow. You must call POST /availability to obtain an availabilityId before creating or reserving a booking.

Body

Request schema for /availability/calendar.

productIdstringRequired

Product ID or code.

Example: e7cc8bb4-8d1c-4848-8824-5dbedb718681
optionIdstringRequired

Option ID or code. Use DEFAULT only when the product has no options.

Example: 94cdd032-3d32-416d-b0a4-abf8b7495b8b
localDateStartstring · dateRequired

Start of local date range in the product timezone (YYYY-MM-DD).

Example: 2026-05-14
localDateEndstring · dateRequired

End of local date range in the product timezone (YYYY-MM-DD).

Example: 2026-05-21
currencystringOptional

ISO 4217 currency code.

Example: USD
uuidstringOptional

User-submitted UUID field that can be used to uniquely reference this resource and provide idempotency against repeat requests with the same UUID.

Example: 89fe0192-ddcd-430a-b285-e1396a4725d2
offerCodestringOptional

Offer code to evaluate for pricing and eligibility. From capability octo/offers.

Example: SUMMER25
rentalDurationIdstringOptional

Rental duration identifier for rental products. From capability octo/rentals.

Example: rental_duration_2h
Responses
chevron-right
200

Successful response

application/json
availabilityLocalStartTimesstring[]Required

List of availability local start time values.

Example: ["09:00","13:00"]
availablebooleanRequired

Whether this availability can be booked.

Example: true
availableWeightnumber · nullableOptional

Available weight numeric value.

Example: 20
capacityinteger · nullableOptional

Capacity numeric value.

Example: 2
localDatestring · dateRequired

Local date in YYYY-MM-DD format.

Example: 2026-03-01
maxPaxCountinteger · nullableOptional

Max pax count numeric value.

Example: 2
maxUnitsinteger · nullableOptional

Max units numeric value.

Example: 2
maxWeightnumber · nullableOptional

Max weight numeric value.

Example: 20
paxCountintegerOptional

Pax count numeric value.

Example: 2
paxWeightnumberOptional

Pax weight numeric value.

Example: 20
statusstring · enumRequired

Current status value.

Example: AVAILABLEPossible values:
statusMessagestringRequired

Status message value.

Example: Limited availability for this departure.
utcCutoffAtstring · date-timeRequired

Utc cutoff at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
utcOnsaleAtstring · date-time · nullableOptional

Utc onsale at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
vacanciesinteger · nullableOptional

Vacancies numeric value.

Example: 2
weightUnitstring · nullableOptional

Weight unit for the weight value.

Example: kg
offerCodestring · nullableOptional

From capability octo/offers.

Example: SUMMER25
post
/availability/calendar
200

Successful response

Availability Query

post

Returns detailed availability objects per departure time or day. Use this endpoint before booking to obtain the availabilityId required by booking creation/reservation requests.

Body

Request schema for /availability. productId and optionId are required, and at least one availability selector must be provided (localDate, localDateStart+localDateEnd, availabilityId, or availabilityIds).

productIdstringRequired

Product ID or code.

Example: e7cc8bb4-8d1c-4848-8824-5dbedb718681
optionIdstringRequired

Option ID or code. Use DEFAULT only when the product has no options.

Example: 94cdd032-3d32-416d-b0a4-abf8b7495b8b
availabilityIdstringOptional

Single availability identifier (ISO-8601 local date or date-time).

Example: 2026-05-14T09:00:00-04:00
availabilityIdsstring[]Optional

Multiple availability identifiers.

Example: ["2026-05-14T09:00:00-04:00","2026-05-15T09:00:00-04:00"]
currencystringOptional

ISO 4217 currency code.

Example: USD
localDatestring · dateOptional

Local date in the product timezone (YYYY-MM-DD).

Example: 2026-05-14
localDateEndstring · dateOptional

End of local date range in the product timezone (YYYY-MM-DD).

Example: 2026-05-21
localDateStartstring · dateOptional

Start of local date range in the product timezone (YYYY-MM-DD).

Example: 2026-05-14
localTimestringOptional

Local start time in the product timezone (HH:MM).

Example: 09:00
uuidstringOptional

User-submitted UUID field that can be used to uniquely reference this resource and provide idempotency against repeat requests with the same UUID.

Example: 89fe0192-ddcd-430a-b285-e1396a4725d2
offerCodestringOptional

Offer code to evaluate for pricing and eligibility. From capability octo/offers.

Example: SUMMER25
rentalDurationIdstringOptional

Rental duration identifier for rental products. From capability octo/rentals.

Example: rental_duration_2h
Responses
chevron-right
200

Successful response

application/json
allDaybooleanRequired

Whether all day is enabled.

Example: false
availablebooleanRequired

Whether this availability can be booked.

Example: true
capacityinteger · nullableOptional

Capacity numeric value.

Example: 2
idstring · uuidRequired

Unique identifier for this resource.

Example: 94cdd032-3d32-416d-b0a4-abf8b7495b8b
localDateTimeEndstring · date-timeRequired

Local date time end timestamp in ISO 8601 format.

Example: 2026-03-01T12:00:00-08:00
localDateTimeStartstring · date-timeRequired

Local date time start timestamp in ISO 8601 format.

Example: 2026-03-01T09:00:00-08:00
maxPaxCountinteger · nullableOptional

Max pax count numeric value.

Example: 2
maxUnitsinteger · nullableOptional

Max units numeric value.

Example: 2
paxCountintegerOptional

Pax count numeric value.

Example: 2
referencestring · nullableOptional

Reference value.

Example: REF-2026-001
statusstring · enumRequired

Current status value.

Example: AVAILABLEPossible values:
statusMessagestringRequired

Status message value.

Example: Limited availability for this departure.
utcCutoffAtstring · date-timeRequired

Utc cutoff at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
utcOnsaleAtstring · date-time · nullableOptional

Utc onsale at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
vacanciesinteger · nullableOptional

Vacancies numeric value.

Example: 2
offerCodestring · nullableOptional

From capability octo/offers.

Example: SUMMER25
dropoffAvailablebooleanOptional

From capability octo/pickups.

Example: true
dropoffRequiredbooleanOptional

From capability octo/pickups.

Example: true
pickupAvailablebooleanOptional

From capability octo/pickups.

Example: true
pickupRequiredbooleanOptional

From capability octo/pickups.

Example: true
hasResourcesbooleanOptional

From capability octo/resources.

Example: true
post
/availability
200

Successful response

Batch Availability Calendar Query

post

Returns calendar availability across multiple products/options. Designed for background batch jobs and back-office processing, not realtime client requests. For realtime calendar UX use POST /availability/calendar, then call POST /availability to obtain the availabilityId required for booking.

Body

Request schema for /availability/calendar/batch. Includes the same selectors as /availability/calendar, with optional product filters.

localDateStartstring · dateRequired

Start local date in YYYY-MM-DD format.

Example: 2026-05-14
localDateEndstring · dateRequired

End local date in YYYY-MM-DD format.

Example: 2026-05-21
productIdsstring[]Optional

Optional multi-product filter.

Example: ["e7cc8bb4-8d1c-4848-8824-5dbedb718681","prod_london_hop_on_hop_off"]
currencystringOptional

ISO 4217 currency code.

Example: USD
uuidstringOptional

User-submitted UUID field that can be used to uniquely reference this resource and provide idempotency against repeat requests with the same UUID.

Example: 89fe0192-ddcd-430a-b285-e1396a4725d2
offerCodestringOptional

From capability octo/offers.

Example: SUMMER25
rentalDurationIdstringOptional

From capability octo/rentals.

Example: rental_duration_2h
Responses
chevron-right
200

Successful response

application/json
availabilityLocalStartTimesstring[]Required

List of availability local start time values.

Example: ["09:00","13:00"]
availablebooleanRequired

Whether this availability can be booked.

Example: true
availableWeightnumber · nullableOptional

Available weight numeric value.

Example: 20
capacityinteger · nullableOptional

Capacity numeric value.

Example: 2
localDatestring · dateRequired

Local date in YYYY-MM-DD format.

Example: 2026-03-01
maxPaxCountinteger · nullableOptional

Max pax count numeric value.

Example: 2
maxUnitsinteger · nullableOptional

Max units numeric value.

Example: 2
maxWeightnumber · nullableOptional

Max weight numeric value.

Example: 20
optionIdstringRequired

Option identifier.

Example: 94cdd032-3d32-416d-b0a4-abf8b7495b8b
paxCountintegerOptional

Pax count numeric value.

Example: 2
paxWeightnumberOptional

Pax weight numeric value.

Example: 20
productIdstringRequired

Product identifier.

Example: e7cc8bb4-8d1c-4848-8824-5dbedb718681
statusstring · enumRequired

Current status value.

Example: AVAILABLEPossible values:
statusMessagestringRequired

Status message value.

Example: Limited availability for this departure.
utcCutoffAtstring · date-timeRequired

Utc cutoff at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
utcOnsaleAtstring · date-time · nullableOptional

Utc onsale at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
vacanciesinteger · nullableOptional

Vacancies numeric value.

Example: 2
weightUnitstring · nullableOptional

Weight unit for the weight value.

Example: kg
offerCodestring · nullableOptional

From capability octo/offers.

Example: SUMMER25
post
/availability/calendar/batch
200

Successful response

Batch Availability Query

post

Returns detailed availability across multiple products and options. Designed for background batch jobs and back-office processing, not realtime client requests. For realtime client requests use POST /availability.

Body

Request schema for /availability/batch. Includes the same selectors as /availability, with optional product filters.

availabilityIdstringOptional

Single availability identifier (ISO-8601 local date or date-time).

Example: 2026-05-14T09:00:00-04:00
availabilityIdsstring[]Optional

Multiple availability identifiers.

Example: ["2026-05-14T09:00:00-04:00","2026-05-15T09:00:00-04:00"]
currencystringOptional

ISO 4217 currency code.

Example: USD
localDatestring · dateOptional

Local date in the product timezone (YYYY-MM-DD).

Example: 2026-05-14
localDateEndstring · dateOptional

End of local date range in the product timezone (YYYY-MM-DD).

Example: 2026-05-21
localDateStartstring · dateOptional

Start of local date range in the product timezone (YYYY-MM-DD).

Example: 2026-05-14
localTimestringOptional

Local start time in the product timezone (HH:MM).

Example: 09:00
productIdsstring[]Optional

Optional multi-product filter.

Example: ["e7cc8bb4-8d1c-4848-8824-5dbedb718681","prod_london_hop_on_hop_off"]
uuidstringOptional

User-submitted UUID field that can be used to uniquely reference this resource and provide idempotency against repeat requests with the same UUID.

Example: 89fe0192-ddcd-430a-b285-e1396a4725d2
offerCodestringOptional

Offer code to evaluate for pricing and eligibility. From capability octo/offers.

Example: SUMMER25
rentalDurationIdstringOptional

Rental duration identifier for rental products. From capability octo/rentals.

Example: rental_duration_2h
Responses
chevron-right
200

Successful response

application/json
allDaybooleanRequired

Whether all day is enabled.

Example: false
availablebooleanRequired

Whether this availability can be booked.

Example: true
capacityinteger · nullableOptional

Capacity numeric value.

Example: 2
idstring · uuidRequired

Unique identifier for this resource.

Example: 94cdd032-3d32-416d-b0a4-abf8b7495b8b
localDateTimeEndstring · date-timeRequired

Local date time end timestamp in ISO 8601 format.

Example: 2026-03-01T12:00:00-08:00
localDateTimeStartstring · date-timeRequired

Local date time start timestamp in ISO 8601 format.

Example: 2026-03-01T09:00:00-08:00
maxPaxCountinteger · nullableOptional

Max pax count numeric value.

Example: 2
maxUnitsinteger · nullableOptional

Max units numeric value.

Example: 2
optionIdstringRequired

Option identifier.

Example: 94cdd032-3d32-416d-b0a4-abf8b7495b8b
paxCountintegerOptional

Pax count numeric value.

Example: 2
productIdstringRequired

Product identifier.

Example: e7cc8bb4-8d1c-4848-8824-5dbedb718681
referencestring · nullableOptional

Reference value.

Example: REF-2026-001
statusstring · enumRequired

Current status value.

Example: AVAILABLEPossible values:
statusMessagestringRequired

Status message value.

Example: Limited availability for this departure.
utcCutoffAtstring · date-timeRequired

Utc cutoff at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
utcOnsaleAtstring · date-time · nullableOptional

Utc onsale at timestamp in ISO 8601 format.

Example: 2026-05-14T13:00:00Z
vacanciesinteger · nullableOptional

Vacancies numeric value.

Example: 2
offerCodestring · nullableOptional

From capability octo/offers.

Example: SUMMER25
dropoffAvailablebooleanOptional

From capability octo/pickups.

Example: true
dropoffRequiredbooleanOptional

From capability octo/pickups.

Example: true
pickupAvailablebooleanOptional

From capability octo/pickups.

Example: true
pickupRequiredbooleanOptional

From capability octo/pickups.

Example: true
hasResourcesbooleanOptional

From capability octo/resources.

Example: true
post
/availability/batch
200

Successful response

Last updated