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

AvailabilityDate

Availability and Price For Specified Date

availabilityArray of objects or null(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.

availability[].​categorystring
Example: "adult"
availability[].​quantityinteger
Example: 117
availability[].​typestring
Example: "shared"
datestring

travel date

weekdaystring

weekday of travel

currencystring

currency UUID

cancellationPolicyArray of objects

Cancellation policy for the product type.

pricesArray of objects(PriceDetail)

An array of price configurations. Different timeslots can be linked to a specific price configuration using the priceId.

prices[].​idstring(uuid)
Example: "cb57b5c6-376c-47f5-ad09-606d6850f5e1"
prices[].​ratesArray of objects(RateDetail)
prices[].​rates[].​amountnumber
Example: 98
prices[].​rates[].​categorystring
Example: "adult"
prices[].​rates[].​currencystring
Example: "SGD"
prices[].​rates[].​formatstring
Example: "S$98.00"
prices[].​rates[].​metaobject or Array of arrays
Example: {"markup":16.8639}
One of:
object
prices[].​rates[].​type"nettPrice" (string) or "retailPrice" (string) or "recommendedPrice" (string) or "minimumSellingPrice" (string)(PriceTypes)
One of:
string("nettPrice")
timeslotsArray of objects

Timeslot availability for the travel day. Will be null for all-day products.

timeslots[].​startTimestring(time)
Example: "08:00"
timeslots[].​endTimestring(time)
Example: "08:00"
timeslots[].​uuidstring(uuid)
timeslots[].​priceIdstring(uuid)

Links to a specific price object in the top-level prices array.

timeslots[].​availabilityArray of objects(Availability)
timeslots[].​availability[].​categorystring
Example: "adult"
timeslots[].​availability[].​quantityinteger
Example: 117
timeslots[].​availability[].​typestring
Example: "shared"
timezonestring

Timezone of the product type

optionsArray of objects

booking options for product type for travel date, containing two arrays: perBooking (one option per booking) and perPax (one option for each pax)

voucherValidityobject

voucher validity for travel date, object containing validity for different ticket types

{ "availability": [ {}, {} ], "date": "2024-05-13", "weekday": "Monday", "available": true, "currency": "cd15153e-dfd1-5039-8aa3-115bec58e86e", "prices": [ {} ], "cancellationPolicy": [], "timeslots": [], "options": [], "voucherValidity": { "adults": {}, "children": {}, "youth": {}, "infant": {}, "seniors": {} } }

Booking Customer

emailstringrequired

email

firstNamestringrequired

First name - accepts alphabets, spaces, hyphen and apostrophe only

lastNamestringrequired

Last name - accepts alphabets, spaces, hyphen and apostrophe only

phonestringrequired

Phone number

salutationstringrequired

Salutation

{ "email": "example@bemyguest.com.sg", "firstName": "Example", "lastName": "Customer", "phone": "+65 0000 0000", "salutation": "Mr." }

BookingDetails

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

adultsinteger
amountBreakdownArray of objects(AmountBreakdown)
amountBreakdown[].​namestringrequired
amountBreakdown[].​pricestringrequired
amountBreakdown[].​quantityintegerrequired
arrivalDatestring(date)
cancellationRequestAtstring or null
cancellationRequestStatusstring
cancellationStatusstring or null
childreninteger
codestring
completedAtstring or null
createdAtstring
currencyCodestring
currencyUuidstring(uuid)
emailstring(email)
firstNamestring
lastNamestring
linksArray of objects(Link)
links[].​methodstringrequired
links[].​relstringrequired
links[].​hrefstringrequired
optionsArray of arrays
partnerReferencestring
phonestring
productTypeTitlestring
productTypeTitleTranslatedstring
productTypeUuidstring(uuid)
refundAmountnumber or null
refundDatestring or null
refundTransactionstring or null
salutationstring
seniorsinteger
statusstring
ticketTypesArray of objects(TicketType)
ticketTypes[].​quantityintegerrequired
ticketTypes[].​typestringrequired
timeSlotstring
totalAmountnumber
updatedAtstring
uuidstring(uuid)
{ "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" }