The Travel Curious Reseller API provides a flexible, high-performance solution for Resellers and Online Travel Agencies (OTAs) to seamlessly integrate with our global travel experience marketplace.

This API enables partners to:

  • Discover Inventory: Access a comprehensive catalog of Suppliers and Products with rich, localized content.
  • Real-time Availability: Query live capacity and pricing schedules to ensure accurate booking data.
  • Lifecycle Management: Manage the full booking flow, including temporary holds, secure confirmations, and cancellations.

🆕 What's New in v1.3

This version unlocks conversion-boosting features not available in legacy versions, including:

  • Rich Content Capabilities: A structured Content object is now available on Suppliers, Products, Rates, and Traveler Types. It provides localized, customer-facing descriptive data — multilingual text in multiple formats, media assets, feature highlights, FAQs, ratings, and reviews - kept separate from the core transactional fields.
  • Booking Questions: Some products require the Reseller to collect specific information from the guest as part of checkout. v1.3 introduces a formal BookingQuestions capability: a structured set of typed questions with localized text, dependency rules, PII flags, and defined submission phases.
  • Enhanced Location Data: Location data has been significantly improved in v1.3. The Location object now supports named types (such as MEETING_POINT, START, END, REDEMPTION, and POINT_OF_INTEREST) and carries a references[] array that links each location to records on external mapping platforms.
  • Expanded Data Structures: Enhancements across core entities introduce standardized transactional fields, giving Resellers the power to share additional data received from the Suppliers without breaking baseline schemas.

Server
https://booking.redeam.io/v1.3

Production server

https://booking.sandbox.redeam.io/v1.3

Sandbox server

Server Variables

Fields
KeyIn
X-API-KeyHeader

Fields
KeyIn
X-API-SecretHeader

Retrieve a list of Suppliers

The Suppliers endpoints return information about the Operators connected to your account.

A Supplier represents the Operator providing the travel experience - a tour company, museum, attraction, or event venue. The Supplier object carries the operator's identity, contacts, accepted traveler types, business hours, and location data.

💡 Note on Retrieving Content: To optimize list performance and payload sizes, rich marketing content is not returned in this endpoint. To retrieve localized content at the Supplier level, you must request the specific operator via the singular endpoint (GET /suppliers/{supplier_id}) using the content=true query parameter.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Query String
partner_idstring

Return suppliers with a matching partnerId value.

codestring

Return suppliers with a matching code value.

GET /suppliers
Copy
Responses
200

Retrieve a list of Suppliers

objectobject
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
suppliersarray[object]
iduuid

ID of the Supplier. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Common name for the supplier that may be displayed to the customer.

titlestring

Customer-facing name of the Supplier, intended for display in UIs.

descriptionstring

A detailed overview of the Supplier or operator, highlighting their offerings, background, and value proposition. This content is intended for display in full detail pages and should help users understand what makes the Supplier unique.

codestring

Code of the Supplier. Every Supplier must have a unique Code.

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema Extensions may be used to exchange required operational or commercial information.

businessTypearray[string]

DEPRECATED. Key word or words that identify the type of business

pattern: ^\w+$

contactsarray[object]

Supplier contact information.

emailstring

Contact email address for correspondence and notifications.

namestring

Full name of the contact person.

phonestring

Contact phone number

pattern: ^\+\d[\d\s\(\)-]+$

titlestring

The professional role or relationship of the contact.

mainLocationobject

Defines a physical place associated with the experience, such as a meeting point, a stop on an itinerary, or a redemption desk.

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

otherLocationsarray[object]

Other locations of the Supplier

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

hoursarray[object]

Hours of the Supplier

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

travelerTypesarray[object]

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

401

Unauthorized

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response
Copy

Retrieve a single Supplier

Retrieve information for a specific Operator connected to your account using the unique supplier_id.

A Supplier represents the Operator providing the travel experience - a tour company, museum, attraction, or event venue. The Supplier object carries the operator's identity, contacts, accepted traveler types, business hours, and location data.

🚀 NEW — Content Capability: Content is not returned by default. To include it, add content=true to any singular GET endpoint.

Use the locale query parameter to pass a comma-separated list of BCP 47 language tags (e.g., locale=en-US,es-ES). When specified, the API will only return content fields matching those exact language tags.

Use the optional format query parameter to specify your required text format (plain, html, markdown). You can request multiple formats simultaneously by comma-separating them (e.g., format=html,markdown). If this parameter is not specified, all available formats are returned by default.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
supplier_idstring

The unique id of the supplier associated with this object.

Query String
contentboolean

If set to true, the response will include a 'content' field with detailed metadata.

Default: false

localestring

Comma-separated list of BCP 47 language tags. If specified, only content matching one of these language tags will be returned.

formatstring

Comma-separated list of formats. If specified, only content matching one of these formats will be returned.

Enum: plain,html,markdown

GET /suppliers/{supplier_id}
Copy
Responses
200

Retrieve a single Supplier

objectobject
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
supplierobject
iduuid

ID of the Supplier. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Common name for the supplier that may be displayed to the customer.

titlestring

Customer-facing name of the Supplier, intended for display in UIs.

descriptionstring

A detailed overview of the Supplier or operator, highlighting their offerings, background, and value proposition. This content is intended for display in full detail pages and should help users understand what makes the Supplier unique.

codestring

Code of the Supplier. Every Supplier must have a unique Code.

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema Extensions may be used to exchange required operational or commercial information.

businessTypearray[string]

DEPRECATED. Key word or words that identify the type of business

pattern: ^\w+$

contactsarray[object]

Supplier contact information.

emailstring

Contact email address for correspondence and notifications.

namestring

Full name of the contact person.

phonestring

Contact phone number

pattern: ^\+\d[\d\s\(\)-]+$

titlestring

The professional role or relationship of the contact.

mainLocationobject

Defines a physical place associated with the experience, such as a meeting point, a stop on an itinerary, or a redemption desk.

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

otherLocationsarray[object]

Other locations of the Supplier

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

hoursarray[object]

Hours of the Supplier

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

travelerTypesarray[object]

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

contentobject

Provides localized, structured, and customer-facing content that can be attached to multiple entities. This object is the primary source for descriptive marketing data across all levels of the catalog. This Content object can be attached to:

  • Suppliers (Company bios, logos)
  • Products (Full experience descriptions, media)
  • Options / Rates (Route or language-specific details)
  • Units / TravelerType (Specific details for Adult, Child, or special TravelerType/Units)

The Content object supports multilingual text, rich media, features, FAQs, ratings, and reviews intended for display in Reseller and customer-facing experiences. When present, consumers SHOULD prioritize values from the Content object for display and fall back to the corresponding standard entity fields when content data is not available.

idstring

Unique identifier for this content object. Used to reference and manage content independently of the parent entity.

namearray[object]

A LocalizedTextSet describing the content's name.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A LocalizedTextSet describing the content's title.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

subtitlearray[object]

A LocalizedTextSet describing the content's subtitle.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

descriptionarray[object]

A LocalizedTextSet describing the content's description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

shortDescriptionarray[object]

A LocalizedTextSet describing the content's short description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

categoriesarray[object]

A LocalizedTextSet describing the content's categories.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

durationobject

Indicates the typical or expected duration of the experience. May include a numeric length, unit, and optional localized description.

lengthnumber

Numeric duration value expressed in the specified unit.

flexibleboolean

If true, the duration is an estimate (e.g., 'approx. 3 hours'). If false, the duration is fixed (e.g., a 45-minute flight).

unitstring

Unit of time used to interpret the duration length.

Enum: minutes,hours,days,weeks

descriptionarray[object]

A short description of this duration.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

faqsarray[object]
questionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

answerarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

featuresarray[object]
typestring

Classification of the feature.

Enum: INCLUSION,EXCLUSION,HIGHLIGHT,PREBOOKING_INFORMATION,PREARRIVAL_INFORMATION,REDEMPTION_INSTRUCTION,ACCESSIBILITY_INFORMATION,ADDITIONAL_INFORMATION,BOOKING_TERMS_AND_CONDITIONS,CANCELLATION_TERMS_AND_CONDITIONS,TERMS_AND_CONDITIONS,RESTRICTION_REQUIREMENT,SAFETY_INFORMATION,PRIVATE,COMMENTARY,OTHER

descriptionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

mediaarray[object]
urlstring

Direct link to the media asset (image, video, etc.). Must be publicly accessible.

typestring

The media file type.

Enum: image/jpeg,image/png,image/webp,image/svg+xml,video/mp4,video/avi,external/youtube,external/vimeo,external/other,application/pdf

relationshipstring

Describes how the media relates to the object. Examples: "logo" (Supplier branding), "cover" (hero image for Product), "gallery" (set of supplementary visuals). Helps clients render or prioritize media appropriately.

Enum: LOGO,COVER,GALLERY,OTHER

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

captionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

copyrightarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

creditsarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

metadataarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingsarray[object]
sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

averageobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

countinteger

Total number of ratings that contributed to the average. Must be non-negative values (integer ≥ 0).

lastUpdateddate-time

Timestamp of the last time the rating data was refreshed. Format: ISO 8601 (e.g., "2025-06-25T10:00:00Z"). Always use a valid lastUpdated timestamp

reviewsarray[object]
reviewerNamearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

contentarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

createdAtdate-time

Timestamp of when the review was created. Useful for sorting and freshness. Format: ISO 8601 (e.g., "2025-06-25T14:20:00Z").

verifiedboolean

Indicates whether the review is from a verified booking or customer. Helps establish credibility and trust.

metadataobject

Additional system-level metadata related to this content, such as timestamps or internal bookkeeping fields.

lastUpdateddate-time

Timestamp indicating when the record was last updated.

401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response
Copy

Retrieve a list of Products

