Skip to content

BeMyGuest API v2.0 (2.1)

The BeMyGuest API is the industry benchmark preferred by online travel agents, designed solely for Asia's attractions, tours and activities. This comprehensive API provides real-time access to a vast inventory of travel products.

Key Features:

  • Product Discovery: Search and retrieve detailed information for a wide range of travel products, including attractions, tours, and activities.
  • Real-Time Availability and Pricing: Check live availability and get up-to-date pricing for specific product types and dates.
  • End-to-End Booking Management: Create, confirm, and cancel bookings seamlessly.
  • Voucher Retrieval: Access and download booking vouchers directly through the API.
  • Configuration: Fetch essential configuration data such as supported languages, currencies, and locations to customize your integration.
Download OpenAPI description
Languages
Servers
Mock server

https://docs.bemyguest.com.sg/_mock/openapi/

Api Demo Server

https://api.demo.bemyguest.com.sg/

Api Production Server

https://api.bemyguest.com.sg/

Products

Endpoints for searching and retrieving product details.

Operations

Product-Types

Endpoints for retrieving product type information, pricing, and availability.

Operations

Bookings

Endpoints for creating and managing bookings.

Operations

Configuration

Endpoints for retrieving API configuration data.

Operations

Requests

Schemas that define requests.

Responses

Schemas that define API responses.

Webhooks

Request

This webhook is triggered when a new product becomes available.

Security
Authorization
Bodyapplication/jsonrequired
typestring
Example: "product_available"
dataobject(Product)

Full version of a Product's Details

data.​additionalInfostring
data.​additionalInfoTranslatedstring
data.​addressstring

Address of the location of the attraction

data.​allProductTypesHaveOptionsboolean

true/false, when all product types of product have options.

data.​airportPickupboolean

true/false, Depreciated. When airportPickup is true, customer need to provide airport information. This value has been depreciated. It may be appear as booking option instead.

data.​averageDeliverynumber

Average time (in seconds) that is needed to process the booking

data.​audioHeadsetLanguagesArray of objects(Language)

Available languages for Audio Headset material

data.​audioHeadsetLanguages[].​namestringrequired
data.​audioHeadsetLanguages[].​codestring
data.​audioHeadsetLanguages[].​uuidstringrequired
data.​basePricenumber

Base price of product

data.​businessHoursFromstring

supplier business hours from

data.​businessHoursTostring

supplier business hours to

data.​categoriesArray of objects

Array of categories

data.​currencyobject

Currency

data.​descriptionstring

Description of product. Always in English

data.​descriptionTranslatedstring

Description of product on requested language

data.​hasOptionsboolean

true/false, when at least one product type of this product has options.

data.​highlightsstring

Highlights of product. Always in English

data.​highlightsTranslatedstring

Highlights of product on requested language

data.​hotelPickupboolean

true/false, Depreciated. When hotelPickup is true, customer need to provide hotel name and address. This value has been depreciated. It may be appear as booking option instead

data.​itinerarystring or null

Activity itinerary - only applicable for Package type, will be null for others

Default "null"
data.​itineraryTranslatedstring or null

translated version of itinerary on requested language

Default "null"
data.​latitudestring

Latitude of location

data.​locationsArray of objects

Array product location information

data.​longitudestring

Longitude of location

data.​maxPaxintegerint32

Maximum number of pax (adults)

data.​minPaxintegerint32

Minimum number of pax (adults)

data.​photosArray of objects

Array of photos in different dimensions (Sizes: original, 75x50, 175x112, 680x325). Please download the images to your platform. DO NOT hotlinking to these images

data.​photosUrlstring

images base url

data.​priceIncludesstring

What's included in product price

data.​priceIncludesTranslatedstring

priceIncludes on requested language

data.​reviewAverageScorenumber

Average review score

data.​reviewCountintegerint32

Number of reviews

data.​safetystring or null

activity safety information

Default "null"
data.​safetyTranslatedstring or null

translated version of safety information on requested language

Default "null"
data.​titlestring

Title of product. Always in English

data.​titleTranslatedstring

Title of product on requested language

data.​tourTypestring or null

Tour type of product private/join/null

Default "null"
data.​typeNamestring

Type of product

data.​translationLanguagesArray of objects(Language)

Available translated languages for product.

data.​translationLanguages[].​namestringrequired
data.​translationLanguages[].​codestring
data.​translationLanguages[].​uuidstringrequired
data.​updatedAtstring

last update date/time to product

