Content (In Member Review)
Adds extra content fields to OCTO Core object schemas on select endpoints to provide detailed descriptive information about supplier, products, options, units, booking, etc.
Last updated
Adds extra content fields to OCTO Core object schemas on select endpoints to provide detailed descriptive information about supplier, products, options, units, booking, etc.
Last updated
This new proposed capability is currently undergoing Specification Committee and Member reviews.
We'd love to hear your feedback on this draft! Use #content-capability-development channel on OCTO Slack, or comment on on the draft here:
https://docs.google.com/spreadsheets/d/12bAjNcmW92ZIsghLNfDlpuZALzO7GLkOODWrocu3sic/edit?usp=sharing
To use this capability add octo/content
to your Octo-Capabilities
header.
This capability extends the Supplier, Product, Option, Unit, Availability and Booking schemas to add additional descriptive content that can be used to populate product listings as well as for various for other use cases that require this information.
Since suppliers and their systems may offer content in different languages, this content capability supports localization through Accept-Language
request header as well as Content-Language
and Available-Languages
response headers as described below.
Header | Required | Description |
---|---|---|
Header | Required | |
---|---|---|
Content capability enriches existing OCTO Core Supplier, Product, Option, Unit, Availability and Booking objects with additional information listed below when octo/content
is added to the Octo-Capabilities
header of the request of any OCTO Core endpoint containing this object, given that the supplier system supports this capability.
Please select a tab below to view exact fields and details for each object:
Supplier object will be extended with additional information about the supplier as indicated below.
Please note introduction of an optional venue
concept. venue
object, whose fields mostly repeat supplier
ones, is designed for larger suppliers that operate multiple locations, venues, brands or destinations that may need to have different more specific supplier content information, as show in example below.
Working draft in Google Sheets: https://docs.google.com/spreadsheets/d/12bAjNcmW92ZIsghLNfDlpuZALzO7GLkOODWrocu3sic/edit?gid=478235837#gid=478235837
Fields | Type (Format) | Field Description |
---|---|---|
Fields | Type (Format) | Field Description |
---|---|---|
Fields | Type (Format) | Field Description |
---|---|---|
Fields | Type (Format) | Field Description |
---|---|---|
Fields | Format (Type) | Field Description |
---|---|---|
Fields | Type (Format) | Field Description |
---|---|---|
...rest of headers...
-
See Headers section.
Accept-Language
Optional
This optional request header allows to specify preferred languages for content in the response.
A language code that specifies the language of the product content. This code must conform to the BCP 47 standard, following RFC 5646 and RFC 4647 specifications for language tags. Examples include en-US
for American English, fr-FR
for French (France), and es-ES
for Spanish (Spain).
This header also supports a comma-separated list of language tags with optional quality values (q
) to indicate priority, such as en-US, fr-CA;q=0.8, fr;q=0.7
, which prioritizes American English, followed by Canadian French, and general French. Note this only determines preference and does not guarantee location has content available in the desired language. The *
(wildcard) can also be included, such as in en-US, fr;q=0.9, *;q=0.5
, to indicate a preference for any language if the specified ones are not available.
This header approach is defined in the HTTP/1.1 specification (RFC 7231) and is commonly used for internationalized websites and services to enhance user experience. For more details, visit MDN Web Docs: Accept-Language - HTTP
...rest of headers...
-
See Headers section.
Content-Language
Required with octo/content
This header indicates the language of the content fields provided in the response.
Only one language is returned per response, following BCP 47 standards (e.g., en-US
, fr-FR
).
To retrieve content in multiple languages, separate requests must be made.
This header is also defined in the HTTP/1.1 specification (RFC 7231) and follows existing standard.MDN Web Docs: Content-Language - HTTP Example:
Available-Languages
This header lists all the languages in which content is available, helping clients understand available language options without additional requests.
Also following BCP 47 standards (e.g., en-US
, fr-CA
, es-ES
),
This header is commonly used in APIs, but is non-standard HTTP header.
legalName
string | null
The official registered name of the company's entity or organization, as recognized by legal or governmental authorities. This name is typically used in formal or legal contexts, such as contracts or regulatory filings. It provides an authoritative identifier for the supplier's legal status. This field can be null if the legal name is unavailable or not recorded in the supplier system.
shortDescription
string | null
A customer-facing brief summary or description of the supplier, designed to provide a concise overview of the business and its key characteristics. This field is intended to give end customers a quick understanding of the supplier's purpose, services, or unique offerings. It should highlight notable attributes in a professional and engaging manner to attract and inform customers. The recommended length is 150-300 characters to ensure clarity and brevity. This field can be null if a short description is not available in the system.
contact.addressLine1
string | null
The primary address line, typically used for the street address, P.O. box, or company name. This field is equivalent to address but structured separately for where this level of detail is needed. It can be null if no address information is provided.
contact.addressLine2
string | null
The secondary address line for additional details, such as apartment numbers, suites, units, or building names. This field is equivalent to part of contact.address in OCTO Core but structured separately for where this level of detail is needed. It can be null if not applicable.
contact.city
string | null
The name of the city or locality associated with the address. This value can be null if the city is not available or not required.
contact.stateProvinceRegion
string | null
The state, province, or region associated with the address. This field is equivalent to part of address but structured separately for cases where this information is critical. It can be null if such administrative divisions are not applicable.
contact.postalCode
string | null
The postal code or ZIP code for the address. This field is equivalent to part of address but structured separately for postal-specific details.
contact.country
string | null (ISO 3166-1 alpha-2)
The two-letter country code for the address, formatted in ISO 3166-1 alpha-2 (e.g., "US" for the United States). This field is equivalent to part of address but structured separately for identifying the country. It can be null if not provided.
contact.latitude
float | null (decimal degrees)
The latitude of the location, expressed in decimal degrees. This geospatial coordinate is structured separately for more precise geographic pinpointing.
contact.longitude
float | null (decimal degrees)
The longitude of the location, expressed in decimal degrees. Similar to latitude, this field provides geospatial data that complements address.
contact.externalPlatformLocations[]
array<object> | null (externalPlatformLocation object)
A list of unique identifiers for the location from external platforms, such as Google Maps, Apple Maps, Tripadvisor, or other mapping and location services. This field is an optional extension to address field providing external references for mapping, third-party integrations, or enhanced location visibility. These references help integrate the supplier’s location with third-party systems for seamless navigation or cross-platform mapping. It may be null if no identifiers exist in the supplier's system.
contact.externalPlatformLocations[].type
string (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)
The type of external platform providing the location identifier. Possible values include: GOOGLE_PLACE_ID: A unique identifier for a location on Google Maps, retrievable via the Google Maps API. APPLE_PLACE_ID: A unique identifier for a location in Apple Maps, retrievable via Apple’s Maps API. TRIPADVISOR_LOCATION_ID: An identifier for a location on Tripadvisor, used to link reviews, ratings, or other data from the Tripadvisor Content API. YELP_PLACE_ID: A unique identifier for a business or location on Yelp, often tied to user reviews and ratings. FACEBOOK_PLACE_ID: An identifier for a location on Facebook, linking to the business’s page or check-in location. FOURSQUARE_PLACE_ID: A unique identifier for a venue or location in Foursquare’s database. BAIDU_PLACE_ID: An identifier for a location in Baidu Maps, primarily used in China. AMAP_PLACE_ID: A unique identifier for a location in Amap (Gaode Maps), another popular mapping service in China. OTHER: A generic option for identifiers from platforms not explicitly listed.
string
The unique identifier assigned to the supplier’s location by the specified platform. Each type corresponds to a specific kind of ID: GOOGLE_PLACE_ID: The unique place_id from Google Maps, retrievable through the Google Places API. APPLE_PLACE_ID: The place.id provided by Apple Maps API for a location. TRIPADVISOR_LOCATION_ID: The location_id from the Tripadvisor Content API, linking to reviews and other Tripadvisor data. YELP_PLACE_ID: The unique ID for a business location on Yelp. FACEBOOK_PLACE_ID: The page or place ID used by Facebook for location check-ins or business pages. FOURSQUARE_PLACE_ID: The venue ID from Foursquare’s API, providing location-specific data. BAIDU_PLACE_ID: The place_id from Baidu Maps, widely used in China. AMAP_PLACE_ID: The unique place_id in Amap, a mapping service popular in China. This field may be null if the identifier is unavailable in the supplier's system.
string | null
The name of the location as listed on the external platform. This provides a human-readable reference for the location and serves as an additional identifier for cross-platform consistency. This field may be null if the name is not available from the platform.
contact.externalPlatformLocations[].url
string (uri) | null
The URL of the supplier’s listing on the external platform. For example: A Google Maps link for a specific place (https://maps.google.com/?q=place_id:<id>). A Tripadvisor URL for the location's profile page. A Yelp link to the business’s review page. This field may be null if no URL is provided by the platform or if it is unavailable.
logoImages[]
array<object> | null (logoImages object)
An array containing the supplier's logo images. Multiple variations of the logo can be provided to support different use cases. The objects must be ordered according to the supplier's preference, ensuring that the most relevant version is presented first. This field can be null if no logo images are available.
logoImages[].url
string (uri) | null
The URL of the logo image file, which should be a direct link to the image hosted on a server. Recommended formats include PNG or SVG for scalability and quality. This field should not point to dynamic or temporary links and may be null if no logo image is available.
logoImages[].copyright
string | null
Information about the copyright status of the logo image or any applicable usage restrictions. This field may include details about ownership, licensing terms, or attribution requirements. If null, it assumes there are no copyright restrictions or attribution requirements associated with the image.
socialMedia[]
array<object> | null (socialMedia object)
An optional list of social media profiles associated with the supplier. Each object represents a single social media profile on a specific platform. These profiles are used to enhance the supplier's online presence and provide customers with additional ways to engage. This field can be null if no social media profiles are linked.
socialMedia[].platform
string (enum: FACEBOOK, X, INSTAGRAM, LINKEDIN, YOUTUBE, TIKTOK, DOUYIN, WECHAT, PINTEREST, OTHER)
The platform associated with the social media profile. Ideally, the value should be one of the predefined options, which include: FACEBOOK: The profile page on Facebook. X: The profile on X.com (formerly Twitter). INSTAGRAM: The supplier's profile on Instagram. LINKEDIN: The business's page or profile on LinkedIn. YOUTUBE: The supplier's YouTube channel or video profile. TIKTOK: The supplier's presence on TikTok. DOUYIN: The Chinese version of TikTok (Douyin). WECHAT: The supplier's profile or page on WeChat, widely used in China. PINTEREST: The supplier's presence on Pinterest for showcasing visual content. OTHER: A generic option for platforms not explicitly listed. This field ensures accurate representation of the supplier's social media presence.
socialMedia[].url
string (uri) | null
The URL of the supplier's social media profile. This link should direct users to the profile on the specified platform, enhancing accessibility and engagement. Below are examples for each platform: FACEBOOK: The URL to the business's Facebook page (e.g., https://www.facebook.com/{page_name}). X: The link to the user's profile on X.com (formerly Twitter), formatted as https://x.com/{username}. INSTAGRAM: The URL to the supplier's Instagram profile (e.g., https://www.instagram.com/{username}). LINKEDIN: The URL to the supplier's LinkedIn page (e.g., https://www.linkedin.com/company/{company_name}). YOUTUBE: The URL to the YouTube channel (e.g., https://www.youtube.com/c/{channel_name}). TIKTOK: The link to the supplier's TikTok profile (e.g., https://www.tiktok.com/@{username}). DOUYIN: The profile link on Douyin, if available, would be in a similar format as TikTok. WECHAT: WeChat profile URLs may not always be accessible publicly. If available, use a valid link. PINTEREST: The link to the Pinterest board or profile (e.g., https://www.pinterest.com/{username}). If the profile does not have a URL or is inaccessible, this field can be null.
socialMedia[].username
string | null
The username or handle associated with the supplier's social media profile on the specific platform. This helps identify the profile uniquely and may be used for searches or direct interactions on the platform. Below are platform-specific details for usernames: FACEBOOK: The page name or custom URL handle (e.g., {page_name}). X: The username or handle used on X.com (e.g., @username). INSTAGRAM: The username associated with the profile (e.g., @username). LINKEDIN: The LinkedIn handle, typically the company name (e.g., {company_name}). YOUTUBE: The channel name or user handle (e.g., {channel_name}). TIKTOK: The username used to identify the profile (e.g., @username). DOUYIN: The username used on Douyin, which is similar to TikTok. WECHAT: The WeChat ID or handle for the profile, if available. PINTEREST: The username associated with the Pinterest account (e.g., {username}). If the username is unavailable, this field can be null.
socialMedia[].profileId
string | null
The unique identifier or profile ID of the social media account. This could be a user ID or any unique string assigned by the platform to identify the profile. Below are details for each platform: FACEBOOK: The numeric ID of the page, which is used for API calls or direct identification (e.g., 1234567890). X: The user ID assigned by X.com (formerly Twitter) to uniquely identify the user, which is different from the username. INSTAGRAM: The user ID assigned by Instagram, which may differ from the public username. LINKEDIN: The company or profile ID assigned by LinkedIn, typically used for API integration. YOUTUBE: The channel ID, which uniquely identifies the YouTube channel. TIKTOK: The unique user ID assigned by TikTok to the profile. DOUYIN: The unique user ID on Douyin, similar to TikTok. WECHAT: The unique identifier for a WeChat account, which may include an official account ID. PINTEREST: The unique user ID assigned by Pinterest. This field can be null if the platform does not provide a unique identifier.
additionalContacts[]
array<object> | null (additionalContact object)
An array containing additional points of contact for partners, such as travel trade agents, connectivity partners, or customer support representatives. These contacts are intended for internal or business partner use and must not be displayed to end customers. This field provides structured details about key individuals or teams responsible for various operational or business areas. It can be null if no additional contacts are specified in the system.
additionalContacts[].fullName
string | null
The full name of the contact person, team, or department. This name should be formatted professionally, including first and last names (e.g., "John Doe") or the official title of the team or department (e.g., "Global Support Team"). This field may be null if no name is available.
additionalContacts[].role
string | null
The role or position of the contact within the supplier's organization. This field specifies the area of responsibility or expertise, such as "Head of Global Travel Trade," "Customer Support Manager," or "Connectivity Specialist." Providing a clear and professional role description helps partners understand the contact’s purpose. This field can be null if no role information is provided.
additionalContacts[].type
array<string> (enum: TRAVEL_TRADE, CONNECTIVITY, CUSTOMER_SUPPORT, OPERATIONS, CONTENT_QUALITY, FINANCE, OTHER)
This field specifies the topics or primary areas of responsibility that the contact person or team can address. Possible values include: TRAVEL_TRADE: Contacts who manage topics related to travel agents, tour operators, or other travel trade partnerships. CONNECTIVITY: Technical or operational contacts who handle topics such as API integrations, platform connectivity, or system integration issues. CUSTOMER_SUPPORT: Contacts who address customer-related topics, including complaints, queries, or troubleshooting. OPERATIONS: Contacts responsible for logistical or operational topics such as on-the-ground coordination, inventory, or day-to-day management. CONTENT_QUALITY: Contacts responsible for ensuring the accuracy, relevance, and quality of content, such as descriptions, images, or videos provided for the supplier's offerings. FINANCE: Contacts who manage financial topics, including payments, invoices, or revenue reconciliation. OTHER: A generic category for topics that do not fit the predefined options. This field ensures clarity about the contact’s expertise and the appropriate topics for communication.
additionalContacts[].telephone
string | null (E.164)
The telephone number of the contact person, team, or department, formatted in the E.164 international standard. This format includes the country code followed by the national number, with no spaces, dashes, or special characters (e.g., "+441202666903"). This number should be reachable for inquiries related to their area of expertise. The field may be null if no telephone contact is available.
additionalContacts[].email
string (email) | null
The email address of the contact person, team, or department. This email should be a valid and monitored address intended for inquiries about topics related to their area of responsibility. This field is critical for establishing efficient communication but may be null if no email address is provided.
venues[]
array<object> | null (venue object)
An array containing information about the supplier's sub-divisions, destinations, brands, or specific locations (referred to as venues). This field allows for additional structure when needed to represent more specific or localized details about the supplier. If defined, venue information should be ingested by resellers as a more specific representation of the supplier. This field can be null if no venues are applicable.
venues[].id
string
A unique identifier for the venue, used across the platform to represent this specific sub-division or location. This identifier must be unique within the supplier's system.
venues[].name
string
The name of the venue. This name should clearly represent the venue’s identity or brand, ensuring consistency across platforms and visibility to resellers. If null, resellers should use the supplier.name field as a fallback.
venues[].legalName
string | null
The official registered name of the venue's company or organization, as recognized by legal or governmental authorities. This field is used in formal or legal contexts, such as contracts or regulatory filings. If null, resellers should use the supplier.legalName field.
venues[].shortDescription
string | null
A customer-facing brief summary or description of the venue, designed to provide a concise overview of the business and its unique characteristics. This field gives customers a quick understanding of the venue’s purpose, services, or notable offerings. The recommended length is 150–300 characters to ensure clarity and brevity. If null, resellers should default to the supplier.shortDescription field.
venues[].contact
object (supplierContact object)
An object containing structured contact details for the venue, including website, email, telephone, and address information. If null, resellers should use the supplier.contact object as a fallback for these fields.
venues[].contact.website
string (uri) | null
The official website URL for the venue. This can link directly to a page about the venue or its specific services. If null, resellers should use supplier.contact.website.
venues[].contact.email
string (email) | null
The email address for customer service inquiries for the venue. This email should be monitored for resolving queries specific to the venue. If null, resellers should use supplier.contact.email.
venues[].contact.telephone
string | null (E.164)
The telephone number for customer service inquiries specific to the venue, formatted in the E.164 international standard. If null, resellers should use supplier.contact.telephone.
venues[].contact.address
string | null
The full mailing address of the location as a single string. It includes street address, city, state, postal code, and country. If no address is provided, this field can be null. For structured details, use the additional address-related fields
venues[].contact.addressLine1
string | null
The primary address line, typically used for the street address, P.O. box, or company name. This field is equivalent to address but structured separately for where this level of detail is needed. It can be null if no address information is provided.
venues[].contact.addressLine2
string | null
The secondary address line for additional details, such as apartment numbers, suites, units, or building names. This field is equivalent to part of contact.address in OCTO Core but structured separately for where this level of detail is needed. It can be null if not applicable.
venues[].contact.city
string | null
The name of the city or locality associated with the address. This value can be null if the city is not available or not required.
venues[].contact.stateProvinceRegion
string | null
The state, province, or region associated with the address. This field is equivalent to part of address but structured separately for cases where this information is critical. It can be null if such administrative divisions are not applicable.
venues[].contact.postalCode
string | null
The postal code or ZIP code for the address. This field is equivalent to part of address but structured separately for postal-specific details.
venues[].contact.country
string | null (ISO 3166-1 alpha-2)
The two-letter country code for the address, formatted in ISO 3166-1 alpha-2 (e.g., "US" for the United States). This field is equivalent to part of address but structured separately for identifying the country. It can be null if not provided.
venues[].contact.latitude
float | null (decimal degrees)
The latitude of the location, expressed in decimal degrees. This geospatial coordinate is structured separately for more precise geographic pinpointing.
venues[].contact.longitude
float | null (decimal degrees)
The longitude of the location, expressed in decimal degrees. Similar to latitude, this field provides geospatial data that complements address.
venues[].contact.externalPlatformLocations[]
array<object> | null (externalPlatformLocation object)
A list of unique identifiers for the location from external platforms, such as Google Maps, Apple Maps, Tripadvisor, or other mapping and location services. This field is an optional extension to address field providing external references for mapping, third-party integrations, or enhanced location visibility. These references help integrate the supplier’s location with third-party systems for seamless navigation or cross-platform mapping. It may be null if no identifiers exist in the supplier's system.
venues[].contact.externalPlatformLocations[].type
string (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)
The type of external platform providing the location identifier. Possible values include: GOOGLE_PLACE_ID: A unique identifier for a location on Google Maps, retrievable via the Google Maps API. APPLE_PLACE_ID: A unique identifier for a location in Apple Maps, retrievable via Apple’s Maps API. TRIPADVISOR_LOCATION_ID: An identifier for a location on Tripadvisor, used to link reviews, ratings, or other data from the Tripadvisor Content API. YELP_PLACE_ID: A unique identifier for a business or location on Yelp, often tied to user reviews and ratings. FACEBOOK_PLACE_ID: An identifier for a location on Facebook, linking to the business’s page or check-in location. FOURSQUARE_PLACE_ID: A unique identifier for a venue or location in Foursquare’s database. BAIDU_PLACE_ID: An identifier for a location in Baidu Maps, primarily used in China. AMAP_PLACE_ID: A unique identifier for a location in Amap (Gaode Maps), another popular mapping service in China. OTHER: A generic option for identifiers from platforms not explicitly listed.
venues[].contact.externalPlatformLocations[].id
string | null
The unique identifier assigned to the supplier’s location by the specified platform. Each type corresponds to a specific kind of ID: GOOGLE_PLACE_ID: The unique place_id from Google Maps, retrievable through the Google Places API. APPLE_PLACE_ID: The place.id provided by Apple Maps API for a location. TRIPADVISOR_LOCATION_ID: The location_id from the Tripadvisor Content API, linking to reviews and other Tripadvisor data. YELP_PLACE_ID: The unique ID for a business location on Yelp. FACEBOOK_PLACE_ID: The page or place ID used by Facebook for location check-ins or business pages. FOURSQUARE_PLACE_ID: The venue ID from Foursquare’s API, providing location-specific data. BAIDU_PLACE_ID: The place_id from Baidu Maps, widely used in China. AMAP_PLACE_ID: The unique place_id in Amap, a mapping service popular in China. This field may be null if the identifier is unavailable in the supplier's system.
venues[].contact.externalPlatformLocations[].name
string | null
The name of the location as listed on the external platform. This provides a human-readable reference for the location and serves as an additional identifier for cross-platform consistency. This field may be null if the name is not available from the platform.
venues[].contact.externalPlatformLocations[].url
string (uri) | null
The URL of the venues listing on the external platform. For example: A Google Maps link for a specific place (https://maps.google.com/?q=place_id:<id>). A Tripadvisor URL for the location's profile page. A Yelp link to the business’s review page. This field may be null if no URL is provided by the platform or if it is unavailable.
venues[].logoImages[]
array<object> | null (logoImages object)
An array containing the supplier's logo images. Multiple variations of the logo can be provided to support different use cases. The objects must be ordered according to the supplier's preference, ensuring that the most relevant version is presented first. This field can be null if no logo images are available.
venues[].logoImages[].url
string (uri) | null
The URL of the logo image file, which should be a direct link to the image hosted on a server. Recommended formats include PNG or SVG for scalability and quality. This field should not point to dynamic or temporary links and may be null if no logo image is available.
venues[].logoImages[].copyright
string | null
Information about the copyright status of the logo image or any applicable usage restrictions. This field may include details about ownership, licensing terms, or attribution requirements. If null, it assumes there are no copyright restrictions or attribution requirements associated with the image.
venues[].socialMedia[]
array<object> | null (socialMedia object)
An optional list of social media profiles associated with the supplier. Each object represents a single social media profile on a specific platform. These profiles are used to enhance the supplier's online presence and provide customers with additional ways to engage. This field can be null if no social media profiles are linked.
venues[].socialMedia[].platform
string (enum: FACEBOOK, X, INSTAGRAM, LINKEDIN, YOUTUBE, TIKTOK, DOUYIN, WECHAT, PINTEREST, OTHER)
The platform associated with the social media profile. Ideally, the value should be one of the predefined options, which include: FACEBOOK: The profile page on Facebook. X: The profile on X.com (formerly Twitter). INSTAGRAM: The supplier's profile on Instagram. LINKEDIN: The business's page or profile on LinkedIn. YOUTUBE: The supplier's YouTube channel or video profile. TIKTOK: The supplier's presence on TikTok. DOUYIN: The Chinese version of TikTok (Douyin). WECHAT: The supplier's profile or page on WeChat, widely used in China. PINTEREST: The supplier's presence on Pinterest for showcasing visual content. OTHER: A generic option for platforms not explicitly listed. This field ensures accurate representation of the supplier's social media presence.
venues[].socialMedia[].url
string (uri) | null
The URL of the venue's social media profile. This link should direct users to the profile on the specified platform, enhancing accessibility and engagement. Below are examples for each platform: FACEBOOK: The URL to the business's Facebook page (e.g., https://www.facebook.com/{page_name}). X: The link to the user's profile on X.com (formerly Twitter), formatted as https://x.com/{username}. INSTAGRAM: The URL to the supplier's Instagram profile (e.g., https://www.instagram.com/{username}). LINKEDIN: The URL to the supplier's LinkedIn page (e.g., https://www.linkedin.com/company/{company_name}). YOUTUBE: The URL to the YouTube channel (e.g., https://www.youtube.com/c/{channel_name}). TIKTOK: The link to the supplier's TikTok profile (e.g., https://www.tiktok.com/@{username}). DOUYIN: The profile link on Douyin, if available, would be in a similar format as TikTok. WECHAT: WeChat profile URLs may not always be accessible publicly. If available, use a valid link. PINTEREST: The link to the Pinterest board or profile (e.g., https://www.pinterest.com/{username}). If the profile does not have a URL or is inaccessible, this field can be null.
venues[].socialMedia[].username
string | null
The username or handle associated with the venue's social media profile on the specific platform. This helps identify the profile uniquely and may be used for searches or direct interactions on the platform. Below are platform-specific details for usernames: FACEBOOK: The page name or custom URL handle (e.g., {page_name}). X: The username or handle used on X.com (e.g., @username). INSTAGRAM: The username associated with the profile (e.g., @username). LINKEDIN: The LinkedIn handle, typically the company name (e.g., {company_name}). YOUTUBE: The channel name or user handle (e.g., {channel_name}). TIKTOK: The username used to identify the profile (e.g., @username). DOUYIN: The username used on Douyin, which is similar to TikTok. WECHAT: The WeChat ID or handle for the profile, if available. PINTEREST: The username associated with the Pinterest account (e.g., {username}). If the username is unavailable, this field can be null.
venues[].socialMedia[].profileId
string | null
The unique identifier or profile ID of the social media account. This could be a user ID or any unique string assigned by the platform to identify the profile. Below are details for each platform: FACEBOOK: The numeric ID of the page, which is used for API calls or direct identification (e.g., 1234567890). X: The user ID assigned by X.com (formerly Twitter) to uniquely identify the user, which is different from the username. INSTAGRAM: The user ID assigned by Instagram, which may differ from the public username. LINKEDIN: The company or profile ID assigned by LinkedIn, typically used for API integration. YOUTUBE: The channel ID, which uniquely identifies the YouTube channel. TIKTOK: The unique user ID assigned by TikTok to the profile. DOUYIN: The unique user ID on Douyin, similar to TikTok. WECHAT: The unique identifier for a WeChat account, which may include an official account ID. PINTEREST: The unique user ID assigned by Pinterest. This field can be null if the platform does not provide a unique identifier.
venues[].additionalContacts[]
array<object> | null (additionalContact object)
An array containing additional points of contact for partners, such as travel trade agents, connectivity partners, or customer support representatives. These contacts are intended for internal or business partner use and must not be displayed to end customers. This field provides structured details about key individuals or teams responsible for various operational or business areas. It can be null if no additional contacts are specified in the system.
venues[].additionalContacts[].fullName
string | null
The full name of the contact person, team, or department. This name should be formatted professionally, including first and last names (e.g., "John Doe") or the official title of the team or department (e.g., "Global Support Team"). This field may be null if no name is available.
venues[].additionalContacts[].role
string | null
The role or position of the contact within the venue or supplier organization. This field specifies the area of responsibility or expertise, such as "Head of Global Travel Trade," "Customer Support Manager," or "Connectivity Specialist." Providing a clear and professional role description helps partners understand the contact’s purpose. This field can be null if no role information is provided.
venues[].additionalContacts[].type
array<string> (enum: TRAVEL_TRADE, CONNECTIVITY, CUSTOMER_SUPPORT, OPERATIONS, OTHER)
This field specifies the topics or primary areas of responsibility that the contact person or team can address. Possible values include: TRAVEL_TRADE: Contacts who manage topics related to travel agents, tour operators, or other travel trade partnerships. CONNECTIVITY: Technical or operational contacts who handle topics such as API integrations, platform connectivity, or system integration issues. CUSTOMER_SUPPORT: Contacts who address customer-related topics, including complaints, queries, or troubleshooting. OPERATIONS: Contacts responsible for logistical or operational topics such as on-the-ground coordination, inventory, or day-to-day management. CONTENT_QUALITY: Contacts responsible for ensuring the accuracy, relevance, and quality of content, such as descriptions, images, or videos provided for the supplier's offerings. FINANCE: Contacts who manage financial topics, including payments, invoices, or revenue reconciliation. OTHER: A generic category for topics that do not fit the predefined options. This field ensures clarity about the contact’s expertise and the appropriate topics for communication.
venues[].additionalContacts[].telephone
string | null (E.164)
The telephone number of the contact person, team, or department, formatted in the E.164 international standard. This format includes the country code followed by the national number, with no spaces, dashes, or special characters (e.g., "+441202666903"). This number should be reachable for inquiries related to their area of expertise. The field may be null if no telephone contact is available.
venues[].additionalContacts[].email
string (email) | null
The email address of the contact person, team, or department. This email should be a valid and monitored address intended for inquiries about topics related to their area of responsibility. This field is critical for establishing efficient communication but may be null if no email address is provided.
title
string
The public, customer-facing name of the product. This name is displayed to end customers and should accurately represent the product for marketing and sales purposes
shortDescription
string | null
A brief, customer-facing description of the product. This field provides a concise overview of the product and can be null if no description is available.
description
string | null
A detailed description of the product, offering in-depth information about it and relevant details. This field can be null if extended details are not provided.
features[]
array<object> | null (feature object)
An array of structured details about the product’s marketed features, designed to highlight inclusions, exclusions, and key selling points that enhance the product’s appeal. Unlike mustKnows[], which focuses on critical considerations that customers need to know before booking or taking part in the activity, features[] is intended for promotional purposes, emphasizing what makes the product attractive or valuable.
features[].shortDescription
string
A concise summary of the feature, designed to provide quick and clear information about a specific aspect of the product.
features[].type
string (enum: INCLUSION, EXCLUSION, HIGHLIGHT, OTHER)
Specifies the type of feature. The possible values are: INCLUSION: Details of what is included in the product offering (e.g., "Hotel pickup included," "Lunch provided," "All equipment included"). These features add value to the product by highlighting its completeness. EXCLUSION: Lists what is not included in the product offering (e.g., "Gratuities not included," "Admission tickets not provided"). These details help set clear expectations and avoid misunderstandings. HIGHLIGHT: Emphasizes key selling points or unique aspects of the product (e.g., "Explore the Eiffel Tower with skip-the-line access," "Guided tour by an expert historian"). These features are designed to attract customers by showcasing the product's standout qualities. OTHER: Covers any additional features or details that do not fall under the predefined categories of inclusion, exclusion, or highlight. This allows flexibility for describing unique product attributes. This field ensures a clear and structured presentation of the product’s features, enabling resellers and customers to understand the offering comprehensively.
mustKnows[]
array<object> | null (mustKnow object)
Structured details about essential product information that customers need to know before booking or participating in the activity. Unlike features[], which focuses on marketing and promoting inclusions, exclusions, and highlights to enhance the product’s appeal, mustKnows[] provides critical information related to safety, restrictions, or accessibility that might affect the customer’s decision-making or preparation. This field is not intended for promotional purposes but instead ensures customers are well-informed about key considerations or requirements.
mustKnows[].shortDescription
string
A brief summary of the information, designed to provide customers with a clear and concise understanding of important considerations.
mustKnows[].type
string (enum: SAFETY_INFORMATION, RESTRICTION_REQUIREMENT, ACCESSIBILITY, OTHER)
Specifies the type of information. The possible values are: SAFETY_INFORMATION: Details about safety measures or guidelines (e.g., "Wear helmets at all times," "Life jackets are mandatory"). RESTRICTION_REQUIREMENT: Conditions or prerequisites for participation (e.g., "Minimum height of 120cm," "Passport required for entry"). ACCESSIBILITY: Accessibility-related details or limitations (e.g., "Wheelchair-accessible restrooms available," "Not suitable for individuals with severe mobility issues"). OTHER: Additional important information not covered by the other categories (e.g., "Bring sunscreen and water," "Check-in required 30 minutes before departure").
faqs[]
array<object> | null (faq object)
An array containing frequently asked questions (FAQs) related to the product. This field is designed to address common customer inquiries by providing clear and concise answers, enhancing the customer experience and reducing potential confusion. Each object represents a single question and its corresponding answer.
faqs[].question
string
The text of the frequently asked question. This should be a well-phrased question that reflects typical customer concerns or queries about the product (e.g., "Is hotel pickup included?", "What is the cancellation policy?").
faqs[].answer
string
The detailed response to the corresponding question. Answers should be accurate, informative, and written in a way that resolves customer uncertainty (e.g., "Yes, hotel pickup is included within a 10-mile radius of the city center.", "Cancellations are free up to 24 hours before the activity.").
media[]
array<object> | null (media object)
The hosted URL of the media file. This must be a direct, stable link to the media resource (e.g., https://example.com/image.jpg). The URL should not be temporary and must point to commonly supported formats such as JPEG, PNG, or MP4. Recommended file hosting services should ensure high availability and fast loading times.
media[].url
string (uri)
The hosted URL of the media file. This must be a direct link to the media resource (e.g., "https://example.com/image.jpg"). URLs should point to stable, accessible locations and support commonly used formats like JPEG, PNG, or MP4.
media[].mime_type
string (enum: image/jpeg, image/png, video/mp4, video/avi, video/youtube, video/vimeo, application/pdf, mobile-app-resource/ios, mobile-app-resource/android, other)
The MIME type of the media, indicating its format and intended usage. This field supports widely recognized MIME type standards while incorporating additional values. Recommended types are as follows: image/jpeg: High-quality images with good compression for general use. Recommended for primary product images. Suggested dimensions: 1920x1080 pixels or higher for full-screen display. image/png: Images with transparency or higher visual fidelity. Recommended for logos or detailed illustrations. Suggested dimensions: At least 1000x1000 pixels for clarity. video/mp4: High-quality videos for universal playback. Recommended resolution: 1080p (1920x1080) or higher for professional presentation. video/avi: Less common video format, supported in specific cases. Use MP4 when compatibility is required. video/youtube: Links to YouTube-hosted videos, ideal for showcasing dynamic content with broad accessibility. Use a shareable URL (e.g., https://www.youtube.com/watch?v=xyz). video/vimeo: Links to Vimeo-hosted videos for high-quality or private video content. Use the public URL (e.g., https://vimeo.com/xyz). application/pdf: Documents such as brochures or guides in PDF format. Suggested file size: Under 10MB for fast downloads. mobile-app-resource/ios: A link to an iOS-specific mobile app resource or App Store page. For example, use a valid App Store URL (e.g., https://apps.apple.com/app/id123456789). mobile-app-resource/android: A link to an Android-specific mobile app resource or Google Play Store page. For example, use a valid Play Store URL (e.g., https://play.google.com/store/apps/details?id=com.example.app). other: For less common formats not covered by the above categories.
media[].title
string | null
The title or name of the media, providing a brief description or identifier for the media file. This helps in organizing and identifying media files (e.g., "Main Attraction Image," "Promotional Video"). This field can be null if no title is provided.
media[].caption
string | null
A caption providing additional context or information about what is depicted in the media. Captions should be customer-facing and provide insights such as "Overview of the city skyline at sunset" or "Guests enjoying the guided tour." This field can be null if no caption is provided.
media[].copyright
string | null
Information about the copyright status or usage restrictions of the media. This may include details about ownership, licensing terms, or attribution requirements (e.g., "© 2024 Example Corp, All Rights Reserved"). If null, it is assumed there are no copyright restrictions or attribution requirements.
relatedLocations[]
array<object> | null (relatedLocation object)
A list of geographical locations associated with the product. These locations can represent an itinerary where the order of locations matters, such as for tours or experiences, or simply a list of related locations linked to the product. This field is particularly useful for map-dependent reseller platforms, as it provides geographic and contextual details to enhance customer understanding and platform integration. Each object in the array represents a single related location and includes the following fields:
relatedLocations[].type
array<string> (enum: START, END, POI_ADMISSION, POI_NO_ADMISSION, POI_OPTION_ADDON)
Specifies the type of relationship the location has with the product. The possible values are: START: The starting point of the activity or itinerary, END: The endpoint of the activity or itinerary, POI_ADMISSION: A point of interest included in the activity, with admission provided, POI_NO_ADMISSION: A point of interest included in the activity, but without admission, POI_OPTION_ADDON: A point of interest with optional admission available as an add-on.
relatedLocations[].travelTimeToMinutes
integer | null
The estimated travel time, in minutes, required to reach this location from the preceding location in the itinerary. This value is particularly useful when presenting detailed schedules. It can be null if travel time is irrelevant or unknown.
relatedLocations[].durationMinutes
integer | null
The approximate time spent at this location, in minutes. This helps in defining the itinerary or providing clarity on the expected schedule. It can be null if the duration is not applicable, flexible, or unknown.
relatedLocations[].name
string | null
The name of the location, providing a recognizable identifier for customers (e.g., "Statue of Liberty"). This field can be null if no name is available.
relatedLocations[].shortDescription
string | null
A brief description of the location, summarizing its significance or role in the product (e.g., "Historic landmark and popular tourist destination"). This field can be null if no description is provided.
relatedLocations[].address
string | null
The full mailing address of the location as a single string. It includes street address, city, state, postal code, and country. If no address is provided, this field can be null. For structured details, use the additional address-related fields
relatedLocations[].addressLine1
string | null
The primary address line, typically used for the street address, P.O. box, or company name. This field is equivalent to address but structured separately for where this level of detail is needed. It can be null if no address information is provided.
relatedLocations[].addressLine2
string | null
The secondary address line for additional details, such as apartment numbers, suites, units, or building names. This field is equivalent to part of contact.address in OCTO Core but structured separately for where this level of detail is needed. It can be null if not applicable.
relatedLocations[].city
string | null
The name of the city or locality associated with the address. This value can be null if the city is not available or not required.
relatedLocations[].stateProvinceRegion
string | null
The state, province, or region associated with the address. This field is equivalent to part of address but structured separately for cases where this information is critical. It can be null if such administrative divisions are not applicable.
relatedLocations[].postalCode
string | null
The postal code or ZIP code for the address. This field is equivalent to part of address but structured separately for postal-specific details.
relatedLocations[].country
string | null (ISO 3166-1 alpha-2)
The two-letter country code for the address, formatted in ISO 3166-1 alpha-2 (e.g., "US" for the United States). This field is equivalent to part of address but structured separately for identifying the country. It can be null if not provided.
relatedLocations[].latitude
float | null (decimal degrees)
The latitude of the location, expressed in decimal degrees. This geospatial coordinate is structured separately for more precise geographic pinpointing.
relatedLocations[].longitude
float | null (decimal degrees)
The longitude of the location, expressed in decimal degrees. Similar to latitude, this field provides geospatial data that complements address.
relatedLocations[].externalPlatformLocation[]
array<object> | null (externalPlatformLocation object)
A list of unique identifiers for the location from external platforms, such as Google Maps, Apple Maps, Tripadvisor, or other mapping and location services. This field is an optional extension to address field providing external references for mapping, third-party integrations, or enhanced location visibility. These references help integrate the supplier’s location with third-party systems for seamless navigation or cross-platform mapping. It may be null if no identifiers exist in the supplier's system.
relatedLocations[].externalPlatformLocation[].type
string (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)
The type of external platform providing the location identifier. Possible values include: GOOGLE_PLACE_ID: A unique identifier for a location on Google Maps, retrievable via the Google Maps API. APPLE_PLACE_ID: A unique identifier for a location in Apple Maps, retrievable via Apple’s Maps API. TRIPADVISOR_LOCATION_ID: An identifier for a location on Tripadvisor, used to link reviews, ratings, or other data from the Tripadvisor Content API. YELP_PLACE_ID: A unique identifier for a business or location on Yelp, often tied to user reviews and ratings. FACEBOOK_PLACE_ID: An identifier for a location on Facebook, linking to the business’s page or check-in location. FOURSQUARE_PLACE_ID: A unique identifier for a venue or location in Foursquare’s database. BAIDU_PLACE_ID: An identifier for a location in Baidu Maps, primarily used in China. AMAP_PLACE_ID: A unique identifier for a location in Amap (Gaode Maps), another popular mapping service in China. OTHER: A generic option for identifiers from platforms not explicitly listed.
relatedLocations[].externalPlatformLocation[].id
string | null
The unique identifier assigned to the supplier’s location by the specified platform. Each type corresponds to a specific kind of ID: GOOGLE_PLACE_ID: The unique place_id from Google Maps, retrievable through the Google Places API. APPLE_PLACE_ID: The place.id provided by Apple Maps API for a location. TRIPADVISOR_LOCATION_ID: The location_id from the Tripadvisor Content API, linking to reviews and other Tripadvisor data. YELP_PLACE_ID: The unique ID for a business location on Yelp. FACEBOOK_PLACE_ID: The page or place ID used by Facebook for location check-ins or business pages. FOURSQUARE_PLACE_ID: The venue ID from Foursquare’s API, providing location-specific data. BAIDU_PLACE_ID: The place_id from Baidu Maps, widely used in China. AMAP_PLACE_ID: The unique place_id in Amap, a mapping service popular in China. This field may be null if the identifier is unavailable in the supplier's system.
relatedLocations[].externalPlatformLocation[].name
string | null
The name of the location as listed on the external platform. This provides a human-readable reference for the location and serves as an additional identifier for cross-platform consistency. This field may be null if the name is not available from the platform.
relatedLocations[].externalPlatformLocation[].url
string (uri) | null
The URL of the venues listing on the external platform. For example: A Google Maps link for a specific place (https://maps.google.com/?q=place_id:<id>). A Tripadvisor URL for the location's profile page. A Yelp link to the business’s review page. This field may be null if no URL is provided by the platform or if it is unavailable.
commentary[]
array<object> (commentary object)
An array of commentary formats offered for this product, detailing the type and language of commentaries available. Each object represents a specific commentary option and includes the following fields:
commentary[].format
string (enum: IN_PERSON, RECORDED_AUDIO, WRITTEN, OTHER)
Specifies the format in which commentary is provided. Possible values are: IN_PERSON: Live commentary delivered by a guide or host during the activity. Examples include a tour guide providing real-time explanations about historical landmarks or itinerary highlights. RECORDED_AUDIO: Pre-recorded audio commentary accessible during the activity. Delivered via headphones, mobile apps, or speaker systems, covering key details in multiple languages. WRITTEN: Commentary provided as written material, such as printed brochures, guidebooks, or on-site informational displays at points of interest. OTHER: Commentary formats not explicitly listed, such as augmented reality experiences or interactive digital guides.
commentary[].language
string (IETF BCP 47 tag)
Specifies the language in which the commentary is offered, adhering to IETF BCP 47 language tags for compatibility.
multiDay
boolean
Indicates whether the product duration spans over multiple days. true: The product involves activities that occur across two or more days, such as multi-day tours, expeditions, or packages. false: The product is completed within a single day, such as day tours, events, or activities. This field helps resellers determine whether the product requires overnight arrangements or extended schedules.
startDate
string | null (ISO 8601 date YYYY-MM-DD)
This field represents the date when the product begins having availability. It allows resellers to identify the starting point for querying product availability. The date must adhere to the ISO 8601 standard, formatted as YYYY-MM-DD (e.g., 2024-01-01). If the field is set to null, it indicates that no specific start date is defined, implying that availability is ongoing or begins immediately. This field is particularly useful for seasonal products or newly launched offerings that have a defined availability window.
endDate
string | null (ISO 8601 date YYYY-MM-DD)
This field specifies the date when the product stops being available. Similar to startDate, it allows resellers to determine the final day of availability for a product. The date must follow the ISO 8601 standard, formatted as YYYY-MM-DD (e.g., 2024-12-31). If the field is set to null, it indicates that the product has no defined end date, suggesting continuous availability unless explicitly removed. This field is crucial for seasonal or time-limited products, helping resellers manage inventory and plan campaigns effectively.
venueId
string | null
This field provides the unique identifier of the venue to which the product belongs. A venue could represent a specific location, brand, or subdivision of the supplier. When specified, the venueId should match the corresponding id field in the venue object, allowing a direct association between the product and its venue. If the product is not tied to a specific venue, this field can be set to null or omitted. By linking products to venues, resellers gain better organizational context, enabling more effective mapping and categorization within the supplier’s hierarchy.
categoriesLabels
string | null (enum: adults-only, animals, audio-guide, beaches, bike-tours, boat-tours, city-cards, classes, day-trips, family-friendly, fast-track, food, guided-tours, history, hop-on-hop-off, literature, live-music, museums, nightlife, outdoors, private-tours, romantic, recurring-events, self-guided, small-group-tours, sports, theme-parks, walking-tours, wheelchair-accessible, other)
Defines category filters to tag user experiences based on attributes and themes of the activity. These labels follow the Google Product Category specification and provide a structured way to categorize activities for better discoverability and filtering. Each label comes with a description and, where applicable, exclusivity constraints with other labels. adults-only Description: Activity is suitable for adults only. Exclusive With: family-friendly. animals Description: Activity is largely centered around animals. audio-guide Description: Tour is guided by pre-recorded commentary. beaches Description: Activity visits or happens at a beach. bike-tours Description: Tour involves sightseeing by bicycle. boat-tours Description: Tour involves sightseeing by boat. city-cards Description: Card or pass that offers admission to multiple top attractions. classes Description: Activity is conducted in a class or workshop setting. day-trips Description: Activity is a full-day or multi-day trip. family-friendly Description: Activity is suitable for adults and children of all ages. Exclusive With: adults-only. fast-track Description: Activity includes skip-the-line admission. food Description: Activity is largely centered around food. guided-tours Description: Tour is conducted by a guide. Exclusive With: self-guided. history Description: Activity is history-related or happens in a historical location. hop-on-hop-off Description: Hop-on hop-off tour by bus, boat, etc. literature Description: Activity is largely centered around a literature theme. live-music Description: Activity includes a live music performance. museums Description: Activity visits or happens at a museum. nightlife Description: Activity includes social activities or entertainment at night. outdoors Description: Activity happens outside or in nature. private-tours Description: Tour is conducted with a private group of participants. Exclusive With: small-group-tours. romantic Description: Activity is recommended for couples. recurring-events Description: Activity is a recurring tourist event taking place at the same venue lasting for at least four weeks, such as weekly shows or seasonal events. self-guided Description: Activity is self-guided with prepared instructions. Exclusive With: guided-tours. small-group-tours Description: Tour is conducted with a small group of participants. Exclusive With: private-tours. sports Description: Activity is largely centered around a sport or fitness theme. theme-parks Description: Activity visits or happens at an amusement park. walking-tours Description: Tour involves sightseeing on foot. wheelchair-accessible Description: Participants in wheelchairs can participate fully. Usage Notes Purpose: Categorization enhances filtering, search, and discoverability for customers, resellers, and platforms. Exclusivity Constraints: Some labels cannot coexist, ensuring clarity (e.g., adults-only cannot coexist with family-friendly). Customizable: While based on Google Product Categories, suppliers may adapt or add further labels for niche experiences.
reviewRatings[]
array<object> | null (reviewRatings object)
This field contains a list of rating objects, each representing a specific rating associated with the product. Ratings help resellers and customers evaluate the product’s quality and popularity based on user feedback. Each rating object includes the following details:
reviewRatings[].count
integer
The total number of ratings received, represented as an integer. This count provides insight into how many users have submitted ratings for the product.
reviewRatings[].value
float
The average rating value, calculated from all submitted ratings. This value is typically a floating-point number that represents the mean score on the rating scale (e.g., 4.5 on a 5-star scale).
reviewRatings[].scale
integer
The maximum possible value on the rating scale, which defines the upper limit (e.g., 5 for a 5-star system or 10 for a 10-point system).
reviewRatings[].url
string (uri)
A URL linking to more details about the ratings, such as a review page or the source of the ratings. This field provides additional context and enables users to explore detailed feedback or reviews.
reviewRatings[].externalPlatform
string | null (enum: GOOGLE, YELP, TRIPADVISOR, FACEBOOK, VIATOR, GETYOURGUIDE, OTHER)
The platform from which the rating originates. Most common platforms include: GOOGLE: Ratings sourced from Google, often through Google Maps or the Google Business Profile. YELP: Ratings from Yelp, a platform focused on user reviews for businesses, restaurants, and attractions. TRIPADVISOR: Ratings from Tripadvisor, a well-known travel and review platform for accommodations, tours, and activities. FACEBOOK: Ratings or recommendations from a business or location's Facebook page. VIATOR: Ratings sourced from Viator, a platform specializing in tours and activities. GETYOURGUIDE: Ratings from GetYourGuide, another platform focused on booking and reviewing tours and activities. OTHER: A general category for platforms not explicitly listed, used for custom or less common sources of ratings.
landingPage
string (uri) | null
The URL of the product’s dedicated landing page on the supplier’s website or reservation platform. This page provides detailed information about the product, including descriptions, pricing, images, and other relevant details. The landing page URL helps resellers direct customers to a centralized source for comprehensive product information. If this field is null, it indicates that no specific landing page is available for the product.
landingPageListView
string (uri) | null
The URL of a landing page where the product is prominently listed among other offerings on the supplier’s website or supplier system. This page serves as an overview or category page, highlighting the product as part of a broader collection. For example, it might display a list of all available tours or activities within a destination. This field can be null if such a list view is not applicable or available for the product.
emergencyTelephone
string | null (E.164)
The emergency contact number for guests to use on the day of the activity. This number should be formatted in the E.164 standard, including the country code followed by the national number without spaces, dashes, or special characters (e.g., +441234567890). This field is particularly useful for addressing last-minute issues, emergencies, or other time-sensitive inquiries during the activity. If null, it indicates that no dedicated emergency number is provided.
termsConditions
string | null
Additional terms and conditions associated with the product, presented either as text or a link to a document or webpage. This field typically includes legal information, cancellation policies, or any disclaimers that customers need to review before booking. Providing clear and accessible terms ensures transparency and helps resellers manage customer expectations.
groupsInfo
string | null
Specific information tailored for larger groups, such as group size limits, special pricing, or additional requirements. This field can also define what qualifies as a group for the product (e.g., "A group consists of 10 or more individuals"). Including group-specific details enables resellers to cater to specialized bookings more effectively.
maximumGroupSize
integer | null
The maximum number of participants allowed in a single group booking for the product. This field provides clarity on the product’s capacity and helps manage expectations for group reservations. If not specified, it indicates that no upper limit is defined, or the limit varies based on other conditions.
title
string | null
The public, customer-facing name of the option. This name is displayed to end customers and should accurately represent the option for marketing and sales purposes
availabilityGroups[]
array<object> | null (availabilityGroup object)
An array containing all possible availability groups that can be returned on availability. Availability groups are designed for marketing purposes, allowing suppliers to organize and highlight specific availabilities based on unique features or attributes that appeal to customers. These groups enable resellers to present options more attractively and emphasize special experiences. For example: "Sunset", "Sunrise". Highlighting evening or morning premium availabilities at an observation deck for customers seeking breathtaking sunset/sunrise views. "Christmas Lights Departure": Evening bus tour departure additionally showcasing festive holiday light displays.
availabilityGroups[].id
string
A unique identifier for the availability group.
availabilityGroups[].internalName
string | null
The internal name of the availability group, used for backend reference, not customer-facing.
availabilityGroups[].title
string | null
The public-facing title of the availability group, designed to capture customer interest.
availabilityGroups[].description
string | null
A detailed description that explains the unique features or selling points of the grouped availabilities.
shortDescription
string | null
A brief customer-facing summary of the option.
durationMinutesTo
integer | null
The maximum possible duration in minutes (if flexible).
durationMinutes
integer | null
The duration of the option in minutes.
durationFlexible
boolean
Indicates whether the duration is flexible. true: Duration varies. false: Fixed duration.
features[]
array<object> | null (feature object)
An array of structured details about the option’s marketed features, designed to highlight inclusions, exclusions, and key selling points that enhance the option’s appeal. Unlike mustKnows[], which focuses on critical considerations that customers need to know before booking or taking part in the activity, features[] is intended for promotional purposes, emphasizing what makes the option attractive or valuable.
features[].shortDescription
string
A concise summary of the feature, designed to provide quick and clear information about a specific aspect of the option.
features[].type
string (enum: INCLUSION, EXCLUSION, HIGHLIGHT, OTHER)
Specifies the type of feature. The possible values are: INCLUSION: Details of what is included in the option offering (e.g., "Hotel pickup included," "Lunch provided," "All equipment included"). These features add value to the option by highlighting its completeness. EXCLUSION: Lists what is not included in the option offering (e.g., "Gratuities not included," "Admission tickets not provided"). These details help set clear expectations and avoid misunderstandings. HIGHLIGHT: Emphasizes key selling points or unique aspects of the option (e.g., "Explore the Eiffel Tower with skip-the-line access," "Guided tour by an expert historian"). These features are designed to attract customers by showcasing the option's standout qualities. OTHER: Covers any additional features or details that do not fall under the predefined categories of inclusion, exclusion, or highlight. This allows flexibility for describing unique option attributes. This field ensures a clear and structured presentation of the option’s features, enabling resellers and customers to understand the offering comprehensively.
mustKnows[]
array<object> | null (mustKnow object)
Structured details about essential option information that customers need to know before booking or participating in the activity. Unlike features[], which focuses on marketing and promoting inclusions, exclusions, and highlights to enhance the option’s appeal, mustKnows[] provides critical information related to safety, restrictions, or accessibility that might affect the customer’s decision-making or preparation. This field is not intended for promotional purposes but instead ensures customers are well-informed about key considerations or requirements.
mustKnows[].shortDescription
string
A brief summary of the information, designed to provide customers with a clear and concise understanding of important considerations.
mustKnows[].type
string (enum: SAFETY_INFORMATION, RESTRICTION_REQUIREMENT, ACCESSIBILITY, OTHER)
Specifies the type of information. The possible values are: SAFETY_INFORMATION: Details about safety measures or guidelines (e.g., "Wear helmets at all times," "Life jackets are mandatory"). RESTRICTION_REQUIREMENT: Conditions or prerequisites for participation (e.g., "Minimum height of 120cm," "Passport required for entry"). ACCESSIBILITY: Accessibility-related details or limitations (e.g., "Wheelchair-accessible restrooms available," "Not suitable for individuals with severe mobility issues"). OTHER: Additional important information not covered by the other categories (e.g., "Bring sunscreen and water," "Check-in required 30 minutes before departure").
faqs[]
array<object> | null (faq object)
An array containing frequently asked questions (FAQs) related to the option. This field is designed to address common customer inquiries by providing clear and concise answers, enhancing the customer experience and reducing potential confusion. Each object represents a single question and its corresponding answer.
faqs[].question
string
The text of the frequently asked question. This should be a well-phrased question that reflects typical customer concerns or queries about the option (e.g., "Is hotel pickup included?", "What is the cancellation policy?").
faqs[].answer
string
The detailed response to the corresponding question. Answers should be accurate, informative, and written in a way that resolves customer uncertainty (e.g., "Yes, hotel pickup is included within a 10-mile radius of the city center.", "Cancellations are free up to 24 hours before the activity.").
media[]
array<object> | null (media object)
The hosted URL of the media file. This must be a direct, stable link to the media resource (e.g., https://example.com/image.jpg). The URL should not be temporary and must point to commonly supported formats such as JPEG, PNG, or MP4. Recommended file hosting services should ensure high availability and fast loading times.
media[].url
string (uri)
The hosted URL of the media file. This must be a direct link to the media resource (e.g., "https://example.com/image.jpg"). URLs should point to stable, accessible locations and support commonly used formats like JPEG, PNG, or MP4.
media[].mime_type
string (enum: image/jpeg, image/png, video/mp4, video/avi, video/youtube, video/vimeo, application/pdf, mobile-app-resource/ios, mobile-app-resource/android, other)
The MIME type of the media, indicating its format and intended usage. This field supports widely recognized MIME type standards while incorporating additional values. Recommended types are as follows: image/jpeg: High-quality images with good compression for general use. Recommended for primary option images. Suggested dimensions: 1920x1080 pixels or higher for full-screen display. image/png: Images with transparency or higher visual fidelity. Recommended for logos or detailed illustrations. Suggested dimensions: At least 1000x1000 pixels for clarity. video/mp4: High-quality videos for universal playback. Recommended resolution: 1080p (1920x1080) or higher for professional presentation. video/avi: Less common video format, supported in specific cases. Use MP4 when compatibility is required. video/youtube: Links to YouTube-hosted videos, ideal for showcasing dynamic content with broad accessibility. Use a shareable URL (e.g., https://www.youtube.com/watch?v=xyz). video/vimeo: Links to Vimeo-hosted videos for high-quality or private video content. Use the public URL (e.g., https://vimeo.com/xyz). application/pdf: Documents such as brochures or guides in PDF format. Suggested file size: Under 10MB for fast downloads. mobile-app-resource/ios: A link to an iOS-specific mobile app resource or App Store page. For example, use a valid App Store URL (e.g., https://apps.apple.com/app/id123456789). mobile-app-resource/android: A link to an Android-specific mobile app resource or Google Play Store page. For example, use a valid Play Store URL (e.g., https://play.google.com/store/apps/details?id=com.example.app). other: For less common formats not covered by the above categories.
media[].title
string | null
The title or name of the media, providing a brief description or identifier for the media file. This helps in organizing and identifying media files (e.g., "Main Attraction Image," "Promotional Video"). This field can be null if no title is provided.
media[].caption
string | null
A caption providing additional context or information about what is depicted in the media. Captions should be customer-facing and provide insights such as "Overview of the city skyline at sunset" or "Guests enjoying the guided tour." This field can be null if no caption is provided.
media[].copyright
string | null
Information about the copyright status or usage restrictions of the media. This may include details about ownership, licensing terms, or attribution requirements (e.g., "© 2024 Example Corp, All Rights Reserved"). If null, it is assumed there are no copyright restrictions or attribution requirements.
relatedLocations[]
array<object> | null (relatedLocation object)
A list of geographical locations associated with the option. These locations can represent an itinerary where the order of locations matters, such as for tours or experiences, or simply a list of related locations linked to the option. This field is particularly useful for map-dependent reseller platforms, as it provides geographic and contextual details to enhance customer understanding and platform integration. Each object in the array represents a single related location and includes the following fields:
relatedLocations[].type
array<string> (enum: START, END, POI_ADMISSION, POI_NO_ADMISSION, POI_OPTION_ADDON)
Specifies the type of relationship the location has with the option. The possible values are: START: The starting point of the activity or itinerary, END: The endpoint of the activity or itinerary, POI_ADMISSION: A point of interest included in the activity, with admission provided, POI_NO_ADMISSION: A point of interest included in the activity, but without admission, POI_OPTION_ADDON: A point of interest with optional admission available as an add-on.
relatedLocations[].travelTimeToMinutes
integer | null
The estimated travel time, in minutes, required to reach this location from the preceding location in the itinerary. This value is particularly useful when presenting detailed schedules. It can be null if travel time is irrelevant or unknown.
relatedLocations[].durationMinutes
integer | null
The approximate time spent at this location, in minutes. This helps in defining the itinerary or providing clarity on the expected schedule. It can be null if the duration is not applicable, flexible, or unknown.
relatedLocations[].name
string | null
The name of the location, providing a recognizable identifier for customers (e.g., "Statue of Liberty"). This field can be null if no name is available.
relatedLocations[].shortDescription
string | null
A brief description of the location, summarizing its significance or role in the option (e.g., "Historic landmark and popular tourist destination"). This field can be null if no description is provided.
relatedLocations[].address
string | null
The full mailing address of the location as a single string. It includes street address, city, state, postal code, and country. If no address is provided, this field can be null. For structured details, use the additional address-related fields
relatedLocations[].addressLine1
string | null
The primary address line, typically used for the street address, P.O. box, or company name. This field is equivalent to address but structured separately for where this level of detail is needed. It can be null if no address information is provided.
relatedLocations[].addressLine2
string | null
The secondary address line for additional details, such as apartment numbers, suites, units, or building names. This field is equivalent to part of contact.address in OCTO Core but structured separately for where this level of detail is needed. It can be null if not applicable.
relatedLocations[].city
string | null
The name of the city or locality associated with the address. This value can be null if the city is not available or not required.
relatedLocations[].stateProvinceRegion
string | null
The state, province, or region associated with the address. This field is equivalent to part of address but structured separately for cases where this information is critical. It can be null if such administrative divisions are not applicable.
relatedLocations[].postalCode
string | null
The postal code or ZIP code for the address. This field is equivalent to part of address but structured separately for postal-specific details.
relatedLocations[].country
string | null (ISO 3166-1 alpha-2)
The two-letter country code for the address, formatted in ISO 3166-1 alpha-2 (e.g., "US" for the United States). This field is equivalent to part of address but structured separately for identifying the country. It can be null if not provided.
relatedLocations[].latitude
float | null (decimal degrees)
The latitude of the location, expressed in decimal degrees. This geospatial coordinate is structured separately for more precise geographic pinpointing.
relatedLocations[].longitude
float | null (decimal degrees)
The longitude of the location, expressed in decimal degrees. Similar to latitude, this field provides geospatial data that complements address.
relatedLocations[].externalPlatformLocation[]
array<object> | null (externalPlatformLocation object)
A list of unique identifiers for the location from external platforms, such as Google Maps, Apple Maps, Tripadvisor, or other mapping and location services. This field is an optional extension to address field providing external references for mapping, third-party integrations, or enhanced location visibility. These references help integrate the supplier’s location with third-party systems for seamless navigation or cross-platform mapping. It may be null if no identifiers exist in the supplier's system.
relatedLocations[].externalPlatformLocation[].type
string (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)
The type of external platform providing the location identifier. Possible values include: GOOGLE_PLACE_ID: A unique identifier for a location on Google Maps, retrievable via the Google Maps API. APPLE_PLACE_ID: A unique identifier for a location in Apple Maps, retrievable via Apple’s Maps API. TRIPADVISOR_LOCATION_ID: An identifier for a location on Tripadvisor, used to link reviews, ratings, or other data from the Tripadvisor Content API. YELP_PLACE_ID: A unique identifier for a business or location on Yelp, often tied to user reviews and ratings. FACEBOOK_PLACE_ID: An identifier for a location on Facebook, linking to the business’s page or check-in location. FOURSQUARE_PLACE_ID: A unique identifier for a venue or location in Foursquare’s database. BAIDU_PLACE_ID: An identifier for a location in Baidu Maps, primarily used in China. AMAP_PLACE_ID: A unique identifier for a location in Amap (Gaode Maps), another popular mapping service in China. OTHER: A generic option for identifiers from platforms not explicitly listed.
relatedLocations[].externalPlatformLocation[].id
string | null
The unique identifier assigned to the supplier’s location by the specified platform. Each type corresponds to a specific kind of ID: GOOGLE_PLACE_ID: The unique place_id from Google Maps, retrievable through the Google Places API. APPLE_PLACE_ID: The place.id provided by Apple Maps API for a location. TRIPADVISOR_LOCATION_ID: The location_id from the Tripadvisor Content API, linking to reviews and other Tripadvisor data. YELP_PLACE_ID: The unique ID for a business location on Yelp. FACEBOOK_PLACE_ID: The page or place ID used by Facebook for location check-ins or business pages. FOURSQUARE_PLACE_ID: The venue ID from Foursquare’s API, providing location-specific data. BAIDU_PLACE_ID: The place_id from Baidu Maps, widely used in China. AMAP_PLACE_ID: The unique place_id in Amap, a mapping service popular in China. This field may be null if the identifier is unavailable in the supplier's system.
relatedLocations[].externalPlatformLocation[].name
string | null
The name of the location as listed on the external platform. This provides a human-readable reference for the location and serves as an additional identifier for cross-platform consistency. This field may be null if the name is not available from the platform.
relatedLocations[].externalPlatformLocation[].url
string (uri) | null
The URL of the venues listing on the external platform. For example: A Google Maps link for a specific place (https://maps.google.com/?q=place_id:<id>). A Tripadvisor URL for the location's profile page. A Yelp link to the business’s review page. This field may be null if no URL is provided by the platform or if it is unavailable.
commentary[]
array<object> (commentary object)
An array of commentary formats offered for this option, detailing the type and language of commentaries available. Each object represents a specific commentary option and includes the following fields:
commentary[].format
string (enum: IN_PERSON, RECORDED_AUDIO, WRITTEN, OTHER)
Specifies the format in which commentary is provided. Possible values are: IN_PERSON: Live commentary delivered by a guide or host during the activity. Examples include a tour guide providing real-time explanations about historical landmarks or itinerary highlights. RECORDED_AUDIO: Pre-recorded audio commentary accessible during the activity. Delivered via headphones, mobile apps, or speaker systems, covering key details in multiple languages. WRITTEN: Commentary provided as written material, such as printed brochures, guidebooks, or on-site informational displays at points of interest. OTHER: Commentary formats not explicitly listed, such as augmented reality experiences or interactive digital guides.
commentary[].language
string (IETF BCP 47 tag)
Specifies the language in which the commentary is offered, adhering to IETF BCP 47 language tags for compatibility.
multiDay
boolean
Indicates whether the option duration spans over multiple days. true: The option involves activities that occur across two or more days, such as multi-day tours, expeditions, or packages. false: The option is completed within a single day, such as day tours, events, or activities. This field helps resellers determine whether the option requires overnight arrangements or extended schedules.
startDate
string | null (ISO 8601 date YYYY-MM-DD)
This field represents the date when the option begins having availability. It allows resellers to identify the starting point for querying option availability. The date must adhere to the ISO 8601 standard, formatted as YYYY-MM-DD (e.g., 2024-01-01). If the field is set to null, it indicates that no specific start date is defined, implying that availability is ongoing or begins immediately. This field is particularly useful for seasonal options or newly launched offerings that have a defined availability window.
endDate
string | null (ISO 8601 date YYYY-MM-DD)
This field specifies the date when the option stops being available. Similar to startDate, it allows resellers to determine the final day of availability for a option. The date must follow the ISO 8601 standard, formatted as YYYY-MM-DD (e.g., 2024-12-31). If the field is set to null, it indicates that the option has no defined end date, suggesting continuous availability unless explicitly removed. This field is crucial for seasonal or time-limited options, helping resellers manage inventory and plan campaigns effectively.
venueId
string | null
This field provides the unique identifier of the venue to which the option belongs. A venue could represent a specific location, brand, or subdivision of the supplier. When specified, the venueId should match the corresponding id field in the venue object, allowing a direct association between the option and its venue. If the option is not tied to a specific venue, this field can be set to null or omitted. By linking options to venues, resellers gain better organizational context, enabling more effective mapping and categorization within the supplier’s hierarchy.
categoriesLabels
string | null (enum: adults-only, animals, audio-guide, beaches, bike-tours, boat-tours, city-cards, classes, day-trips, family-friendly, fast-track, food, guided-tours, history, hop-on-hop-off, literature, live-music, museums, nightlife, outdoors, private-tours, romantic, recurring-events, self-guided, small-group-tours, sports, theme-parks, walking-tours, wheelchair-accessible, other)
Defines category filters to tag user experiences based on attributes and themes of the activity. These labels follow the Google option Category specification and provide a structured way to categorize activities for better discoverability and filtering. Each label comes with a description and, where applicable, exclusivity constraints with other labels. adults-only Description: Activity is suitable for adults only. Exclusive With: family-friendly. animals Description: Activity is largely centered around animals. audio-guide Description: Tour is guided by pre-recorded commentary. beaches Description: Activity visits or happens at a beach. bike-tours Description: Tour involves sightseeing by bicycle. boat-tours Description: Tour involves sightseeing by boat. city-cards Description: Card or pass that offers admission to multiple top attractions. classes Description: Activity is conducted in a class or workshop setting. day-trips Description: Activity is a full-day or multi-day trip. family-friendly Description: Activity is suitable for adults and children of all ages. Exclusive With: adults-only. fast-track Description: Activity includes skip-the-line admission. food Description: Activity is largely centered around food. guided-tours Description: Tour is conducted by a guide. Exclusive With: self-guided. history Description: Activity is history-related or happens in a historical location. hop-on-hop-off Description: Hop-on hop-off tour by bus, boat, etc. literature Description: Activity is largely centered around a literature theme. live-music Description: Activity includes a live music performance. museums Description: Activity visits or happens at a museum. nightlife Description: Activity includes social activities or entertainment at night. outdoors Description: Activity happens outside or in nature. private-tours Description: Tour is conducted with a private group of participants. Exclusive With: small-group-tours. romantic Description: Activity is recommended for couples. recurring-events Description: Activity is a recurring tourist event taking place at the same venue lasting for at least four weeks, such as weekly shows or seasonal events. self-guided Description: Activity is self-guided with prepared instructions. Exclusive With: guided-tours. small-group-tours Description: Tour is conducted with a small group of participants. Exclusive With: private-tours. sports Description: Activity is largely centered around a sport or fitness theme. theme-parks Description: Activity visits or happens at an amusement park. walking-tours Description: Tour involves sightseeing on foot. wheelchair-accessible Description: Participants in wheelchairs can participate fully. Usage Notes Purpose: Categorization enhances filtering, search, and discoverability for customers, resellers, and platforms. Exclusivity Constraints: Some labels cannot coexist, ensuring clarity (e.g., adults-only cannot coexist with family-friendly). Customizable: While based on Google option Categories, suppliers may adapt or add further labels for niche experiences.
reviewRatings[]
array<object> | null (reviewRatings object)
This field contains a list of rating objects, each representing a specific rating associated with the option. Ratings help resellers and customers evaluate the option’s quality and popularity based on user feedback. Each rating object includes the following details:
reviewRatings[].count
integer
The total number of ratings received, represented as an integer. This count provides insight into how many users have submitted ratings for the option.
reviewRatings[].value
float
The average rating value, calculated from all submitted ratings. This value is typically a floating-point number that represents the mean score on the rating scale (e.g., 4.5 on a 5-star scale).
reviewRatings[].scale
integer
The maximum possible value on the rating scale, which defines the upper limit (e.g., 5 for a 5-star system or 10 for a 10-point system).
reviewRatings[].url
string (uri)
A URL linking to more details about the ratings, such as a review page or the source of the ratings. This field provides additional context and enables users to explore detailed feedback or reviews.
reviewRatings[].externalPlatform
string | null (enum: GOOGLE, YELP, TRIPADVISOR, FACEBOOK, VIATOR, GETYOURGUIDE, OTHER)
The platform from which the rating originates. Most common platforms include: GOOGLE: Ratings sourced from Google, often through Google Maps or the Google Business Profile. YELP: Ratings from Yelp, a platform focused on user reviews for businesses, restaurants, and attractions. TRIPADVISOR: Ratings from Tripadvisor, a well-known travel and review platform for accommodations, tours, and activities. FACEBOOK: Ratings or recommendations from a business or location's Facebook page. VIATOR: Ratings sourced from Viator, a platform specializing in tours and activities. GETYOURGUIDE: Ratings from GetYourGuide, another platform focused on booking and reviewing tours and activities. OTHER: A general category for platforms not explicitly listed, used for custom or less common sources of ratings.
landingPage
string (uri) | null
The URL of the option’s dedicated landing page on the supplier’s website or reservation platform. This page provides detailed information about the option, including descriptions, pricing, images, and other relevant details. The landing page URL helps resellers direct customers to a centralized source for comprehensive option information. If this field is null, it indicates that no specific landing page is available for the option.
landingPageListView
string (uri) | null
The URL of a landing page where the option is prominently listed among other offerings on the supplier’s website or supplier system. This page serves as an overview or category page, highlighting the option as part of a broader collection. For example, it might display a list of all available tours or activities within a destination. This field can be null if such a list view is not applicable or available for the option.
emergencyTelephone
string | null (E.164)
The emergency contact number for guests to use on the day of the activity. This number should be formatted in the E.164 standard, including the country code followed by the national number without spaces, dashes, or special characters (e.g., +441234567890). This field is particularly useful for addressing last-minute issues, emergencies, or other time-sensitive inquiries during the activity. If null, it indicates that no dedicated emergency number is provided.
termsConditions
string | null
Additional terms and conditions associated with the option, presented either as text or a link to a document or webpage. This field typically includes legal information, cancellation policies, or any disclaimers that customers need to review before booking. Providing clear and accessible terms ensures transparency and helps resellers manage customer expectations.
groupsInfo
string | null
Specific information tailored for larger groups, such as group size limits, special pricing, or additional requirements. This field can also define what qualifies as a group for the option (e.g., "A group consists of 10 or more individuals"). Including group-specific details enables resellers to cater to specialized bookings more effectively.
maximumGroupSize
integer | null
The maximum number of participants allowed in a single group booking for the option. This field provides clarity on the option’s capacity and helps manage expectations for group reservations. If not specified, it indicates that no upper limit is defined, or the limit varies based on other conditions.
private
boolean
Indicates whether the option is private or shared: true: Private experience. false: Shared experience.
title
string
The public-facing name of the unit, designed to be displayed to customers. This should clearly convey the nature of the unit, such as "Adult" or "Student."
shortDescription
string | null
A concise summary of the unit, offering key details to customers. This helps in differentiating units and highlighting important characteristics.
restrictions.minHeight
integer
Minimum height required for this unit (e.g., for amusement park rides).
restrictions.maxHeight
integer
Maximum height allowed.
restructions.heightUnit
string
Unit of height measurement (e.g., "cm" or "in") used for values of minHeight, maxHeight.
restrictions.minWeight
integer
Minimum weight required.
restrictions.maxWeight
integer
Maximum weight allowed.
restructions.weightUnit
string
Unit of weight measurement (e.g., "kg" or "lb") used for values of minWeight, maxWeight.
meetingLocalDateTime
string | null (ISO 8601 date-time YYYY-MM-DDTHH:MM:SS+00:00)
The local date and time for the meeting point. This should be specified in ISO 8601 format.
meetingPoint
object (meetingPoint object)
Contains details about the meeting point for this availability.
meetingPoint.name
string | null
The name of the meeting point.
meetingPoint.directions
string | null
Directions to the meeting point for customer communication.
meetingPoint.address
string | null
The full mailing address of the meeting point as a single string.
meetingPoint.addressLine1
string | null
The primary address line, typically used for the street address, P.O. box, or company name. This field may be null if no address information is provided.
meetingPoint.addressLine2
string | null
The secondary address line used for additional location details, such as apartment numbers, suites, units, building names, or floors. This field can be null if not applicable.
meetingPoint.city
string | null
The name of the city or locality associated with the address. This value can be null if the city is not available or not required.
meetingPoint.stateProvinceRegion
string | null
The state, province, or region associated with the address. This field may be empty or null in cases where such administrative divisions do not apply.
meetingPoint.postalCode
string | null
The postal code or ZIP code used for mail delivery. This value can be null if the postal code is not applicable or missing.
meetingPoint.country
string | null (ISO 3166-1 alpha-2)
The two-letter country code in ISO 3166-1 alpha-2 format (e.g., "US" for the United States, "CA" for Canada). This field can be null if the country code is not available.
meetingPoint.latitude
float | null (decimal degrees)
The latitude of the address location expressed in decimal degrees. The value should be a string representing a valid latitude or null if the coordinate is not available.
meetingPoint.longitude
float | null (decimal degrees)
The longitude of the address location expressed in decimal degrees. This field should contain a valid longitude as a string or be null if the coordinate is not provided.
meetingPoint.externalPlatformLocation
array<object> | null (externalPlatformLocation object)
An optional list unique location identifiers from external plartforms like Google, Apple Maps, Tripadvisor, etc.
meetingPoint.externalPlatformLocation[].type
string (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)
googlePlaceId - Google Place ID (placeId), applePlaceId - Apple Maps API place.id, tripadvisorLocationId - Tripadvisor Content API location_id, otherValue
meetingPoint.externalPlatformLocation[].id
string | null
unique identifier (googlePlaceId - Google Place ID (placeId), applePlaceId - Apple Maps API place.id, tripadvisorLocationId - Tripadvisor Content API location_id)
meetingPoint.externalPlatformLocation[].name
string | null
Location name as listed in the service (if available)
meetingPoint.platform.url
string (uri) | null
Location listing in the service, URL (if available)
availabilityGroup[]
array<object> (availabilityGroup object)
An array containing all applicable availability groups for this availability. Availability groups are designed for marketing purposes, allowing suppliers to organize and highlight specific availabilities based on unique features or attributes that appeal to customers. These groups enable resellers to present options more attractively and emphasize special experiences. For example: "Sunset", "Sunrise". Highlighting evening or morning premium availabilities at an observation deck for customers seeking breathtaking sunset/sunrise views. "Christmas Lights Departure": Evening bus tour departure additionally showcasing festive holiday light displays.
availabilityGroup[].id
string
A unique identifier for the availability group.
availabilityGroup[].internalName
string
The internal name of the availability group, used for backend reference, not customer-facing.
availabilityGroup[].title
string | null
The public-facing title of the availability group, designed to capture customer interest.
availabilityGroup[].description
string | null
A detailed description that explains the unique features or selling points of the grouped availabilities.
availabilityNote
string | null
Any customer-facing notes about specific availability that should be communicated to the customer prior to booking, for example "Limited north visibility due to construction works" for observation deck.
meetingLocalDateTime
string | null (ISO 8601 date-time YYYY-MM-DDTHH:MM:SS+00:00)
The local date and time for the meeting point. This should be specified in ISO 8601 format.
meetingPoint
object (meetingPoint object)
Contains details about the meeting point for this booking.
meetingPoint.name
string | null
The name of the meeting point.
meetingPoint.directions
string | null
Directions to the meeting point for customer communication.
meetingPoint.address
string | null
The full mailing address of the meeting point as a single string.
meetingPoint.addressLine1
string | null
The primary address line, typically used for the street address, P.O. box, or company name. This field may be null if no address information is provided.
meetingPoint.addressLine2
string | null
The secondary address line used for additional location details, such as apartment numbers, suites, units, building names, or floors. This field can be null if not applicable.
meetingPoint.city
string | null
The name of the city or locality associated with the address. This value can be null if the city is not available or not required.
meetingPoint.stateProvinceRegion
string | null
The state, province, or region associated with the address. This field may be empty or null in cases where such administrative divisions do not apply.
meetingPoint.postalCode
string | null
The postal code or ZIP code used for mail delivery. This value can be null if the postal code is not applicable or missing.
meetingPoint.country
string | null (ISO 3166-1 alpha-2)
The two-letter country code in ISO 3166-1 alpha-2 format (e.g., "US" for the United States, "CA" for Canada). This field can be null if the country code is not available.
meetingPoint.latitude
float | null (decimal degrees)
The latitude of the address location expressed in decimal degrees. The value should be a string representing a valid latitude or null if the coordinate is not available.
meetingPoint.longitude
float | null (decimal degrees)
The longitude of the address location expressed in decimal degrees. This field should contain a valid longitude as a string or be null if the coordinate is not provided.
meetingPoint.externalPlatformLocation
array<object> | null (externalPlatformLocation object)
An optional list unique location identifiers from external plartforms like Google, Apple Maps, Tripadvisor, etc.
meetingPoint.externalPlatformLocation[].type
string (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)
googlePlaceId - Google Place ID (placeId), applePlaceId - Apple Maps API place.id, tripadvisorLocationId - Tripadvisor Content API location_id, otherValue
meetingPoint.externalPlatformLocation[].id
string | null
unique identifier (googlePlaceId - Google Place ID (placeId), applePlaceId - Apple Maps API place.id, tripadvisorLocationId - Tripadvisor Content API location_id)
meetingPoint.externalPlatformLocation[].name
string | null
Location name as listed in the service (if available)
meetingPoint.platform.url
string (uri) | null
Location listing in the service, URL (if available)
availabilityGroup[]
array<object> (availabilityGroup object)
An array containing all applicable availability groups for this bookings's availability. Availability groups are designed for marketing purposes, allowing suppliers to organize and highlight specific availabilities based on unique features or attributes that appeal to customers. These groups enable resellers to present options more attractively and emphasize special experiences. For example: "Sunset", "Sunrise". Highlighting evening or morning premium availabilities at an observation deck for customers seeking breathtaking sunset/sunrise views. "Christmas Lights Departure": Evening bus tour departure additionally showcasing festive holiday light displays.
availabilityGroup[].id
string
A unique identifier for the availability group.
availabilityGroup[].internalName
string
The internal name of the availability group, used for backend reference, not customer-facing.
availabilityGroup[].title
string | null
The public-facing title of the availability group, designed to capture customer interest.
availabilityGroup[].description
string | null
A detailed description that explains the unique features or selling points of the grouped availabilities.
availabilityNote
string | null
Any customer-facing notes about specific availability that should be communicated to the customer prior to booking, for example "Limited north visibility due to construction works" for observation deck.