Title
Page icon
Create new category
Edit page index title
Edit category
Edit link
Products
In the Operator Booking System, tours & attractions are represented by a three-tiered Product schema:
Products are used as a high-level description of a Supplier's tour or attraction.
Options are lightweight objects that add one or more variations to a Product.
Units outline the specific types of reservations that can be made against an Option.
Products MUST have at least one option and one unit in order to be valid.
Reference can be found here
Product
A Product represents a tour or attraction provided by a Supplier. Each Product must have an id unique within the Supplier.
Products are further defined by their options and units. Availability calls against a Product require an optionId; while all calls to Booking endpoints require a Product, option, and unit ID to be specified.
The Product object's fields, value types and descriptions are enumerated below.
Field Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Product Identifier unique within the Supplier ( |
| string | Yes | Human-readable name for easy identification. Not to be shared with customers ( |
| string | No | An internal reference identifier used by the Supplier ( |
| string(RFC 5646) | Yes | Primary language of the product |
| string | Yes | Valid IANA timezone code |
| bool | *Yes | *Indicates whether the client can expect an immediate confirmation of a booking with this product |
| bool | Yes | Indicates whether the client can expect immediate delivery of the customer's tickets |
| string(enum) | Yes | This indicates whether the Product can be redeemed only for a specific start time ( |
| array[string(enum)] | Yes | Indicates the operator's desired format for the ticket barcode |
| array[string(enum)] | Yes | A value of |
| string(enum) | Yes | This indicates the redemption requirements for the customer. A value of |
| string(enum)
| No | This indicates the type of product whether it is |
| array[Capability] | No | A list of optional and required capabilities available for this product |
| array[Option] | Yes | A list of product variations available to reserve under this product |
Support for delayed booking confirmations (instantConfirmation: false) is currently unavailable.
Note on Availabilities
Please note that the OBS specification requires that all products must return valid availabilities through the API. Availabilities with unlimited capacity may still be specified through the use of the FREESALE availability status.
Note on Times
It is important that the timeZone on the product accurately reflect the local offset of the attraction. This field is used to calculate the local time values returned through the availabilities endpoint.
Capabilities
The following capabilities are supported by the Product object (click the link to learn more!):
Option
An Option represents a variant of a Product. Each Product must contain one or more options, which must have an id unique within the Product.
The Option object's fields, value types and descriptions are enumerated below.
Field Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Identifies a unique option within a Product ( |
| string | Yes | Human-readable name for easy identification. Not to be shared with customers ( |
| string | No | An internal reference identifier used by the Supplier ( |
| array[Unit] | Yes | A list of units available to reserve under this option |
Capabilities
The following capabilities are supported by the Option object (click the link to learn more!):
Unit
The Unit object enumerates the different types of guests an option may be booked under. Units have an identifier that must be unique within their option. They also bear a type field which may be populated with one of the values below:
The Unit object's fields, value types and descriptions are enumerated below.
Field Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | A unique identifier within the option ( |
| string | Yes | Human-readable name for easy identification. Not to be shared with customers ( |
| string | No | An internal reference identifier used by the Supplier ( |
| string(Unit Types) | Yes | The type of traveler this unit represents |
Note on Unit Types
One of
ADULT,CHILD,INFANT,YOUTH,STUDENT,SENIORmay be used to describe a particular age or occupation of a customerThe
TRAVELERtype may be used instead of the above listed types, if distinctions between age or occupation are not relevant to the product.
Capabilities
The following capabilities are supported by the Unit object (click the link to learn more!):
Questions? We'd love to hear them. Contact Travel Curious Support.