data.​uuidstring(uuid)

UUID of product

data.​validFromstring or null

Start date for product availability (or null when no limit)

Default "null"
data.​validThroughstring or null

End date if product availability (or null when no limit)

Default "null"
data.​warningsstring or null

Warnings of the activity (related to safety and insurance)

Default "null"
data.​warningsTranslatedstring or null

translated version of warnings on requested language

Default "null"
data.​writtenLanguagesArray of objects(Language)

Available written languages for reading material.

data.​writtenLanguages[].​namestringrequired
data.​writtenLanguages[].​codestring
data.​writtenLanguages[].​uuidstringrequired
data.​covid19Measuresstring or nullDeprecated

Information on Covid-19 notice of Safety Standards of visiting the attractions

Default "null"
data.​covid19MeasuresTranslatedstring or nullDeprecated

Information on Covid-19 notice of Safety Standards of visiting the attractions on requested language

Default "null"
data.​isFlatPaxPricebooleanDeprecated

true/false (An indication to tell if the Product has the same price for each pax in all of its productTypes)

data.​isSrvEligiblebooleanDeprecated

true/false. indicate whether this product is available for Singapore Rediscover Vouchers Promo.

Default false
signaturestring
timestampstring(date-time)
application/json
{ "type": "product_available", "data": { "additionalInfo": "string", "additionalInfoTranslated": "string", "address": "Gateway Ave, Singapore", "allProductTypesHaveOptions": false, "airportPickup": false, "averageDelivery": 64, "audioHeadsetLanguages": [], "basePrice": 69.13, "businessHoursFrom": "10:00", "businessHoursTo": "20:00", "categories": [], "covid19Measures": "no information", "covid19MeasuresTranslated": "no information", "currency": {}, "description": "Experience different cutting-edge rides, shows, and attractions based on your favourite blockbuster films and television series at Universal Studios Singapore. This skip-the-line e-ticket will let guests have access to the seven zones of the park, including Hollywood, New York, Sci-Fi City, Ancient Egypt, Lost World, Far Far Away, and Madagascar.\\r\\n\\r\\nIn Hollywood, ticket holders can try rollercoasters and other movie-themed attractions.", "descriptionTranslated": "在新加坡环球影城体验基于您最喜爱的大片和电视剧的不同尖端游乐设施、表演和景点。这张免排队电子门票将让游客可以进入公园的七个区域,包括好莱坞、纽约、科幻城、古埃及、失落的世界、遥远之地和马达加斯加。\\r\\n \\r\\n在好莱坞,持票者可以尝试过山车和其他电影主题的景点。", "hasOptions": false, "highlights": "Experience cutting-edge rides, shows, and attractions at Universal Studios Singapore\\nVisit the seven themed zones of the park like Ancient Egypt, Lost World, and Madagascar\\nMeet your favourite movie and TV characters like Shrek, Puss in Boots, and the Madagascar gang", "highlightsTranslated": "在新加坡环球影城体验尖端的游乐设施、表演和景点\\n参观公园的七个主题区,如古埃及、失落的世界和马达加斯加\\n认识你最喜欢的电影和电视角色,如怪物史莱克、穿靴子的猫和马达加斯加帮派", "hotelPickup": false, "isFlatPaxPrice": true, "isSrvEligible": false, "itinerary": "no itinerary", "itineraryTranslated": "no itinerary", "latitude": "1.2544975", "locations": [], "longitude": "103.8251792", "maxPax": 10, "minPax": 1, "photos": {}, "photosUrl": "https://s3.amazonaws.com/playground.bemyguest.com.sg", "priceIncludes": "Admission fee", "priceIncludesTranslated": "入场费", "reviewAverageScore": 4, "reviewCount": 1, "safety": "no information", "safetyTranslated": "no information", "title": "Universal Studios Singapore E-ticket (Test)", "titleTranslated": "新加坡环球影城电子门票(测试)", "tourType": "join", "typeName": "Attraction", "translationLanguages": [], "updatedAt": "2020-03-13 17:31:00", "uuid": "d5a03ea2-e06e-5d01-84b7-94530b1059f7", "validFrom": "2020-01-01", "validThrough": "2024-01-20", "warnings": "- The park shall remain operational in case of light rains. The decision to proceed is up to the ticket holder.\\r\\n\\r\\nSafety and insurance:\\r\\n- Children below 12 years old must be accompanied by a paying adult at all times.\\r\\n- Detailed information about ride restrictions can be found at the Guest Services Windows located at the front part of the park. It is also available at the Guest Services Lobby inside the park.", "warningsTranslated": "- 若遇小雨,公园将照常开放。是否继续进行的决定取决于持票人。\\r\\n\\r\\n安全和保险:\\r\\n- 12 岁以下儿童必须始终由付费成人陪同。\\r\\n- 详细信息有关乘车限制的信息,请前往位于公园前部的游客服务窗口。您也可以在公园内的宾客服务大厅购买。", "writtenLanguages": [] }, "signature": "string", "timestamp": "2019-08-24T14:15:22Z" }