Returns a list of Products connected to your account. You can filter the list to retrieve all products belonging to a specific parent Supplier.

A Product is a bookable experience offered by a Supplier - a walking tour, museum entry, river cruise, or live show. Each Product belongs to one Supplier and may have multiple Rates.

💡 Note on Retrieving Content: To optimize list performance and payload sizes, rich marketing content is not returned in this endpoint. To retrieve localized content at the Product level, you must request the specific experience via the singular endpoint (GET /suppliers/{supplier_id}/products/{product_id}) using the content=true query parameter.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
supplier_idstring

The unique id of the supplier associated with this object.

Query String
limitinteger

Limit Product list

offsetinteger

Offset Product list

partner_idstring

Partner defined ID

codestring

Product code

GET /suppliers/{supplier_id}/products
Copy
Responses
200

Retrieve a list of Products

objectobject
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
pageobject

Returns the limit and offset used in the request.

limitint32
offsetint32
productsarray[object]
iduuid

ID of the Product. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name the Supplier uses to identify the Product

titlestring

Customer-facing Product name, suitable for marketing or UI display.

descriptionstring

Long-form Product narrative describing the activity, experience or event. This content is intended for display on Product detail pages and should help users understand what is being offered.

codestring

Code of the Product

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: securityPolicy: Large bags and strollers must be checked at the storage lockers.

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

deliveryFormatsstring

Specifies the technical format of the barcode or identifier that will be issued upon booking confirmation. This field informs the Reseller how to correctly parse, render, or encode the ticket value for the end guest. While the list contains standard industry types like QR_CODE and CODE128, Resellers must ensure their systems can handle any format specified here to successfully distribute this Product.

Enum: QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

deliveryMethodsstring

Defines how fulfillment identifiers are distributed within a booking. A value of TICKET means a unique barcode or identifier is issued for every individual guest or unit in the booking. A value of VOUCHER indicates that a single identifier is issued for the entire booking and is shared across all guests.

Enum: TICKET,VOUCHER

instantConfirmationboolean

Indicates whether the booking is confirmed immediately. If false, the request requires asynchronous processing (due to Supplier review or system load); Resellers should expect an initial PENDING state and must handle delayed confirmation to the customer.

instantDeliveryboolean

Indicates whether fulfillment identifiers (tickets/vouchers) are available immediately upon confirmation. If false, the delivery process is asynchronous (due to system latency or generation delays); Resellers must handle a secondary fulfillment step and should not promise the customer immediate access to their tickets.

redemptionInstructionsstring

Provides clear, human-readable directions explaining how the guest should redeem their ticket or voucher at the venue.

redemptionMethodstring

This indicates the redemption requirements for the customer. A value of MANIFEST indicates that the customer MUST provide a form of identification to redeem and as such a printed or digital copy of the ticket is OPTIONAL. A value of DIGITAL indicates that the customer MUST provide a copy of the ticket but MAY be digital or printed. A value of PRINT indicates that the customer MUST provide a printed copy of the ticket (this is typically only used when the Supplier must retain the printed copy for their records).

Enum: MANIFEST,DIGITAL,PRINT

localestring

Language and region identifier. Must be a valid BCP 47 RFC 5646 RFC 4647 language tag.

productTypearray[string]

Classifies the operational nature of the Product to determine the booking behavior.

  • ATTRACTION is used for standard entries or tours.

  • SEATING indicates that specific seat selection is required.

  • BEST_AVAILABLE implies the system will automatically assign the most optimal seating at the time of booking.

Enum: ATTRACTION,SEATING,BEST_AVAILABLE

contactsarray[object]

Product contact information.

emailstring

Contact email address for correspondence and notifications.

namestring

Full name of the contact person.

phonestring

Contact phone number

pattern: ^\+\d[\d\s\(\)-]+$

titlestring

The professional role or relationship of the contact.

hoursarray[object]

Hours of the Product

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

locationobject

Defines a physical place associated with the experience, such as a meeting point, a stop on an itinerary, or a redemption desk.

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

otherLocationsarray[object]

Additional locations for the Product

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response
Copy

Retrieve a single Product

Retrieve information for a specific Product belonging to a specific parent Supplier connected to your account using the unique supplier_id and product_id.

A Product is a bookable experience offered by a Supplier - a walking tour, museum entry, river cruise, or live show. Each Product belongs to one Supplier and may have multiple Rates.

