Endpoints for searching and retrieving product details.
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.
- 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.
https://docs.bemyguest.com.sg/_mock/openapi/
https://api.demo.bemyguest.com.sg/
https://api.bemyguest.com.sg/
- Mock server
https://docs.bemyguest.com.sg/_mock/openapi/v2/products/{uuid}/product-types
- Api Demo Server
https://api.demo.bemyguest.com.sg/v2/products/{uuid}/product-types
- Api Production Server
https://api.bemyguest.com.sg/v2/products/{uuid}/product-types
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.bemyguest.com.sg/_mock/openapi/v2/products/{uuid}/product-types' \
-H 'X-Authorization: YOUR_API_KEY_HERE'
{ "data": [ { … }, { … } ] }
- Mock server
https://docs.bemyguest.com.sg/_mock/openapi/v2/product-types/{uuid}
- Api Demo Server
https://api.demo.bemyguest.com.sg/v2/product-types/{uuid}
- Api Production Server
https://api.bemyguest.com.sg/v2/product-types/{uuid}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.bemyguest.com.sg/_mock/openapi/v2/product-types/{uuid}?fields=string&language=string' \
-H 'X-Authorization: YOUR_API_KEY_HERE'
A successful response containing the product type details.
The full ProductType Details information object
How many days in advance booking can be made. NULL if not applicable
Is an infant allowed for this product type (there is no pricing for infants!)
Maximum number of group: sum of adults, children and senior or null when not applicable
Minimum number of group: sum of adults, children and senior or null when not applicable
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
TRUE, the voucher allows direct admission, otherwise customer needs to redeem vouchers. Information about voucher redemption is showed in voucherUse and voucherRedemptionAddress
Voucher redemption address if client needs to redeem a voucher.
voucherRedemptionAddress translated on requested language.
TRUE voucher needs to be printed. Otherwise, it can be presented eg. on mobile device
Translated version of meetingLocation on requested language
Cancellation Policies only applicable for refundable product
Summary of Cancellation Policies for refundable product
List of all ticket types for this product type
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
Booking options
Options per booking array
Options that are required/available for each person on the booking
true/false, indicate whether product type has booking option that require file upload
true/false, indicate whether product type has booking option which has a price.
true/false, indicate whether product type has booking option which has a price and required is TRUE
First date that is available for booking. 'False' if there is no availability date Use calendar endpoint to check availability
Is an adult allowed to book this product type true/false. Use the ticketTypes object for this information
Minimum number of adults. NULL if not applicable. Use the ticketTypes object for this information
Maximum number of adults. NULL if not applicable. Use the ticketTypes object for this information
Minimum age allowed for an adult. NULL if not applicable. Use the ticketTypes object for this information
Maximum age allowed for an adult. NULL if not applicable. Use the ticketTypes object for this information
Minimum number of children or null when not allowed. NULL if not applicable. Use the ticketTypes object for this information
Maximum number of children or null when not allowed. NULL if not applicable. Use the ticketTypes object for this information
Minimum age allowed for a child. NULL if not applicable. Use the ticketTypes object for this information
Maximum age allowed for a child. NULL if not applicable. Use the ticketTypes object for this information
Is a senior allowed to book this product type. Use the ticketTypes object for this information
Minimum number of seniors. NULL if not applicable. Use the ticketTypes object for this information
Maximum number of senior. NULL if not applicable. Use the ticketTypes object for this information
Minimum age allowed for a senior. NULL if not applicable. Use the ticketTypes object for this information
Maximum age allowed for a senior. NULL if not applicable. Use the ticketTypes object for this information
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
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
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
Minimal retail price for adult. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing
Minimal retail price for child. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing
Minimal retail price for senior. Null if not applicable. Use either the calendar endpoint or price-list endpoint to check pricing
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
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
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": { "adultGateRatePrice": 68, "allowAdults": true, "allowChildren": false, "allowInfant": false, "allowSeniors": false, "cancellationPolicies": [], "cancellationPolicySummary": "", "childGateRatePrice": null, "childParityPrice": null, "childRecommendedMarkup": null, "cutOffTime": null, "daysInAdvance": null, "description": "Enjoy 5% Off for 2nd Pax!", "descriptionTranslated": "Enjoy 5% Off for 2nd Pax!", "directAdmission": true, "durationDays": 0, "durationHours": 2, "durationMinutes": 0, "firstAvailabilityDate": "2025-09-01", "hasChildPrice": false, "hasFileUploadOptions": false, "hasOptions": true, "hasPriceOptions": false, "hasRequiredPriceOptions": false, "instantConfirmation": true, "isBmgVoucher": true, "isNonRefundable": true, "links": [ … ], "maxAdultAge": 99, "maxChildAge": null, "maxChildren": null, "maxGroup": null, "maxInfantAge": null, "maxPax": 2, "maxSeniorAge": null, "maxSeniors": null, "meetingAddress": null, "meetingLocation": "Make your own way", "meetingLocationTranslated": "Make your own way", "meetingTime": null, "minAdultAge": 13, "minChildAge": null, "minChildren": null, "minGroup": null, "minInfantAge": null, "minPax": 1, "minSeniorAge": null, "minSeniors": null, "nonInstantVoucher": false, "options": [], "maxNumber": null, "minNumber": null, "name": null, "nameTranslated": null, "price": null, "required": true, "uuid": null, "validFrom": null, "validTo": null } }
- Mock server
https://docs.bemyguest.com.sg/_mock/openapi/v2/product-types/{uuid}/price-lists
- Api Demo Server
https://api.demo.bemyguest.com.sg/v2/product-types/{uuid}/price-lists
- Api Production Server
https://api.bemyguest.com.sg/v2/product-types/{uuid}/price-lists
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.bemyguest.com.sg/_mock/openapi/v2/product-types/{uuid}/price-lists?date_start=2019-08-24&date_end=2019-08-24' \
-H 'X-Authorization: YOUR_API_KEY_HERE'
A successful response containing a calendar of pricing and availability.
For all-day products, this contains the daily number of tickets available. For timeslot products, this will be null, and availability is found within each timeslot.
An array of price configurations. Different timeslots can be linked to a specific price configuration using the priceId.
Timeslot availability for the travel day. Will be null for all-day products.
Links to a specific price object in the top-level prices array.
booking options for product type for travel date, containing two arrays: perBooking (one option per booking) and perPax (one option for each pax)
{ "data": [ { … } ] }
- Mock server
https://docs.bemyguest.com.sg/_mock/openapi/v2/product-types/{uuid}/price-lists/{date}
- Api Demo Server
https://api.demo.bemyguest.com.sg/v2/product-types/{uuid}/price-lists/{date}
- Api Production Server
https://api.bemyguest.com.sg/v2/product-types/{uuid}/price-lists/{date}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.bemyguest.com.sg/_mock/openapi/v2/product-types/{uuid}/price-lists/{date}' \
-H 'X-Authorization: YOUR_API_KEY_HERE'
A successful response containing availability and pricing for a specific date
Availability and Price For Specified Date
For all-day products, this contains the daily number of tickets available. For timeslot products, this will be null, and availability is found within each timeslot.
An array of price configurations. Different timeslots can be linked to a specific price configuration using the priceId.
Timeslot availability for the travel day. Will be null for all-day products.
Links to a specific price object in the top-level prices array.
booking options for product type for travel date, containing two arrays: perBooking (one option per booking) and perPax (one option for each pax)
{ "data": { "date": "2025-08-20", "weekday": "Wednesday", "cancellationPolicy": [], "currency": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d", "availability": [ … ], "timezone": "Asia/Singapore", "options": [], "voucherValidity": { … }, "prices": [ … ] } }