Responses

OK

Request

This webhook is triggered when a product's information is updated.

Security
Authorization
Bodyapplication/jsonrequired
typestring
Example: "product_updated"
dataobject(Product)

Full version of a Product's Details

data.​additionalInfostring
data.​additionalInfoTranslatedstring
data.​addressstring

Address of the location of the attraction

data.​allProductTypesHaveOptionsboolean

true/false, when all product types of product have options.

data.​airportPickupboolean

true/false, Depreciated. When airportPickup is true, customer need to provide airport information. This value has been depreciated. It may be appear as booking option instead.

data.​averageDeliverynumber

Average time (in seconds) that is needed to process the booking

data.​audioHeadsetLanguagesArray of objects(Language)

Available languages for Audio Headset material

data.​audioHeadsetLanguages[].​namestringrequired
data.​audioHeadsetLanguages[].​codestring
data.​audioHeadsetLanguages[].​uuidstringrequired
data.​basePricenumber

Base price of product

data.​businessHoursFromstring

supplier business hours from

data.​businessHoursTostring

supplier business hours to

data.​categoriesArray of objects

Array of categories

data.​currencyobject

Currency

data.​descriptionstring

Description of product. Always in English

data.​descriptionTranslatedstring

Description of product on requested language

data.​hasOptionsboolean

true/false, when at least one product type of this product has options.

data.​highlightsstring

Highlights of product. Always in English

data.​highlightsTranslatedstring

Highlights of product on requested language

data.​hotelPickupboolean

true/false, Depreciated. When hotelPickup is true, customer need to provide hotel name and address. This value has been depreciated. It may be appear as booking option instead

data.​itinerarystring or null

Activity itinerary - only applicable for Package type, will be null for others

Default "null"
data.​itineraryTranslatedstring or null

translated version of itinerary on requested language

Default "null"
data.​latitudestring

Latitude of location

data.​locationsArray of objects

Array product location information

data.​longitudestring

Longitude of location

data.​maxPaxintegerint32

Maximum number of pax (adults)

data.​minPaxintegerint32

Minimum number of pax (adults)

data.​photosArray of objects

Array of photos in different dimensions (Sizes: original, 75x50, 175x112, 680x325). Please download the images to your platform. DO NOT hotlinking to these images

data.​photosUrlstring

images base url

data.​priceIncludesstring

What's included in product price

data.​priceIncludesTranslatedstring

priceIncludes on requested language

data.​reviewAverageScorenumber

Average review score

data.​reviewCountintegerint32

Number of reviews

data.​safetystring or null

activity safety information

Default "null"
data.​safetyTranslatedstring or null

translated version of safety information on requested language

Default "null"
data.​titlestring

Title of product. Always in English

data.​titleTranslatedstring

Title of product on requested language

data.​tourTypestring or null

Tour type of product private/join/null

Default "null"
data.​typeNamestring

Type of product

data.​translationLanguagesArray of objects(Language)

Available translated languages for product.

data.​translationLanguages[].​namestringrequired
data.​translationLanguages[].​codestring
data.​translationLanguages[].​uuidstringrequired
data.​updatedAtstring

last update date/time to product

data.​uuidstring(uuid)

UUID of product

data.​validFromstring or null

Start date for product availability (or null when no limit)

Default "null"
data.​validThroughstring or null

End date if product availability (or null when no limit)

Default "null"
data.​warningsstring or null

Warnings of the activity (related to safety and insurance)

Default "null"
data.​warningsTranslatedstring or null

translated version of warnings on requested language

Default "null"
data.​writtenLanguagesArray of objects(Language)

Available written languages for reading material.

data.​writtenLanguages[].​namestringrequired
data.​writtenLanguages[].​codestring
data.​writtenLanguages[].​uuidstringrequired
data.​covid19Measuresstring or nullDeprecated

Information on Covid-19 notice of Safety Standards of visiting the attractions

