Get booking options

Overview

Resolve priced booking options, time slots, and required guest inputs for a selected tour date and participant mix.

When to Use

  • Option/slot pickers - Show available variants and start times for a date
  • Live pricing - Display slot totals (pricing.totals.net / priceSummary.netPrice)
  • Checkout forms - Collect bookingQuestionSchema before proceeding to payment

What You Get

  • Booking options - optionId, title, and bookingQuestionSchema
  • Time slots - dateTime, isAvailable, and slot-level pricing (unitNet / totalNet / totals.net / priceSummary.netPrice, plus totals.commission)
  • Participant mapping - Uses ticketCategory keys from availability (e.g. adult, child)

Quick Start

POST a body with language, currency, date (YYYY-MM-DD), and participants to /experiences/tours/{id}/booking-options. Use slot pricing.totals.net as selection.price.amount on prebook, and for checkout handoff.

Option-level price

options[].price.amount reflects the lowest available slot price for the requested mix. Checkout uses the chosen slot's pricing.totals.net.

Error codes

Product-operation codes are listed below. Shared authentication/access/rate-limit middleware can return common codes such as 401, 40301 or 4290. HTTP status and error code are separate; do not parse message text.

CodeMeaning
71001invalid experience request
71002experience not found
71003experiences provider request failed
71004experiences provider request timed out
71005experience request is unauthorized
71006experience request is forbidden
71007experiences service is temporarily unavailable
71099failed to retrieve experiences
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Tour identifier

Body Params
string
required

ISO language code for localized content.

string
required

ISO 4217 currency code for prices.

date
required

Tour date to price, YYYY-MM-DD.

participants
object
required

Participant counts keyed by ticket category (age band), e.g. adult, child. Keys are lowercase and must match a ticketCategory returned by GET /experiences/tours/{id}/availability for this tour. An array (e.g. [{"category":"adult","count":2}]) is rejected, and uppercase keys (e.g. ADULT) are rejected - use the exact lowercase category strings from availability.

addons
array of objects

Optional add-ons to price alongside the tour, from GET .../availability addons[].id.

addons
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json