🚀 NEW — Content Capability: To retrieve Content, you must request the specific Product via its singular endpoint (GET /suppliers/{supplier_id}/products/{product_id) using the content=true query parameter.

Use the locale query parameter to pass a comma-separated list of BCP 47 language tags (e.g., locale=en-US,es-ES). When specified, the API will only return content fields matching those exact language tags.

Use the optional format query parameter to specify your required text format (plain, html, markdown). You can request multiple formats simultaneously by comma-separating them (e.g., format=html,markdown). If this parameter is not specified, all available formats are returned by default.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
product_idstring
supplier_idstring
Query String
contentboolean

If set to true, the response will include a 'content' field with detailed metadata.

Default: false

localestring

Comma-separated list of BCP 47 language tags. If specified, only content matching one of these language tags will be returned.

formatstring

Comma-separated list of formats. If specified, only content matching one of these formats will be returned.

Enum: plain,html,markdown

GET /suppliers/{supplier_id}/products/{product_id}
Copy
Responses
200

Successfully retrieved a single Product.

objectobject
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
productobject
iduuid

ID of the Product. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name the Supplier uses to identify the Product

titlestring

Customer-facing Product name, suitable for marketing or UI display.

descriptionstring

Long-form Product narrative describing the activity, experience or event. This content is intended for display on Product detail pages and should help users understand what is being offered.

codestring

Code of the Product

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: securityPolicy: Large bags and strollers must be checked at the storage lockers.

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

deliveryFormatsstring

Specifies the technical format of the barcode or identifier that will be issued upon booking confirmation. This field informs the Reseller how to correctly parse, render, or encode the ticket value for the end guest. While the list contains standard industry types like QR_CODE and CODE128, Resellers must ensure their systems can handle any format specified here to successfully distribute this Product.

Enum: QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

deliveryMethodsstring

Defines how fulfillment identifiers are distributed within a booking. A value of TICKET means a unique barcode or identifier is issued for every individual guest or unit in the booking. A value of VOUCHER indicates that a single identifier is issued for the entire booking and is shared across all guests.

Enum: TICKET,VOUCHER

instantConfirmationboolean

Indicates whether the booking is confirmed immediately. If false, the request requires asynchronous processing (due to Supplier review or system load); Resellers should expect an initial PENDING state and must handle delayed confirmation to the customer.

instantDeliveryboolean

Indicates whether fulfillment identifiers (tickets/vouchers) are available immediately upon confirmation. If false, the delivery process is asynchronous (due to system latency or generation delays); Resellers must handle a secondary fulfillment step and should not promise the customer immediate access to their tickets.

redemptionInstructionsstring

Provides clear, human-readable directions explaining how the guest should redeem their ticket or voucher at the venue.

redemptionMethodstring

This indicates the redemption requirements for the customer. A value of MANIFEST indicates that the customer MUST provide a form of identification to redeem and as such a printed or digital copy of the ticket is OPTIONAL. A value of DIGITAL indicates that the customer MUST provide a copy of the ticket but MAY be digital or printed. A value of PRINT indicates that the customer MUST provide a printed copy of the ticket (this is typically only used when the Supplier must retain the printed copy for their records).

Enum: MANIFEST,DIGITAL,PRINT

localestring

Language and region identifier. Must be a valid BCP 47 RFC 5646 RFC 4647 language tag.

productTypearray[string]

Classifies the operational nature of the Product to determine the booking behavior.

  • ATTRACTION is used for standard entries or tours.

  • SEATING indicates that specific seat selection is required.

  • BEST_AVAILABLE implies the system will automatically assign the most optimal seating at the time of booking.

Enum: ATTRACTION,SEATING,BEST_AVAILABLE

contactsarray[object]

Product contact information.

emailstring

Contact email address for correspondence and notifications.

namestring

Full name of the contact person.

phonestring

Contact phone number

pattern: ^\+\d[\d\s\(\)-]+$

titlestring

The professional role or relationship of the contact.

hoursarray[object]

Hours of the Product

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

locationobject

Defines a physical place associated with the experience, such as a meeting point, a stop on an itinerary, or a redemption desk.

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

otherLocationsarray[object]

Additional locations for the Product

namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

contentobject

Provides localized, structured, and customer-facing content that can be attached to multiple entities. This object is the primary source for descriptive marketing data across all levels of the catalog. This Content object can be attached to:

  • Suppliers (Company bios, logos)
  • Products (Full experience descriptions, media)
  • Options / Rates (Route or language-specific details)
  • Units / TravelerType (Specific details for Adult, Child, or special TravelerType/Units)

The Content object supports multilingual text, rich media, features, FAQs, ratings, and reviews intended for display in Reseller and customer-facing experiences. When present, consumers SHOULD prioritize values from the Content object for display and fall back to the corresponding standard entity fields when content data is not available.

idstring

Unique identifier for this content object. Used to reference and manage content independently of the parent entity.

namearray[object]

A LocalizedTextSet describing the content's name.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A LocalizedTextSet describing the content's title.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

subtitlearray[object]

A LocalizedTextSet describing the content's subtitle.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

descriptionarray[object]

A LocalizedTextSet describing the content's description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

shortDescriptionarray[object]

A LocalizedTextSet describing the content's short description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

categoriesarray[object]

A LocalizedTextSet describing the content's categories.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

durationobject

Indicates the typical or expected duration of the experience. May include a numeric length, unit, and optional localized description.

lengthnumber

Numeric duration value expressed in the specified unit.

flexibleboolean

If true, the duration is an estimate (e.g., 'approx. 3 hours'). If false, the duration is fixed (e.g., a 45-minute flight).

unitstring

Unit of time used to interpret the duration length.

Enum: minutes,hours,days,weeks

descriptionarray[object]

A short description of this duration.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

faqsarray[object]
questionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

answerarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

featuresarray[object]
typestring

Classification of the feature.

Enum: INCLUSION,EXCLUSION,HIGHLIGHT,PREBOOKING_INFORMATION,PREARRIVAL_INFORMATION,REDEMPTION_INSTRUCTION,ACCESSIBILITY_INFORMATION,ADDITIONAL_INFORMATION,BOOKING_TERMS_AND_CONDITIONS,CANCELLATION_TERMS_AND_CONDITIONS,TERMS_AND_CONDITIONS,RESTRICTION_REQUIREMENT,SAFETY_INFORMATION,PRIVATE,COMMENTARY,OTHER

descriptionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

mediaarray[object]
urlstring

Direct link to the media asset (image, video, etc.). Must be publicly accessible.

typestring

The media file type.

Enum: image/jpeg,image/png,image/webp,image/svg+xml,video/mp4,video/avi,external/youtube,external/vimeo,external/other,application/pdf

relationshipstring

Describes how the media relates to the object. Examples: "logo" (Supplier branding), "cover" (hero image for Product), "gallery" (set of supplementary visuals). Helps clients render or prioritize media appropriately.

Enum: LOGO,COVER,GALLERY,OTHER

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

captionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

copyrightarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

creditsarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

metadataarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingsarray[object]
sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

averageobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

countinteger

Total number of ratings that contributed to the average. Must be non-negative values (integer ≥ 0).

lastUpdateddate-time

Timestamp of the last time the rating data was refreshed. Format: ISO 8601 (e.g., "2025-06-25T10:00:00Z"). Always use a valid lastUpdated timestamp

reviewsarray[object]
reviewerNamearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

contentarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

createdAtdate-time

Timestamp of when the review was created. Useful for sorting and freshness. Format: ISO 8601 (e.g., "2025-06-25T14:20:00Z").

verifiedboolean

Indicates whether the review is from a verified booking or customer. Helps establish credibility and trust.

metadataobject

Additional system-level metadata related to this content, such as timestamps or internal bookkeeping fields.

lastUpdateddate-time

Timestamp indicating when the record was last updated.

401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response
Copy

Retrieve a list of Rates

Returns a list of Rates connected to your account. You can filter the list to retrieve all rates belonging to a specific parent product_idand supplier_id.

A Rate defines a specific bookable option within a Product. A single Product can have multiple Rates, for example, separate morning and afternoon sessions with independent capacity, or a standard and premium tier. Each Rate has its own pricing, hours, cancellation policy, and hold configuration.

🚀 NEW — Booking Questions To retrieve Booking Questions, you must use the bookingQuestions=true query parameter.

Use the locale query parameter to pass a comma-separated list of BCP 47 language tags (e.g., locale=en-US,es-ES). When specified, the API will only return content fields matching those exact language tags.

Use the optional format query parameter to specify your required text format (plain, html, markdown). You can request multiple formats simultaneously by comma-separating them (e.g., format=html,markdown). If this parameter is not specified, all available formats are returned by default.

💡 Note on Retrieving Content: To optimize list performance and payload sizes, rich marketing content is not returned in this endpoint. To retrieve localized content at the Rate level, you must request the specific option via the singular endpoint (GET /suppliers/{supplier_id}/products/{product_id}/rates/{rate_id}) using the content=true query parameter.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
product_idstring

The unique id of this rate's parent product.

supplier_idstring
Query String
valid_during_endstring

Filters valid Rates within end time

valid_during_startstring

Filters valid Rates within start time.

valid_fromstring

End time to query.

valid_untilstring

Start time to query.

limitinteger

Limit to query.

offsetinteger

Offset to query.

option_idstring

Option ID to query, identifies Rates as being grouped together

partner_idstring

Partner defined ID

codestring

Rate code to query.

bookingQuestionsboolean

Includes booking questions field in the response, if available.

Default: false

GET /suppliers/{supplier_id}/products/{product_id}/rates
Copy
Responses
200

Retrieve a list of Rates

objectobject
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
ratesarray[object]
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
400

Bad Request

401

Unauthorized

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response
Copy

Retrieve a single Rate

Returns a Rate. Retrieve information for a specific Rate belonging to a specific parent Product connected to your account using the unique supplier_id, product_id, and rate_id.

A Rate defines a specific bookable option within a Product. A single Product can have multiple Rates, for example, separate morning and afternoon sessions with independent capacity, or a standard and premium tier. Each Rate has its own pricing, hours, cancellation policy, and hold configuration.

🚀 NEW — Booking Questions & Content Capabilities

To retrieve Booking Questions, you must use the bookingQuestions=true query parameter.

To retrieve Content, you must request the specific Rate via its singular endpoint (GET /rates/{id}) using the content=true query parameter.

Use the locale query parameter to pass a comma-separated list of BCP 47 language tags (e.g., locale=en-US,es-ES). When specified, the API will only return content fields matching those exact language tags.

Use the optional format query parameter to specify your required text format (plain, html, markdown). You can request multiple formats simultaneously by comma-separating them (e.g., format=html,markdown). If this parameter is not specified, all available formats are returned by default.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
product_idstring
rate_idstring
supplier_idstring
Query String
contentboolean

If set to true, the response will include a 'content' field with detailed metadata.

Default: false

localestring

Comma-separated list of BCP 47 language tags. If specified, only content matching one of these language tags will be returned.

formatstring

Comma-separated list of formats. If specified, only content matching one of these formats will be returned.

Enum: plain,html,markdown

bookingQuestionsboolean

Includes booking questions field in the response, if available.

Default: false

GET /suppliers/{supplier_id}/products/{product_id}/rates/{rate_id}
Copy
Responses
200

Retrieve a single Rate

objectobject
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
rateobject
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

contentobject

Provides localized, structured, and customer-facing content that can be attached to multiple entities. This object is the primary source for descriptive marketing data across all levels of the catalog. This Content object can be attached to:

  • Suppliers (Company bios, logos)
  • Products (Full experience descriptions, media)
  • Options / Rates (Route or language-specific details)
  • Units / TravelerType (Specific details for Adult, Child, or special TravelerType/Units)

The Content object supports multilingual text, rich media, features, FAQs, ratings, and reviews intended for display in Reseller and customer-facing experiences. When present, consumers SHOULD prioritize values from the Content object for display and fall back to the corresponding standard entity fields when content data is not available.

idstring

Unique identifier for this content object. Used to reference and manage content independently of the parent entity.

namearray[object]

A LocalizedTextSet describing the content's name.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A LocalizedTextSet describing the content's title.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

subtitlearray[object]

A LocalizedTextSet describing the content's subtitle.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

descriptionarray[object]

A LocalizedTextSet describing the content's description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

shortDescriptionarray[object]

A LocalizedTextSet describing the content's short description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

categoriesarray[object]

A LocalizedTextSet describing the content's categories.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

durationobject

Indicates the typical or expected duration of the experience. May include a numeric length, unit, and optional localized description.

lengthnumber

Numeric duration value expressed in the specified unit.

flexibleboolean

If true, the duration is an estimate (e.g., 'approx. 3 hours'). If false, the duration is fixed (e.g., a 45-minute flight).

unitstring

Unit of time used to interpret the duration length.

Enum: minutes,hours,days,weeks

descriptionarray[object]

A short description of this duration.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

faqsarray[object]
questionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

answerarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

featuresarray[object]
typestring

Classification of the feature.

Enum: INCLUSION,EXCLUSION,HIGHLIGHT,PREBOOKING_INFORMATION,PREARRIVAL_INFORMATION,REDEMPTION_INSTRUCTION,ACCESSIBILITY_INFORMATION,ADDITIONAL_INFORMATION,BOOKING_TERMS_AND_CONDITIONS,CANCELLATION_TERMS_AND_CONDITIONS,TERMS_AND_CONDITIONS,RESTRICTION_REQUIREMENT,SAFETY_INFORMATION,PRIVATE,COMMENTARY,OTHER

descriptionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

mediaarray[object]
urlstring

Direct link to the media asset (image, video, etc.). Must be publicly accessible.

typestring

The media file type.

Enum: image/jpeg,image/png,image/webp,image/svg+xml,video/mp4,video/avi,external/youtube,external/vimeo,external/other,application/pdf

relationshipstring

Describes how the media relates to the object. Examples: "logo" (Supplier branding), "cover" (hero image for Product), "gallery" (set of supplementary visuals). Helps clients render or prioritize media appropriately.

Enum: LOGO,COVER,GALLERY,OTHER

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

captionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

copyrightarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

creditsarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

metadataarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingsarray[object]
sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

averageobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

countinteger

Total number of ratings that contributed to the average. Must be non-negative values (integer ≥ 0).

lastUpdateddate-time

Timestamp of the last time the rating data was refreshed. Format: ISO 8601 (e.g., "2025-06-25T10:00:00Z"). Always use a valid lastUpdated timestamp

reviewsarray[object]
reviewerNamearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

contentarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

createdAtdate-time

Timestamp of when the review was created. Useful for sorting and freshness. Format: ISO 8601 (e.g., "2025-06-25T14:20:00Z").

verifiedboolean

Indicates whether the review is from a verified booking or customer. Helps establish credibility and trust.

metadataobject

Additional system-level metadata related to this content, such as timestamps or internal bookkeeping fields.

lastUpdateddate-time

Timestamp indicating when the record was last updated.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
contentobject

Provides localized, structured, and customer-facing content that can be attached to multiple entities. This object is the primary source for descriptive marketing data across all levels of the catalog. This Content object can be attached to:

  • Suppliers (Company bios, logos)
  • Products (Full experience descriptions, media)
  • Options / Rates (Route or language-specific details)
  • Units / TravelerType (Specific details for Adult, Child, or special TravelerType/Units)

The Content object supports multilingual text, rich media, features, FAQs, ratings, and reviews intended for display in Reseller and customer-facing experiences. When present, consumers SHOULD prioritize values from the Content object for display and fall back to the corresponding standard entity fields when content data is not available.

idstring

Unique identifier for this content object. Used to reference and manage content independently of the parent entity.

namearray[object]

A LocalizedTextSet describing the content's name.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A LocalizedTextSet describing the content's title.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

subtitlearray[object]

A LocalizedTextSet describing the content's subtitle.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

descriptionarray[object]

A LocalizedTextSet describing the content's description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

shortDescriptionarray[object]

A LocalizedTextSet describing the content's short description.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

categoriesarray[object]

A LocalizedTextSet describing the content's categories.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

durationobject

Indicates the typical or expected duration of the experience. May include a numeric length, unit, and optional localized description.

lengthnumber

Numeric duration value expressed in the specified unit.

flexibleboolean

If true, the duration is an estimate (e.g., 'approx. 3 hours'). If false, the duration is fixed (e.g., a 45-minute flight).

unitstring

Unit of time used to interpret the duration length.

Enum: minutes,hours,days,weeks

descriptionarray[object]

A short description of this duration.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

faqsarray[object]
questionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

answerarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

featuresarray[object]
typestring

Classification of the feature.

Enum: INCLUSION,EXCLUSION,HIGHLIGHT,PREBOOKING_INFORMATION,PREARRIVAL_INFORMATION,REDEMPTION_INSTRUCTION,ACCESSIBILITY_INFORMATION,ADDITIONAL_INFORMATION,BOOKING_TERMS_AND_CONDITIONS,CANCELLATION_TERMS_AND_CONDITIONS,TERMS_AND_CONDITIONS,RESTRICTION_REQUIREMENT,SAFETY_INFORMATION,PRIVATE,COMMENTARY,OTHER

descriptionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

mediaarray[object]
urlstring

Direct link to the media asset (image, video, etc.). Must be publicly accessible.

typestring

The media file type.

Enum: image/jpeg,image/png,image/webp,image/svg+xml,video/mp4,video/avi,external/youtube,external/vimeo,external/other,application/pdf

relationshipstring

Describes how the media relates to the object. Examples: "logo" (Supplier branding), "cover" (hero image for Product), "gallery" (set of supplementary visuals). Helps clients render or prioritize media appropriately.

Enum: LOGO,COVER,GALLERY,OTHER

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

captionarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

copyrightarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

creditsarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

metadataarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingsarray[object]
sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

averageobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

countinteger

Total number of ratings that contributed to the average. Must be non-negative values (integer ≥ 0).

lastUpdateddate-time

Timestamp of the last time the rating data was refreshed. Format: ISO 8601 (e.g., "2025-06-25T10:00:00Z"). Always use a valid lastUpdated timestamp

reviewsarray[object]
reviewerNamearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

titlearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

contentarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

sourcearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

ratingobject

Aggregates review scores from sources like Google, TripAdvisor, Yelp, etc. This provides social proof, helping users quickly evaluate the quality and reliability of the experience.

valuenumber

Rating value.

mininteger

Minimum possible rating.

maxinteger

Maximum possible rating.

createdAtdate-time

Timestamp of when the review was created. Useful for sorting and freshness. Format: ISO 8601 (e.g., "2025-06-25T14:20:00Z").

verifiedboolean

Indicates whether the review is from a verified booking or customer. Helps establish credibility and trust.

metadataobject

Additional system-level metadata related to this content, such as timestamps or internal bookkeeping fields.

lastUpdateddate-time

Timestamp indicating when the record was last updated.

401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response
Copy

Retrieve a list of availabilities

Returns a list of availabilities. Availabilities will be returned which have a start value in response body greater than or equal to parameter start AND less than or equal to parameter end, if both of these are provided in query string parameters

NOTE: For Rates of type FREESALE, availabilities will only be returned when the rate_id parameter is specified.

The Reseller API accepts a query parameter called granularity, which allows you to define how availability data is grouped. It accepts two values: travelerType or rate. If this value is passed, the availability data is broken down specifically at the ageBand level. This is useful if a Supplier has distinct capacity limits for different guest types.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
product_idstring
supplier_idstring
Query String
endstring

End of the availability request range, as an RFC3339 date-time.

startstring

Start of the availability request range, as an RFC3339 date-time.

rate_idstring
granularitystring

Defines the granularity level for fetching availabilities.

Enum: travelerType,rate

GET /suppliers/{supplier_id}/products/{product_id}/availabilities
Responses
200

Retrieve a list of availabilities

objectobject
availabilitiesobject
byRateobject

A list of all available windows for the Rate. Availability records by Rate ID.

*object
availabilityarray[object]
idstring

A unique identifier for the specific availability slot. This value is passed directly from the supplier. Partners should not attempt to validate it against a UUID regex pattern.

capacityint32

The number of spots remaining. For open-dated Products, this represents the remaining daily allotment.

maxCapacityint32

The total capacity for this period. If the maximum capacity has not been set by the operator, then its value will be -1.

startdate-time

The start of the bookable window.

enddate-time

The end of the bookable window.

extensionsobject

Extended data of the availability. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

example: opponentName: vs. New York Yankees

unit_idstring

The availability's Unit ID. Only available when granularity is set to travelerType.

descriptionstring

Description of the availability object.

expiresdate-time

The time at which this availability data is no longer guaranteed to be accurate.

productIduuid

The ID of the product used in the availability request.

retrieveddate-time

The exact time this availability snapshot was fetched.

metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
400

Bad Request

401

Unauthorized

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Retrieve a single availability

Validate availability status and remaining capacity for a specific time and quantity. Highly recommended as a final pre-check immediately before placing a Hold. Supports the granularity parameter to break down capacity rules at the traveler type/age band level.

NOTE: For Rates of type FREESALE, an availability will only be returned when the rate_id parameter is specified.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
product_idstring
supplier_idstring
Query String
atstring

Date Time of availability

qtyinteger

Quantity of availability

rate_idstring
granularitystring

To define granularity level for fetching availabilities.

Enum: travelerType,rate

GET /suppliers/{supplier_id}/products/{product_id}/availability
Responses
200

Retrieve a single availability

objectobject
availabilityobject

Represents a bookable window of time. This can refer to a specific timed slot (e.g., 10:00 AM) or a broader validity period for open-dated Products (e.g., a Full Day Pass).

idstring

A unique identifier for the specific availability slot. This value is passed directly from the supplier. Partners should not attempt to validate it against a UUID regex pattern.

capacityint32

The number of spots remaining. For open-dated Products, this represents the remaining daily allotment.

maxCapacityint32

The total capacity for this period. If the maximum capacity has not been set by the operator, then its value will be -1.

startdate-time

The start of the bookable window.

enddate-time

The end of the bookable window.

extensionsobject

Extended data of the availability. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

example: opponentName: vs. New York Yankees

unit_idstring

The availability's Unit ID. Only available when granularity is set to travelerType.

descriptionstring

Description of the availability object.

bookableboolean

Value is true when a bookable availability is found.

metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
400

Bad Request

401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Fetches a price schedule.

Returns a price schedule for the requested Product, if one exists. The expected successful response is a multi-level map; this map has three levels:

  1. A map of Rate IDs (string, UUID) to maps (level 2).
  2. A map of date strings (YYYY-MM-DD) to arrays (level 3).
  3. An array of prices, available under the parent date & belonging to the parent rate_id. A price schedule price MUST be used for any holds made against the price's parent date. If a price has one or more startTimes, that price MUST be used when placing a hold with the same at time.

Auth
Path Params
supplier_idstring

Unique ID of the Supplier

product_idstring

Unique ID of the Product

Query String
start_datestring

Starting date (RFC3339 full-date) of the range to fetch prices for, inclusive.

end_datestring

End date (RFC3339 full-date) of the range to fetch prices for, inclusive. Defaults to 30 days after the start_date if not provided. This value MUST be less than one year from the start_date.

rate_idstring

Filter returned prices to those under the specified rate_id.

GET /suppliers/{supplier_id}/products/{product_id}/pricing/schedule
Responses
200

A breakdown of prices by Rate and date.

objectobject

A map of Rate IDs to dates & prices.

*object

A map of dates to prices.

*array[object]

A list of available prices on this Rate and date

iduuid

The unique identifier for this scheduled price. This ID must be used in booking requests for the matching date/time.

namestring

Human-readable name for the pricing tier.

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

includedTaxesobject
currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

startTimesarray[string]

A list of RFC3339 date-times representing the specific start times when this price can be used. The date component of each timestamp in the startTimes array MUST match the parent key. If startTimes is empty, this price is valid for the entire (local) date represented in the parent key. If startTimes is NOT empty, holds made against this price MUST have an at time present in the startTimes array.

statusstring

Determines if bound channels can list this price.

Enum: ACTIVE,INACTIVE

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Acquire a hold

A Hold temporarily reserves inventory while a guest completes checkout. Implementing the Hold is mandatory, but not always mandatory to send a Hold before a booking is created. The Hold request requires the supplierId, productId, rateId, priceId, availabilityId, and travelerType from your earlier responses.

If the Hold succeeds, the response includes a holdId and an expires timestamp.

The Hold remains active until it expires, or until you explicitly release it with a DELETE /holds/{hold_id}.

🚀 NEW — Booking Questions Capability

If the Rate includes bookingQuestions[] with phase hold, those answers must be submitted as part of the Hold request body. Required questions (required true) will cause the Hold request to fail if they are omitted. Include an answers array at the Hold level for questions with scope booking, or within each traveler context for questions with scope guest. For questions with scope guest and phase hold, submit the answer inside the relevant items[] or traveler block.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Request Body
objectobject
holdobject
iduuid

Unique identifier for the Hold. If a valid UUID is provided during creation, it will be used as the ID. Otherwise, a system-generated ID is assigned.

extensionsobject

Extended data for the hold. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information. example: pickupLocationCode: "PCKUP-2023-8238" beta-ticketLocations: '[{"section":"113","row":"9","seatNumbers":[1,2],"seats":["1","2"]}]'

expiresdate-time

The Datetime when the hold expires. Resellers must convert this hold into a Booking before this time; otherwise, the inventory reservation is canceled and released back to the Supplier. A valid RFC3339 expiration date-time MAY be provided in the request, but the value of the expires field in the response MUST take precedence.

itemsarray[object]

Items in the hold. The list of individual Rate and Price selections currently reserved within this hold.

atdate-time

The intended travel / start date for the hold item, which should match the start time on the availability being held.

availabilityIdstring

Availability selection for the Hold item

iduuid

A unique identifier for this hold item, distinct from the ID of the hold itself.

priceIdstring

The identifier for the selected price. Selection Rule: * If a price is available on the 'Price Schedule' for the selected date, Rate, and Traveler Type, that ID MUST be used.

  • If no scheduled price exists, the ID from the static Rate 'prices' array MAY be used as a fallback.

This field is critical for ensuring the guest is charged the correct seasonal or date-specific Rate.

productIduuid

The unique identifier of the parent Product associated with this Hold item. This ID matches the id field of the parent Product entity.

quantityint32

Quantity of the hold item. The number of units reserved for this specific line item. Must be within the minTravelers and maxTravelers constraints defined at the Rate level.

rateIduuid

Rate ID for the hold item Rate.

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

travelerTypestring

Traveler type for the Hold item. Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,YOUTH

extobject

Extended data for the Hold item. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

example: childSeat: 'No'

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
POST /holds
Responses
201

Successfully acquired a hold.

objectobject
holdobject
iduuid

Unique identifier for the Hold. If a valid UUID is provided during creation, it will be used as the ID. Otherwise, a system-generated ID is assigned.

extensionsobject

Extended data for the hold. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information. example: pickupLocationCode: "PCKUP-2023-8238" beta-ticketLocations: '[{"section":"113","row":"9","seatNumbers":[1,2],"seats":["1","2"]}]'

expiresdate-time

The Datetime when the hold expires. Resellers must convert this hold into a Booking before this time; otherwise, the inventory reservation is canceled and released back to the Supplier. A valid RFC3339 expiration date-time MAY be provided in the request, but the value of the expires field in the response MUST take precedence.

itemsarray[object]

Items in the hold. The list of individual Rate and Price selections currently reserved within this hold.

atdate-time

The intended travel / start date for the hold item, which should match the start time on the availability being held.

availabilityIdstring

Availability selection for the Hold item

iduuid

A unique identifier for this hold item, distinct from the ID of the hold itself.

priceIdstring

The identifier for the selected price. Selection Rule: * If a price is available on the 'Price Schedule' for the selected date, Rate, and Traveler Type, that ID MUST be used.

  • If no scheduled price exists, the ID from the static Rate 'prices' array MAY be used as a fallback.

This field is critical for ensuring the guest is charged the correct seasonal or date-specific Rate.

productIduuid

The unique identifier of the parent Product associated with this Hold item. This ID matches the id field of the parent Product entity.

quantityint32

Quantity of the hold item. The number of units reserved for this specific line item. Must be within the minTravelers and maxTravelers constraints defined at the Rate level.

rateIduuid

Rate ID for the hold item Rate.

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

travelerTypestring

Traveler type for the Hold item. Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,YOUTH

extobject

Extended data for the Hold item. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

example: childSeat: 'No'

rateobject
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

retrieveddate-time

Datetime of retrieval

statusstring

Status of the hold

Enum: ACTIVE,EXPIRED,FAILED,PENDING,RELEASED,UNKNOWN

timelinearray[object]

Timeline of actions taken on the Hold.

timestampdate-time
typeOfstring

Enum: CANCELLED,DELETED,OPEN,PENDING,REDEEMED,RELEASED,TICKETS_ADDED,UNKNOWN

metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
400

Bad Request

401

Unauthorized

409

Conflict

413

Entity Too Large

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Retrieve a hold

Retrieve an active Hold by its ID. Returns the same structure as the POST /holds response.

🚀 NEW — Booking Questions Capability

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
hold_idstring

ID of the hold to retrieve.

GET /holds/{hold_id}
Responses
200

Successfully retrieved a hold.

objectobject
holdobject
iduuid

Unique identifier for the Hold. If a valid UUID is provided during creation, it will be used as the ID. Otherwise, a system-generated ID is assigned.

extensionsobject

Extended data for the hold. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information. example: pickupLocationCode: "PCKUP-2023-8238" beta-ticketLocations: '[{"section":"113","row":"9","seatNumbers":[1,2],"seats":["1","2"]}]'

expiresdate-time

The Datetime when the hold expires. Resellers must convert this hold into a Booking before this time; otherwise, the inventory reservation is canceled and released back to the Supplier. A valid RFC3339 expiration date-time MAY be provided in the request, but the value of the expires field in the response MUST take precedence.

itemsarray[object]

Items in the hold. The list of individual Rate and Price selections currently reserved within this hold.

atdate-time

The intended travel / start date for the hold item, which should match the start time on the availability being held.

availabilityIdstring

Availability selection for the Hold item

iduuid

A unique identifier for this hold item, distinct from the ID of the hold itself.

priceIdstring

The identifier for the selected price. Selection Rule: * If a price is available on the 'Price Schedule' for the selected date, Rate, and Traveler Type, that ID MUST be used.

  • If no scheduled price exists, the ID from the static Rate 'prices' array MAY be used as a fallback.

This field is critical for ensuring the guest is charged the correct seasonal or date-specific Rate.

productIduuid

The unique identifier of the parent Product associated with this Hold item. This ID matches the id field of the parent Product entity.

quantityint32

Quantity of the hold item. The number of units reserved for this specific line item. Must be within the minTravelers and maxTravelers constraints defined at the Rate level.

rateIduuid

Rate ID for the hold item Rate.

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

travelerTypestring

Traveler type for the Hold item. Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,YOUTH

extobject

Extended data for the Hold item. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

example: childSeat: 'No'

rateobject
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

retrieveddate-time

Datetime of retrieval

statusstring

Status of the hold

Enum: ACTIVE,EXPIRED,FAILED,PENDING,RELEASED,UNKNOWN

timelinearray[object]

Timeline of actions taken on the Hold.

timestampdate-time
typeOfstring

Enum: CANCELLED,DELETED,OPEN,PENDING,REDEEMED,RELEASED,TICKETS_ADDED,UNKNOWN

metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Release a hold

Release a Hold when a guest abandons their cart or closes the browser. This immediately frees the reserved capacity for other customers rather than waiting for automatic expiry.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
hold_idstring

ID of the hold to release.

DELETE /holds/{hold_id}
Responses
204

Successfully released a hold.

No response body
401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Creates a new booking.

A Booking converts a Hold into a confirmed reservation. The Booking request must include the holdId from the preceding Hold response, along with the customer's details and a traveler object for each item (recommended but not mandatory). Travel Curious validates that the Booking request matches the Hold exactly - the supplierId, rateId, priceId, and traveler count must be identical. Any discrepancy causes the Booking to fail.

🚀 NEW — Booking Questions Capability

If the Rate includes bookingQuestions[] with phase booking, those answers must be submitted as part of the Booking request body. Required questions (required true) will cause the Booking request to fail if they are omitted. Include an answers array at the Booking level for questions with scope booking, or within each traveler context for questions with scope guest. For questions with scope guest and phase booing, submit the answer inside the relevant items[] or traveler block.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Request Body
objectobject
bookingobject

The primary container for a transaction. It links a customer to one or more booking items and manages the overall lifecycle, fulfillment, and cancellation eligibility.

barcodeobject

Contains the digital fulfillment data for a ticket. This information is used to generate the visual or textual voucher presented at the venue.

formatstring

The technical format or symbology of the barcode. This dictates how the Reseller should render the barcode image or text on the guest's ticket.

Enum: UNKNOWN,QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

valuestring

The actual data string encoded in the barcode. This is the unique identifier that the venue's scanner will read.

iduuid

Unique identifier for the booking. If a valid UUID is provided during creation, it will be used as the ID. Otherwise, a system-generated ID is assigned.

holdIduuid

The ID of a temporary hold. Provide this to convert a reserved inventory slot into a confirmed booking.

cancelableboolean

Indicates if the booking can currently be canceled. This is calculated based on the 'cancelable' property of the underlying Rates and the applicable cutoff windows.

customerobject

Information about the lead customer responsible for the booking. This data is used for fulfillment, communication, and manifest records.

emailstring

The primary contact email. Used for voucher delivery and operational updates.

firstNamestring

The first name of the lead traveler.

lastNamestring

The last name of the lead traveler.

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

extensionsobject

Supplemental customer data, such as secondary contact info. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

*string
extensionsobject

Extended data for the booking item. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: pickupLocationCode: PCKUP-2023-8238

itemsarray[object]

Single or list of individual items within this booking.

iduuid

Booking Item ID. The unique identifier for this line item.

availabilityIdstring

The identifier for the specific availability slot selected. This ensures the booking is tied to a valid, high-integrity inventory record.

priceIdstring

The identifier for the selected price. Selection Rule: * If a price is available on the 'Price Schedule' for the selected date, Rate, and Traveler Type, that ID MUST be used.

  • If no scheduled price exists, the ID from the static Rate 'prices' array MAY be used as a fallback.

This field is critical for ensuring the guest is charged the correct seasonal or date-specific Rate.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the 'id' field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

quantityint32

Quantity of the booking item. The number of units reserved for this specific line item. Must be within the minTravelers and maxTravelers constraints defined at the Rate level.

rateobject
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
rateIduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

startTimedate-time

The scheduled start date and time for the experience. Must align with a valid availability slot for the selected Rate.

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

extobject

Extended data for the booking item. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: childSeat: 'No'

travelerobject

Individual participant details for the booking. These details are used for manifests, eligibility verification, and on-site identification.

firstNamestring

First name of the individual traveler.

lastNamestring

Last name of the individual traveler.

emailstring

Individual email address, if different from the lead customer.

ageint32

Actual age of the traveler in years.

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

pattern: ^[A-Za-z]{3}$

genderstring

Gender of the traveler.

Enum: FEMALE,MALE

isLeadboolean

Indicates if this is the primary traveler for the item. Each Booking Item must have exactly one lead traveler.

langstring

Spoken language as an ISO 639-3 code (e.g., ENG, FRA, DEU). code'

pattern: ^[A-Za-z]{3}$

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

pattern: ^\+\d[\d\s\(\)-]+$

extensionsobject

Supplemental data such as dietary requirements or accessibility needs. Extensions may be used to exchange required operational or commercial information.

example: specialRequest: Wheelchair accessibility

*string
typestring

Matches the 'ageBand' from the RatePrice (e.g., ADULT, CHILD). Used for price validation.

answersarray[object]
question_idstring
partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

resellerBookingRefstring

Reseller reference ID for the booking, used by the Reseller API client to provide their own reference for the booking.

answersarray[object]
question_idstring
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
POST /bookings
Responses
201

Successfully creates a new booking.

objectobject
bookingobject

The primary container for a transaction. It links a customer to one or more booking items and manages the overall lifecycle, fulfillment, and cancellation eligibility.

barcodeobject

Contains the digital fulfillment data for a ticket. This information is used to generate the visual or textual voucher presented at the venue.

formatstring

The technical format or symbology of the barcode. This dictates how the Reseller should render the barcode image or text on the guest's ticket.

Enum: UNKNOWN,QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

valuestring

The actual data string encoded in the barcode. This is the unique identifier that the venue's scanner will read.

iduuid

Unique identifier for the booking. If a valid UUID is provided during creation, it will be used as the ID. Otherwise, a system-generated ID is assigned.

holdIduuid

The ID of a temporary hold. Provide this to convert a reserved inventory slot into a confirmed booking.

cancelableboolean

Indicates if the booking can currently be canceled. This is calculated based on the 'cancelable' property of the underlying Rates and the applicable cutoff windows.

customerobject

Information about the lead customer responsible for the booking. This data is used for fulfillment, communication, and manifest records.

emailstring

The primary contact email. Used for voucher delivery and operational updates.

firstNamestring

The first name of the lead traveler.

lastNamestring

The last name of the lead traveler.

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

extensionsobject

Supplemental customer data, such as secondary contact info. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

*string
extensionsobject

Extended data for the booking item. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: pickupLocationCode: PCKUP-2023-8238

itemsarray[object]

Single or list of individual items within this booking.

iduuid

Booking Item ID. The unique identifier for this line item.

availabilityIdstring

The identifier for the specific availability slot selected. This ensures the booking is tied to a valid, high-integrity inventory record.

priceIdstring

The identifier for the selected price. Selection Rule: * If a price is available on the 'Price Schedule' for the selected date, Rate, and Traveler Type, that ID MUST be used.

  • If no scheduled price exists, the ID from the static Rate 'prices' array MAY be used as a fallback.

This field is critical for ensuring the guest is charged the correct seasonal or date-specific Rate.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the 'id' field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

quantityint32

Quantity of the booking item. The number of units reserved for this specific line item. Must be within the minTravelers and maxTravelers constraints defined at the Rate level.

rateobject
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
rateIduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

startTimedate-time

The scheduled start date and time for the experience. Must align with a valid availability slot for the selected Rate.

statusstring

The current lifecycle state of the booking item.

  • OPEN: Active and valid for travel.
  • REDEEMED: Guest has checked in or ticket was scanned.
  • CANCELLED: Item is voided but record remains.
  • REFUNDED: Item is voided and funds returned.
  • EXPIRED: Validity window passed without redemption or confirmation.
  • DELETED: Removed from a hold before finalization.
  • UNKNOWN: State is undefined or out of sync.

Enum: CANCELLED,DELETED,EXPIRED,OPEN,REDEEMED,REFUNDED,UNKNOWN

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

extobject

Extended data for the booking item. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: childSeat: 'No'

travelerobject

Individual participant details for the booking. These details are used for manifests, eligibility verification, and on-site identification.

firstNamestring

First name of the individual traveler.

lastNamestring

Last name of the individual traveler.

emailstring

Individual email address, if different from the lead customer.

ageint32

Actual age of the traveler in years.

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

pattern: ^[A-Za-z]{3}$

genderstring

Gender of the traveler.

Enum: FEMALE,MALE

isLeadboolean

Indicates if this is the primary traveler for the item. Each Booking Item must have exactly one lead traveler.

langstring

Spoken language as an ISO 639-3 code (e.g., ENG, FRA, DEU). code'

pattern: ^[A-Za-z]{3}$

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

pattern: ^\+\d[\d\s\(\)-]+$

extensionsobject

Supplemental data such as dietary requirements or accessibility needs. Extensions may be used to exchange required operational or commercial information.

example: specialRequest: Wheelchair accessibility

*string
typestring

Matches the 'ageBand' from the RatePrice (e.g., ADULT, CHILD). Used for price validation.

answersarray[object]
question_idstring
partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

resellerBookingRefstring

Reseller reference ID for the booking, used by the Reseller API client to provide their own reference for the booking.

statusstring

The overall status of the booking.

  • OPEN: Confirmed and active.
  • PENDING: Awaiting final processing.
  • OLCI_PENDING: Awaiting online check-in.
  • FAILED: Booking was not successful.
  • REDEEMED: All items have been scanned.
  • CANCELLED: Entire booking is voided.

Enum: CANCELLED,DELETED,FAILED,OPEN,PENDING,REDEEMED,UNKNOWN

ticketsarray[object]

Tickets for the booking. The reservation system is ultimately responsible for the number of tickets being returned, and the value each ticket is redeemable for. Tickets usually represent a single item or group of items, but this varies from system to system. Please contact the reservation system you are connecting to for additional details on how their response tickets are structured.

barcodeobject

Contains the digital fulfillment data for a ticket. This information is used to generate the visual or textual voucher presented at the venue.

formatstring

The technical format or symbology of the barcode. This dictates how the Reseller should render the barcode image or text on the guest's ticket.

Enum: UNKNOWN,QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

valuestring

The actual data string encoded in the barcode. This is the unique identifier that the venue's scanner will read.

bookingItemIdsarray[string]

One or more references to Booking Item IDs.

guestsarray[object]

The number of guests for this ticket.

countinteger

Number of guests.

typeCodestring

This should contain the Rate.Prices[].Traveler.AgeBand from the Price referenced by the Booking Item that corresponds to this ticket.

Enum: INFANT,CHILD,YOUTH,ADULT,SENIOR,STUDENT,ANY

typeModifierstring

This should contain the Rate.Prices[].Traveler.Modifier from the Price referenced by the Booking Item that corresponds to this ticket.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

typeNamestring

This should contain the Rate.Prices[].Traveler.Name from the Price referenced by the Booking Item that corresponds to this ticket.

leadTravelerobject

Individual participant details for the booking. These details are used for manifests, eligibility verification, and on-site identification.

firstNamestring

First name of the individual traveler.

lastNamestring

Last name of the individual traveler.

emailstring

Individual email address, if different from the lead customer.

ageint32

Actual age of the traveler in years.

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

pattern: ^[A-Za-z]{3}$

genderstring

Gender of the traveler.

Enum: FEMALE,MALE

isLeadboolean

Indicates if this is the primary traveler for the item. Each Booking Item must have exactly one lead traveler.

langstring

Spoken language as an ISO 639-3 code (e.g., ENG, FRA, DEU). code'

pattern: ^[A-Za-z]{3}$

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

pattern: ^\+\d[\d\s\(\)-]+$

extensionsobject

Supplemental data such as dietary requirements or accessibility needs. Extensions may be used to exchange required operational or commercial information.

example: specialRequest: Wheelchair accessibility

*string
typestring

Matches the 'ageBand' from the RatePrice (e.g., ADULT, CHILD). Used for price validation.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: additionalTicketInfo: Carry Prints

statusstring

Ticket status

Enum: CANCELLED,DELETED,EXPIRED,OPEN,REDEEMED,REFUNDED,UNKNOWN

timelinearray[object]

Timeline of actions taken on the Booking.

timestampdate-time
typeOfstring

Enum: CANCELLED,DELETED,OPEN,PENDING,REDEEMED,RELEASED,TICKETS_ADDED,UNKNOWN

versionint32

Internal version number

answersarray[object]
question_idstring
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
400

Bad Request

401

Unauthorized

409

Conflict

413

Entity Too Large

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Cancel an existing booking.

Cancel an existing booking.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
booking_idstring

ID of the booking to cancel.

Request Body
objectobject
reasonstring

This value indicates the reason that the cancellation request was sent.

  • CUSTOMER is the most common and indicates that the customer requested the cancellation.
  • SUPPLIER indicates that the Supplier requested the cancellation (possibly due to bad weather or other unexpected circumstances).
  • FRAUD indicates that the booking cancellation is being requested by the Reseller because it has been determined the booking was fraudulent.
  • OTHER indicates that the cancellation reason does not fall into one of these categories. This SHOULD be used only in rare circumstances.

Enum: CUSTOMER,SUPPLIER,FRAUD,OTHER

reasonDetailsstring

This field provides additional details about the reason for the cancellation request. It may include information from the customer, Supplier, or support agent about the reason for the cancellation (especially in the case of requesting a cancellation outside of the normal policy which may require manual approval from the Supplier).

PUT /bookings/cancel/{booking_id}
Responses
204

Cancel a booking

No response body
400

Bad Request

401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response

Retrieve a single booking.

Retrieve a single booking.

Auth
Headers
X-Request-IDstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

Path Params
booking_idstring

ID of the booking to retrieve.

GET /bookings/{booking_id}
Responses
200

Retrieve a single booking

objectobject
bookingobject

The primary container for a transaction. It links a customer to one or more booking items and manages the overall lifecycle, fulfillment, and cancellation eligibility.

barcodeobject

Contains the digital fulfillment data for a ticket. This information is used to generate the visual or textual voucher presented at the venue.

formatstring

The technical format or symbology of the barcode. This dictates how the Reseller should render the barcode image or text on the guest's ticket.

Enum: UNKNOWN,QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

valuestring

The actual data string encoded in the barcode. This is the unique identifier that the venue's scanner will read.

iduuid

Unique identifier for the booking. If a valid UUID is provided during creation, it will be used as the ID. Otherwise, a system-generated ID is assigned.

holdIduuid

The ID of a temporary hold. Provide this to convert a reserved inventory slot into a confirmed booking.

cancelableboolean

Indicates if the booking can currently be canceled. This is calculated based on the 'cancelable' property of the underlying Rates and the applicable cutoff windows.

customerobject

Information about the lead customer responsible for the booking. This data is used for fulfillment, communication, and manifest records.

emailstring

The primary contact email. Used for voucher delivery and operational updates.

firstNamestring

The first name of the lead traveler.

lastNamestring

The last name of the lead traveler.

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

extensionsobject

Supplemental customer data, such as secondary contact info. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

*string
extensionsobject

Extended data for the booking item. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: pickupLocationCode: PCKUP-2023-8238

itemsarray[object]

Single or list of individual items within this booking.

iduuid

Booking Item ID. The unique identifier for this line item.

availabilityIdstring

The identifier for the specific availability slot selected. This ensures the booking is tied to a valid, high-integrity inventory record.

priceIdstring

The identifier for the selected price. Selection Rule: * If a price is available on the 'Price Schedule' for the selected date, Rate, and Traveler Type, that ID MUST be used.

  • If no scheduled price exists, the ID from the static Rate 'prices' array MAY be used as a fallback.

This field is critical for ensuring the guest is charged the correct seasonal or date-specific Rate.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the 'id' field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

quantityint32

Quantity of the booking item. The number of units reserved for this specific line item. Must be within the minTravelers and maxTravelers constraints defined at the Rate level.

rateobject
iduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

namestring

Name used to identify a specific Product Option/Rate or variation

titlestring

Customer-facing title for specific Option/Rate.

descriptionstring

A detailed explanation of the specific activity, experience, or event offered in this Option/Rate. This long-form content is meant to appear on Product detail pages, highlighting experience-specific details or restrictions.

codestring

Code of the Rate

versionint32

Version of this object. Increments every update.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: cancelPolicyDescription: Full refund available up to 24 hours before start time.

productIduuid

The unique identifier of the parent Product associated with this Rate. This ID matches the id field of the parent Product entity and is used to maintain the relational link between the specific Rate option and its high-level Product definition.

optionIduuid

Operator's internal identifier for this rate. This field's value is not consumed by this API, and this information is provided for informational purposes only.

typestring

Defines the inventory and booking logic for the Rate.

  • FREESALE indicates constant availability without fixed capacity limits.
  • PASS is used for open-dated entry or multi-use Products.
  • RESERVED indicates fixed capacity requiring specific date/time selection.

Enum: FREESALE,PASS,RESERVED,UNKNOWN

cancelableboolean

Defines the cancellation policy for this Rate. When true, it indicates that bookings made under this Rate are eligible for cancellation.

refundableboolean

Indicates if a booking made with this Rate is eligible for a monetary refund. This defines the financial policy, whereas cancelable defines the operational ability to void a booking.

cutoffint64

The Rate's "cutoff" property is subtracted from the event's start time (the availability start time) when determining the latest possible time a hold can be made against a particular start time.

holdableboolean

Indicates whether this Rate supports the creation of a temporary booking hold. If true, inventory can be reserved for a limited time to finalize guest details prior to formal confirmation.

holdablePeriodint64

The maximum duration (in seconds) that a hold remains valid. Resellers must confirm the booking within this window; otherwise, the hold will automatically expire and the inventory will be released.

partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

maxTravelersint64

The maximum number of travelers (inclusive) allowed within a single Booking or Hold item. Requests exceeding this limit must be split into separate items or bookings.

minTravelersint64

The minimum number of travelers (inclusive) required for a single Booking or Hold item. The request will be rejected if the guest count is below this threshold.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

hoursarray[object]

The operational or opening hours for the experience. This defines the physical operating window of the venue and is distinct from real-time booking availability or capacity data.

datesarray[string]

Specific dates to which this rule applies. Use this for holiday-specific hours or scheduled closures.

daysOfWeekarray[integer]

Applicable days of the week. 1 is Monday, 7 is Sunday. If empty, the rule is assumed to apply only to the provided dates.

timesarray[object]

The specific open and close time intervals for this rule.

closestring

Close time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

openstring

Open time in UTC, 24-hour time, with 'HH:mm' format

pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

timezonestring

The IANA timezone string (e.g., 'America/New_York'). If empty, open and close times are interpreted as UTC.

validobject

The date and time window during which this Rate is active and available for booking.

fromdate-time

The valid starting time (ISO 8601) of the validity period. The Rate is not active or bookable before this time.

untildate-time

The valid ending time (ISO 8601) of the validity period. The Rate expires and ceases to be bookable after this time.

pricesarray[object]

A list of pricing configurations for this Rate. This defines the cost structure and any applicable Traveler Type distinctions.

iduuid

Unique identifier for this Rate price

includedTaxesarray[object]

Breakdown of taxes included in the price dedicated to government taxes and fees.

currencystring

The currency code (ISO 4217 format) in which the tax amount is expressed (e.g., "USD", "EUR"). The currency must match the currency used for the item's price (original, net or retails). (required from Supplier)

pattern: ^[A-Za-z]{3}$

idstring

A unique identifier for the tax or fee. Strongly recommended for internal reference and integration purposes. (not required to be a UUID).

namestring

Human-readable title of the included taxes entry. A short, descriptive name for the tax being applied (e.g., "VAT", "City Tax"). The name should be unique. If no tax id is provided, the system will use the combination of name and currency to identify uniqueness. (required from Supplier)

originalint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the original price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

netint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the net price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

retailint64

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency. This field represents the amount of tax or fee applied to the retail price. At least one of original, net, or retail price fields must be present (conditionally required from Supplier).

labelsarray[string]

A list of filterable tags assigned to this price. Used in ChannelBindings (priceTags) to filter prices available by channel.

namestring

Human-readable name for the pricing.

netobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

originalobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

retailobject

The value represents the smallest denomination of the currency and must be provided as a whole number. The relationship between the major unit and the minor unit varies by currency. Amounts must always be interpreted according to the ISO 4217 minor unit of the provided currency.

  • original: The original price before any discounts are applied. Used to display a strike-through price in the UI.

  • net: The wholesale amount owed to the Supplier by the Reseller. This is the settlement price for this pricing tier

  • retail: The recommended selling price for the guest, inclusive of any applied discounts. This is the final price the guest pays.

amountint64

The value in the minor unit of the currency (e.g., cents). For example, $1.00 is represented as 100.

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR, GBP).