Default "null"
data.​covid19MeasuresTranslatedstring or nullDeprecated

Information on Covid-19 notice of Safety Standards of visiting the attractions on requested language

Default "null"
data.​isFlatPaxPricebooleanDeprecated

true/false (An indication to tell if the Product has the same price for each pax in all of its productTypes)

data.​isSrvEligiblebooleanDeprecated

true/false. indicate whether this product is available for Singapore Rediscover Vouchers Promo.

Default false
updatedFieldsArray of strings
signaturestring
timestampstring(date-time)
application/json
{ "type": "product_updated", "data": { "additionalInfo": "string", "additionalInfoTranslated": "string", "address": "Gateway Ave, Singapore", "allProductTypesHaveOptions": false, "airportPickup": false, "averageDelivery": 64, "audioHeadsetLanguages": [], "basePrice": 69.13, "businessHoursFrom": "10:00", "businessHoursTo": "20:00", "categories": [], "covid19Measures": "no information", "covid19MeasuresTranslated": "no information", "currency": {}, "description": "Experience different cutting-edge rides, shows, and attractions based on your favourite blockbuster films and television series at Universal Studios Singapore. This skip-the-line e-ticket will let guests have access to the seven zones of the park, including Hollywood, New York, Sci-Fi City, Ancient Egypt, Lost World, Far Far Away, and Madagascar.\\r\\n\\r\\nIn Hollywood, ticket holders can try rollercoasters and other movie-themed attractions.", "descriptionTranslated": "在新加坡环球影城体验基于您最喜爱的大片和电视剧的不同尖端游乐设施、表演和景点。这张免排队电子门票将让游客可以进入公园的七个区域,包括好莱坞、纽约、科幻城、古埃及、失落的世界、遥远之地和马达加斯加。\\r\\n \\r\\n在好莱坞,持票者可以尝试过山车和其他电影主题的景点。", "hasOptions": false, "highlights": "Experience cutting-edge rides, shows, and attractions at Universal Studios Singapore\\nVisit the seven themed zones of the park like Ancient Egypt, Lost World, and Madagascar\\nMeet your favourite movie and TV characters like Shrek, Puss in Boots, and the Madagascar gang", "highlightsTranslated": "在新加坡环球影城体验尖端的游乐设施、表演和景点\\n参观公园的七个主题区,如古埃及、失落的世界和马达加斯加\\n认识你最喜欢的电影和电视角色,如怪物史莱克、穿靴子的猫和马达加斯加帮派", "hotelPickup": false, "isFlatPaxPrice": true, "isSrvEligible": false, "itinerary": "no itinerary", "itineraryTranslated": "no itinerary", "latitude": "1.2544975", "locations": [], "longitude": "103.8251792", "maxPax": 10, "minPax": 1, "photos": {}, "photosUrl": "https://s3.amazonaws.com/playground.bemyguest.com.sg", "priceIncludes": "Admission fee", "priceIncludesTranslated": "入场费", "reviewAverageScore": 4, "reviewCount": 1, "safety": "no information", "safetyTranslated": "no information", "title": "Universal Studios Singapore E-ticket (Test)", "titleTranslated": "新加坡环球影城电子门票(测试)", "tourType": "join", "typeName": "Attraction", "translationLanguages": [], "updatedAt": "2020-03-13 17:31:00", "uuid": "d5a03ea2-e06e-5d01-84b7-94530b1059f7", "validFrom": "2020-01-01", "validThrough": "2024-01-20", "warnings": "- The park shall remain operational in case of light rains. The decision to proceed is up to the ticket holder.\\r\\n\\r\\nSafety and insurance:\\r\\n- Children below 12 years old must be accompanied by a paying adult at all times.\\r\\n- Detailed information about ride restrictions can be found at the Guest Services Windows located at the front part of the park. It is also available at the Guest Services Lobby inside the park.", "warningsTranslated": "- 若遇小雨,公园将照常开放。是否继续进行的决定取决于持票人。\\r\\n\\r\\n安全和保险:\\r\\n- 12 岁以下儿童必须始终由付费成人陪同。\\r\\n- 详细信息有关乘车限制的信息,请前往位于公园前部的游客服务窗口。您也可以在公园内的宾客服务大厅购买。", "writtenLanguages": [] }, "updatedFields": [ "string" ], "signature": "string", "timestamp": "2019-08-24T14:15:22Z" }

Responses

OK

Request

This webhook is triggered when a new product type becomes available.

Security
Authorization
Bodyapplication/jsonrequired
productUuidstring(uuid)
productTypeUuidstring(uuid)
endpointstring
typestring
Example: "product_type_available"
timestampstring(date-time)
signaturestring
application/json
{ "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3", "productTypeUuid": "93d69d2b-cfee-42c6-9a3c-b1977ed661f0", "endpoint": "string", "type": "product_type_available", "timestamp": "2019-08-24T14:15:22Z", "signature": "string" }

Responses

OK

Request

This webhook is triggered when a product type is no longer available.

Security
Authorization
Bodyapplication/jsonrequired
productUuidstring(uuid)
productTypeUuidstring(uuid)
typestring
Example: "product_type_not_available"
timestampstring(date-time)
signaturestring
application/json
{ "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3", "productTypeUuid": "93d69d2b-cfee-42c6-9a3c-b1977ed661f0", "type": "product_type_not_available", "timestamp": "2019-08-24T14:15:22Z", "signature": "string" }

Responses

OK

Product-type content updatedWebhook

Request

This webhook is triggered when the content of a product type is updated.

Security
Authorization
Bodyapplication/jsonrequired
typestring
Example: "product_type_content_updated"
dataobject(ProductType)

The full ProductType Details information object

data.​uuidstring

UUID of product-type

data.​titlestring

Title of product type, always in English

data.​titleTranslatedstring

Title of product type translated on requested language

data.​descriptionstring

Description of product type, always in English

data.​descriptionTranslatedstring

Description of product translated on requested language

data.​durationDaysintegerint32

Duration of activity in days

data.​durationHoursintegerint32

Duration of activity in hours

data.​durationMinutesintegerint32

Duration of activity in minutes

data.​daysInAdvanceinteger or nullint32

How many days in advance booking can be made. NULL if not applicable

data.​cutOffTimestring or null

Booking can't be made after this time. NULL if not applicable

data.​isNonRefundableboolean

Product type non-refundable true/false

data.​allowChildrenboolean

Is a child allowed to book this product type

data.​allowInfantboolean

Is an infant allowed for this product type (there is no pricing for infants!)

data.​minInfantAgeinteger or nullint32

Minimum age allowed for an infant

data.​maxInfantAgeinteger or nullint32

Maximum age allowed for an infant

data.​maxGroupinteger or nullint32

Maximum number of group: sum of adults, children and senior or null when not applicable

data.​minGroupinteger or nullint32

Minimum number of group: sum of adults, children and senior or null when not applicable

data.​instantConfirmationboolean

TRUE then confirmed booking this product should return new Booking status = approved, but if we're out of stock of e-tickets it can still return a 'Waiting' status

data.​nonInstantVoucherboolean

TRUE = voucher needs manual processing

data.​directAdmissionboolean

TRUE, the voucher allows direct admission, otherwise customer needs to redeem vouchers. Information about voucher redemption is showed in voucherUse and voucherRedemptionAddress

data.​voucherUsestring or null

Instruction on how to use the voucher

Default "null"
data.​voucherUseTranslatedstring or null

voucherUser translated on request language

Default "null"
data.​voucherRedemptionAddressstring or null

Voucher redemption address if client needs to redeem a voucher.

Default "null"
data.​voucherRedemptionAddressTranslatedstring or null

voucherRedemptionAddress translated on requested language.

Default "null"
data.​voucherRequiresPrintingboolean

TRUE voucher needs to be printed. Otherwise, it can be presented eg. on mobile device

data.​meetingTimestring or null

Meeting time

Default "null"
data.​meetingAddressstring or null

Meeting location address

Default "null"
data.​meetingLocationstring or null

Instructions about meeting location

Default "null"
data.​meetingLocationTranslatedstring or null

Translated version of meetingLocation on requested language

Default "null"
data.​cancellationPoliciesArray of objects

Cancellation Policies only applicable for refundable product

data.​cancellationPolicySummarystring or null

Summary of Cancellation Policies for refundable product

data.​ticketTypesArray of objects(TicketTypes)

List of all ticket types for this product type

data.​ticketTypes[].​typestringrequired
data.​ticketTypes[].​labelstringrequired
data.​ticketTypes[].​allowedbooleanrequired
data.​ticketTypes[].​minintegerint32required
data.​ticketTypes[].​maxintegerint32required
data.​ticketTypes[].​minAgeintegerint32required
data.​ticketTypes[].​maxAgeintegerint32required
data.​ticketTypes[].​recommendedMarkupnumberDeprecatedrequired
data.​ticketTypes[].​parityPricenumberDeprecatedrequired
data.​ticketTypes[].​gateRatePriceintegerint32Deprecatedrequired
data.​validityobject