pattern: ^[a-zA-Z]{3}$

statusstring

Determines if bound channels can list this price. Only 'ACTIVE' prices should be sold.

Enum: ACTIVE,INACTIVE

travelerTypeobject

Defines the eligibility requirements and classification for a traveler. Includes age ranges, modifiers, and display information.

ageBandstring

The primary age-based category for the traveler.

Enum: ADULT,ANY,CHILD,INFANT,SENIOR,STUDENT,UNKNOWN,YOUTH

extensionsobject

Extended data of the travelerType. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information. example: maxWeight: 85kg

maxAgeint32

The maximum age (inclusive) allowed for this traveler type.

minAgeint32

The minimum age (inclusive) required for this traveler type.

modifierstring

Additional qualification required for this price. Defaults to 'NONE' unless specific residency or status (e.g., MILITARY) is required.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

namestring

Name of the traveler type, e.g. Diver, Observer, Adult, Military

titlestring

Customer-facing title for specific unit/traveler.

descriptionstring

Structured description of the age, membership or role of the traveler this price is intended for.

constraintsarray[object]
typestring

The category of the restriction.

Enum: MIN_AGE,MAX_AGE,MIN_WEIGHT,MAX_WEIGHT,MIN_HEIGHT,MAX_HEIGHT,REQUIRED_DOCUMENTS,OTHER