Four validity types of the e-tickets/vouchers currently available:

data.​timeslotsArray of objects

Available timeslots for product, might be null. If the ProductType has timeslots, the timeslotUUID of the product is REQUIRED in Check a Booking and Create a new booking methods

data.​timezonestring

Timezone of the product type

data.​optionsobject(ProductTypeOptions)

Booking options

data.​options.​perBookingArray of objects(ProductTypeOption)>= 0 items

Options per booking array

data.​options.​perBooking[].​uuidstringrequired
data.​options.​perBooking[].​namestringrequired
data.​options.​perBooking[].​nameTranslatedstringrequired
data.​options.​perBooking[].​descriptionstringrequired
data.​options.​perBooking[].​descriptionTranslatedstringrequired
data.​options.​perBooking[].​requiredbooleanrequired
data.​options.​perBooking[].​addOnbooleanrequired
data.​options.​perBooking[].​formatRegexstringrequired
data.​options.​perBooking[].​inputTypeintegerint32required
data.​options.​perBooking[].​minNumberintegerint32required
data.​options.​perBooking[].​maxNumberintegerint32required
data.​options.​perBooking[].​validFromstringrequired
data.​options.​perBooking[].​validTostringrequired
data.​options.​perPaxArray of objects(ProductTypeOption)>= 0 items

Options that are required/available for each person on the booking

data.​options.​perPax[].​uuidstringrequired
data.​options.​perPax[].​namestringrequired
data.​options.​perPax[].​nameTranslatedstringrequired
data.​options.​perPax[].​descriptionstringrequired
data.​options.​perPax[].​descriptionTranslatedstringrequired
data.​options.​perPax[].​requiredbooleanrequired
data.​options.​perPax[].​addOnbooleanrequired
data.​options.​perPax[].​formatRegexstringrequired
data.​options.​perPax[].​inputTypeintegerint32required
data.​options.​perPax[].​minNumberintegerint32required
data.​options.​perPax[].​maxNumberintegerint32required
data.​options.​perPax[].​validFromstringrequired
data.​options.​perPax[].​validTostringrequired
data.​hasOptionsboolean

true/false, indicate whether product type has booking options.

data.​hasFileUploadOptionsboolean

true/false, indicate whether product type has booking option that require file upload

data.​hasPriceOptionsboolean

true/false, indicate whether product type has booking option which has a price.

data.​hasRequiredPriceOptionsboolean

true/false, indicate whether product type has booking option which has a price and required is TRUE

data.​isBmgVoucherboolean

true/false, indicate whether product type using BMG own voucher code

data.​firstAvailabilityDatestringDeprecated

First date that is available for booking. 'False' if there is no availability date Use calendar endpoint to check availability

data.​allowAdultsbooleanDeprecated

Is an adult allowed to book this product type true/false. Use the ticketTypes object for this information

data.​minPaxinteger or nullint32Deprecated

Minimum number of adults. NULL if not applicable. Use the ticketTypes object for this information

data.​maxPaxinteger or nullint32Deprecated

Maximum number of adults. NULL if not applicable. Use the ticketTypes object for this information

data.​minAdultAgeinteger or nullint32Deprecated

Minimum age allowed for an adult. NULL if not applicable. Use the ticketTypes object for this information

data.​maxAdultAgeinteger or nullint32Deprecated

Maximum age allowed for an adult. NULL if not applicable. Use the ticketTypes object for this information

data.​hasChildPricebooleanDeprecated

Does product has child price

data.​minChildreninteger or nullint32Deprecated

Minimum number of children or null when not allowed. NULL if not applicable. Use the ticketTypes object for this information

data.​maxChildreninteger or nullint32Deprecated

Maximum number of children or null when not allowed. NULL if not applicable. Use the ticketTypes object for this information

data.​minChildAgeinteger or nullint32Deprecated

Minimum age allowed for a child. NULL if not applicable. Use the ticketTypes object for this information

data.​maxChildAgeinteger or nullint32Deprecated

Maximum age allowed for a child. NULL if not applicable. Use the ticketTypes object for this information

data.​allowSeniorsbooleanDeprecated

Is a senior allowed to book this product type. Use the ticketTypes object for this information

data.​minSeniorsinteger or nullint32Deprecated

Minimum number of seniors. NULL if not applicable. Use the ticketTypes object for this information

data.​maxSeniorsinteger or nullint32Deprecated

Maximum number of senior. NULL if not applicable. Use the ticketTypes object for this information

data.​minSeniorAgeinteger or nullint32Deprecated

Minimum age allowed for a senior. NULL if not applicable. Use the ticketTypes object for this information

data.​maxSeniorAgeinteger or nullint32Deprecated

Maximum age allowed for a senior. NULL if not applicable. Use the ticketTypes object for this information

data.​recommendedMarkupnumber or nullDeprecated

Recommended markup to adult prices if you want to match with BMG's recommended prices (RRP). Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​childRecommendedMarkupnumber or nullDeprecated

Recommended markup for child prices if you want to match with BMG's recommended prices (RRP). Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​seniorRecommendedMarkupnumber or nullDeprecated

Recommended markup for senior prices if you want to match with BMG's recommended prices (RRP). Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​adultParityPricenumber or nullDeprecated

Minimal retail price for adult. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​childParityPricenumber or nullDeprecated

Minimal retail price for child. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​seniorParityPricenumber or nullDeprecated

Minimal retail price for senior. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​adultGateRatePricenumber or nullDeprecated

The rate that an adult get directly at the attraction website or gate. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​childGateRatePricenumber or nullDeprecated

The rate that a child get directly at the attraction website or gate. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​seniorGateRatePricenumber or nullDeprecated

The rate that a senior get directly at the attraction website or gate. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing

data.​isSrvEligiblebooleanDeprecated

true/false. indicate whether this product type is available for Singapore Rediscover Vouchers Promo.

updatedFieldsArray of strings
signaturestring
timestampstring(date-time)
application/json
{ "type": "product_type_content_updated", "data": { "uuid": "d11b9919-4da2-5a4c-bcea-c3b9f688cc62", "title": "River Safari Admission with Two Boat Rides", "titleTranslated": "River Safari Admission with Two Boat Rides", "description": "description.... descriptions....", "descriptionTranslated": "descriptions...descriptions....", "durationDays": 0, "durationHours": 8, "durationMinutes": 0, "daysInAdvance": 1, "cutOffTime": "17:00", "firstAvailabilityDate": "2024-01-20", "isNonRefundable": true, "allowAdults": true, "minPax": 1, "maxPax": 10, "minAdultAge": 13, "maxAdultAge": 60, "hasChildPrice": true, "allowChildren": true, "minChildren": 0, "maxChildren": 10, "minChildAge": 6, "maxChildAge": 12, "allowSeniors": true, "minSeniors": 0, "maxSeniors": 10, "minSeniorAge": 61, "maxSeniorAge": 90, "allowInfant": true, "minInfantAge": 0, "maxInfantAge": 2, "maxGroup": 5, "minGroup": 2, "instantConfirmation": true, "nonInstantVoucher": false, "directAdmission": true, "voucherUse": "instruction..instruction....", "voucherUseTranslated": "how to use....how to use....", "voucherRedemptionAddress": "redeem here....redeem here....", "voucherRedemptionAddressTranslated": "redeem here...redeem here....", "voucherRequiresPrinting": false, "meetingTime": "13:00", "meetingAddress": "This address...this address", "meetingLocation": "Meet here....meet here...", "meetingLocationTranslated": "Meet here....meet here....", "cancellationPolicies": [], "cancellationPolicySummary": "Cancellation of at least 48 hrs before arrival: 100% refund\\nCancellation between 48 hrs and 24 hrs before arrival: 10% refund\\nExtra cancellation or refund fees may apply. Any cancellations falling outside of the above policy are strictly non-refundable", "recommendedMarkup": 66.67, "childRecommendedMarkup": 66.67, "seniorRecommendedMarkup": 66.67, "adultParityPrice": 60, "childParityPrice": 60, "seniorParityPrice": 60, "adultGateRatePrice": 80, "childGateRatePrice": 80, "seniorGateRatePrice": 80, "ticketTypes": [], "validity": {}, "timeslots": [], "timezone": "Europe/Berlin", "options": {}, "hasOptions": true, "hasFileUploadOptions": false, "hasPriceOptions": false, "hasRequiredPriceOptions": false, "isBmgVoucher": false, "isSrvEligible": false }, "updatedFields": [ "string" ], "signature": "string", "timestamp": "2019-08-24T14:15:22Z" }