minnumber

The minimum value of this constraint.

maxnumber

The maximum value of this constraint.

unitIdstring

Unique identifier for RatePrice which is Supplier specific e.g. Supplier's SKU code

extensionsobject

Extended data for the rate price. Container for partner-specific data that is not otherwise represented in the core schema. Extensions may be used to exchange required operational or commercial information.

locationsarray[object]
namestring

Technical or internal name of the location.

titlestring

Customer-facing name of the location.

descriptionstring

Informational description of the site.

addressobject

A structured physical address for a venue, pickup point, or Supplier headquarters.

countryCodestring

ISO 3366-1 alpha-3 format

pattern: ^[A-Za-z]{3}$

googlePlaceIdstring

DEPRECATED. Use the references array instead for platform-specific location IDs.

localitystring

Locality is usually the city or town name.

postalCodestring

The postal or ZIP code.

regionstring

Region is usually the state, province, or territory.

streetAddressstring

Primary address line (street name and number).

longLatobject

Geographic coordinates for mapping and proximity searches.

latitudenumber

Latitude in decimal degrees.

longitudenumber

Longitude in decimal degrees.

websitestring

URL for the location's official website or info page.

notesstring

Essential arrival instructions or guide tips.

typestring

The operational role of this location.

Enum: PRIMARY,OTHER,START,END,VISITED,ITINERARY_ITEM,POINT_OF_INTEREST,ADMISSION_INCLUDED,REDEMPTION,MEETING_POINT