Responses

OK

Request

This webhook is triggered when a booking's status is updated.

Security
Authorization
Bodyapplication/jsonrequired
bookingUuidstring(uuid)
previousStatusstring
currentStatusstring
typestring
Example: "booking_status_updated"
timestampstring(date-time)
signaturestring
application/json
{ "bookingUuid": "91151bb5-cb15-45c8-9a6c-0c1cd4bce36f", "previousStatus": "string", "currentStatus": "string", "type": "booking_status_updated", "timestamp": "2019-08-24T14:15:22Z", "signature": "string" }

Responses

OK

Request

This webhook is triggered when a booking's data is updated.

Security
Authorization
Bodyapplication/jsonrequired
typestring
Example: "booking_data_updated"
bookingUuidstring(uuid)
dataobject(BookingDetails)

This object is returned in the response whenever a booking is created, modified or viewed in the API

data.​adultsinteger
data.​amountBreakdownArray of objects(AmountBreakdown)
data.​amountBreakdown[].​namestringrequired
data.​amountBreakdown[].​pricestringrequired
data.​amountBreakdown[].​quantityintegerrequired
data.​arrivalDatestring(date)
data.​cancellationRequestAtstring or null
data.​cancellationRequestStatusstring
data.​cancellationStatusstring or null
data.​childreninteger
data.​codestring
data.​completedAtstring or null
data.​createdAtstring
data.​currencyCodestring
data.​currencyUuidstring(uuid)
data.​emailstring(email)
data.​firstNamestring
data.​lastNamestring
data.​linksArray of objects(Link)
data.​links[].​methodstringrequired
data.​links[].​relstringrequired
data.​links[].​hrefstringrequired
data.​optionsArray of arrays
data.​partnerReferencestring
data.​phonestring
data.​productTypeTitlestring
data.​productTypeTitleTranslatedstring
data.​productTypeUuidstring(uuid)
data.​refundAmountnumber or null
data.​refundDatestring or null
data.​refundTransactionstring or null
data.​salutationstring
data.​seniorsinteger
data.​statusstring
data.​ticketTypesArray of objects(TicketType)
data.​ticketTypes[].​quantityintegerrequired
data.​ticketTypes[].​typestringrequired
data.​timeSlotstring
data.​totalAmountnumber
data.​updatedAtstring
data.​uuidstring(uuid)
updatedFieldsArray of strings
signaturestring
timestampstring(date-time)
application/json
{ "type": "booking_data_updated", "bookingUuid": "91151bb5-cb15-45c8-9a6c-0c1cd4bce36f", "data": { "adults": 0, "amountBreakdown": [], "arrivalDate": "2019-08-24", "cancellationRequestAt": "string", "cancellationRequestStatus": "string", "cancellationStatus": "string", "children": 0, "code": "string", "completedAt": "string", "createdAt": "string", "currencyCode": "string", "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4", "email": "user@example.com", "firstName": "string", "lastName": "string", "links": [], "options": [], "partnerReference": "string", "phone": "string", "productTypeTitle": "string", "productTypeTitleTranslated": "string", "productTypeUuid": "93d69d2b-cfee-42c6-9a3c-b1977ed661f0", "refundAmount": 0, "refundDate": "string", "refundTransaction": "string", "salutation": "string", "seniors": 0, "status": "string", "ticketTypes": [], "timeSlot": "string", "totalAmount": 0, "updatedAt": "string", "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f" }, "updatedFields": [ "string" ], "signature": "string", "timestamp": "2019-08-24T14:15:22Z" }

Responses

OK

Request

This webhook is triggered when a booking's tickets are updated.

Security
Authorization
Bodyapplication/jsonrequired
bookingUuidstring(uuid)
dataArray of objects(BookingVoucher)
data[].​uuidstring

UUID of voucher

data[].​generatedAtstring

voucher generated date/time

data[].​downloadedAtstring

voucher downloaded date/time via API

data[].​linksArray of objects

voucher download links - partner is required to download the vouchers to their system

data[].​visualIdstring or null

visual id of voucher if applicable

Default "null"
typestring
Example: "booking_tickets_updated"
timestampstring(date-time)
signaturestring
application/json
{ "bookingUuid": "91151bb5-cb15-45c8-9a6c-0c1cd4bce36f", "data": [ {} ], "type": "booking_tickets_updated", "timestamp": "2019-08-24T14:15:22Z", "signature": "string" }

Responses

OK