orderinteger

The sequence of this location in the itinerary (starts at 1).

referencesarray[object]
platformstring

The external mapping or discovery service providing the reference ID.

Enum: GOOGLE_PLACE_ID,APPLE_PLACE_ID,TRIPADVISOR_LOCATION_ID,YELP_PLACE_ID,FACEBOOK_PLACE_ID,FOURSQUARE_PLACE_ID,BAIDU_PLACE_ID,AMAP_PLACE_ID,OTHER

idstring

The unique identifier for the location on the specified platform. Example: 'ChIJN1t_tDeuEmsRUsoyG83frY4' for a Google Place ID.

namestring

The name of the location as registered on the external platform.

urlstring

The direct URL to the location's page on the platform.

bookingQuestionsarray[object]

An array of questions that can be asked during the booking flow. Visible when the bookableQuestions query parameter is set to true.

idstring
typestring

Describes the format of the answer expected by this question. - text, email and phone are all basic text types. - integer and decimal are numeric. - boolean is true/false. - choice, multiple_choice and other ask the user to select from a list of options. - date expects a date string, in the format YYYY-MM-DD. time expects a 24-hour hour and minute HH:mm. datetime expects a full ISO 8601 datetime stamp, YYYY-MM-DDTHH:mm:ssZ.

Enum: text,email,phone,integer,decimal,boolean,choice,multiple_choice,other,date,time,datetime

textarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

requiredboolean
piiboolean
scopestring

A scope of booking is applied once for the whole group. A scope of guest is repeated for every guest.

Enum: booking,guest

phasestring

Indicates at which phase of the booking flow an answer is collected.

Enum: hold,booking

optionsarray[object]

Only populated if type is one of "choice" or "multichoice".

labelarray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

constraintsarray[object]
typestring

Enum: height_cm,height_m,height_in,height_ft,weight_kg,weight_lb,string_length,numeric_range,selection_count,regex,purchase_limits,per_booking_purchase_limit,per_guest_purchase_limit,per_product_purchase_limit,per_day_purchase_limit

minnumber
maxnumber
messagearray[object]

A collection of localized text entries representing the same content in multiple languages or formats.

textstring

The localized text value.

localestring

Language and region identifier. MUST be a valid BCP 47 language tag.

formatstring

Format of the text content.

Enum: plain,html,markdown

patternstring
dependencyobject
questionIdstring
answerstring
rateIduuid

ID of the Rate. This field can optionally be provided on create. If a valid UUID is provided on create, it will be saved as the object's ID. Otherwise, the object will receive a generated ID.

startTimedate-time

The scheduled start date and time for the experience. Must align with a valid availability slot for the selected Rate.

statusstring

The current lifecycle state of the booking item.

  • OPEN: Active and valid for travel.
  • REDEEMED: Guest has checked in or ticket was scanned.
  • CANCELLED: Item is voided but record remains.
  • REFUNDED: Item is voided and funds returned.
  • EXPIRED: Validity window passed without redemption or confirmation.
  • DELETED: Removed from a hold before finalization.
  • UNKNOWN: State is undefined or out of sync.

Enum: CANCELLED,DELETED,EXPIRED,OPEN,REDEEMED,REFUNDED,UNKNOWN

supplierIduuid

The unique identifier of the Supplier that owns and operates this Product. This ID matches the id field of the parent Supplier entity and is used to maintain the relational link between the Supplier's organization and their inventory.

extobject

Extended data for the booking item. Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: childSeat: 'No'

travelerobject

Individual participant details for the booking. These details are used for manifests, eligibility verification, and on-site identification.

firstNamestring

First name of the individual traveler.

lastNamestring

Last name of the individual traveler.

emailstring

Individual email address, if different from the lead customer.

ageint32

Actual age of the traveler in years.

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

pattern: ^[A-Za-z]{3}$

genderstring

Gender of the traveler.

Enum: FEMALE,MALE

isLeadboolean

Indicates if this is the primary traveler for the item. Each Booking Item must have exactly one lead traveler.

langstring

Spoken language as an ISO 639-3 code (e.g., ENG, FRA, DEU). code'

pattern: ^[A-Za-z]{3}$

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

pattern: ^\+\d[\d\s\(\)-]+$

extensionsobject

Supplemental data such as dietary requirements or accessibility needs. Extensions may be used to exchange required operational or commercial information.

example: specialRequest: Wheelchair accessibility

*string
typestring

Matches the 'ageBand' from the RatePrice (e.g., ADULT, CHILD). Used for price validation.

answersarray[object]
question_idstring
partnerIdstring

A Partner ID can be used to store a unique key in a partner's system.

resellerBookingRefstring

Reseller reference ID for the booking, used by the Reseller API client to provide their own reference for the booking.

statusstring

The overall status of the booking.

  • OPEN: Confirmed and active.
  • PENDING: Awaiting final processing.
  • OLCI_PENDING: Awaiting online check-in.
  • FAILED: Booking was not successful.
  • REDEEMED: All items have been scanned.
  • CANCELLED: Entire booking is voided.

Enum: CANCELLED,DELETED,FAILED,OPEN,PENDING,REDEEMED,UNKNOWN

ticketsarray[object]

Tickets for the booking. The reservation system is ultimately responsible for the number of tickets being returned, and the value each ticket is redeemable for. Tickets usually represent a single item or group of items, but this varies from system to system. Please contact the reservation system you are connecting to for additional details on how their response tickets are structured.

barcodeobject

Contains the digital fulfillment data for a ticket. This information is used to generate the visual or textual voucher presented at the venue.

formatstring

The technical format or symbology of the barcode. This dictates how the Reseller should render the barcode image or text on the guest's ticket.

Enum: UNKNOWN,QR_CODE,EAN13,CODE128,UPCA,TEXT,CODE39,URL,INTERLEAVED

valuestring

The actual data string encoded in the barcode. This is the unique identifier that the venue's scanner will read.

bookingItemIdsarray[string]

One or more references to Booking Item IDs.

guestsarray[object]

The number of guests for this ticket.

countinteger

Number of guests.

typeCodestring

This should contain the Rate.Prices[].Traveler.AgeBand from the Price referenced by the Booking Item that corresponds to this ticket.

Enum: INFANT,CHILD,YOUTH,ADULT,SENIOR,STUDENT,ANY

typeModifierstring

This should contain the Rate.Prices[].Traveler.Modifier from the Price referenced by the Booking Item that corresponds to this ticket.

Enum: EU_CITIZEN,GROUP,MILITARY,NONE

typeNamestring

This should contain the Rate.Prices[].Traveler.Name from the Price referenced by the Booking Item that corresponds to this ticket.

leadTravelerobject

Individual participant details for the booking. These details are used for manifests, eligibility verification, and on-site identification.

firstNamestring

First name of the individual traveler.

lastNamestring

Last name of the individual traveler.

emailstring

Individual email address, if different from the lead customer.

ageint32

Actual age of the traveler in years.

countrystring

This MUST be a valid ISO 3166-1 alpha-2 or alpha-3 country code of the customer (e.g., USA, GBR, CAN).

pattern: ^[A-Za-z]{3}$

genderstring

Gender of the traveler.

Enum: FEMALE,MALE

isLeadboolean

Indicates if this is the primary traveler for the item. Each Booking Item must have exactly one lead traveler.

langstring

Spoken language as an ISO 639-3 code (e.g., ENG, FRA, DEU). code'

pattern: ^[A-Za-z]{3}$

phonestring

Phone number of the lead customer. Please follow this style guide when formatting phone numbers: https://developers.google.com/style/phone-numbers

pattern: ^\+\d[\d\s\(\)-]+$

extensionsobject

Supplemental data such as dietary requirements or accessibility needs. Extensions may be used to exchange required operational or commercial information.

example: specialRequest: Wheelchair accessibility

*string
typestring

Matches the 'ageBand' from the RatePrice (e.g., ADULT, CHILD). Used for price validation.

extensionsobject

Container for partner-specific data that is not otherwise represented in the core schema.Extensions may be used to exchange required operational or commercial information.

example: additionalTicketInfo: Carry Prints

statusstring

Ticket status

Enum: CANCELLED,DELETED,EXPIRED,OPEN,REDEEMED,REFUNDED,UNKNOWN

timelinearray[object]

Timeline of actions taken on the Booking.

timestampdate-time
typeOfstring

Enum: CANCELLED,DELETED,OPEN,PENDING,REDEEMED,RELEASED,TICKETS_ADDED,UNKNOWN

versionint32

Internal version number

answersarray[object]
question_idstring
metaobject

Request meta data

reqIdstring

Request ID for request tracking. An identifier unique to the request, which is passed from the Reseller through Travel Curious to the operator. If the Reseller does not provide a request ID, Travel Curious will generate an ID and return it to the Reseller.

dataobject

A map of supplementary metadata. This may include non-breaking warnings, system-specific flags, or additional context regarding the response or error state.

*string
401

Unauthorized

404

Not Found

503

The server is temporarily unavailable, either because the server is under maintenance, or overloaded (accepted too many requests in too short a time).

Response