Skip to main content

Booking Detail API

This method returns the current public detail record for an existing booking.

The response can include booking, stay, guest, room, meal/board, price, currency, and payment fields. Values that are not available for a booking can be empty or omitted according to the response.

πŸ“ Endpoint​

GET {BaseURL}/api/booking/booking-detail?bookingID=00000000-0000-4000-8000-000000000001

Example data note: The bookingID shown here is synthetic and illustrative. Do not copy it as live booking data.

PropertyValue
URI{BaseURL}/api/booking/booking-detail?bookingID={bookingID}
MethodGET
Content-Typeapplication/json

Authorization​

Send the Basic Auth header described in Authentication.

πŸ“‹ Request Parameters​

ParameterTypeDescription
bookingIDStringBooking identifier query parameter. Send the exact ConfirmationNumber or BookingId returned by booking, booking-detail, or booking-list.

πŸ” Authorization​

This endpoint requires a Basic Authorization header, using the same API client credentials as the other booking endpoints.

πŸ“€ Example Request​

GET {BaseURL}/api/booking/booking-detail?bookingID=00000000-0000-4000-8000-000000000001 HTTP/1.1
Authorization: Basic base64(username:password)

Example data note: The identifier and header values above are synthetic and illustrative. Do not copy them as live booking or customer data.

πŸ“₯ Response Parameters​

ParameterTypeDescription
timestampStringServer timestamp in ISO-like string format
contentObjectBooking detail payload
content.statusStringBooking status
content.dates.fromStringStay start date
content.dates.toStringStay end date
content.bookingIdIntegerBooking identifier
content.referenceObjectReference values associated with the booking
content.reference.agencyStringOpaque reservation-associated reference. Do not assume it is the same as ClientReferenceId or BookingReferenceId.
content.leadGuestObjectLead guest information
content.leadGuest.guestIdIntegerLead guest identifier
content.leadGuest.birthDateStringLead guest birth date
content.leadGuest.name.firstStringLead guest first name
content.leadGuest.name.lastStringLead guest surname
content.leadGuest.contactObjectLead guest contact details
content.leadGuest.titleStringLead guest title
content.leadGuest.ageIntegerLead guest age
content.propertyIdIntegerMescoGo hotel identifier
content.roomNameStringRoom name when available in the reservation data
content.mealStringMeal or board name/code when available from booking detail data
content.boardStringBoard code/name when available, for example BB, HB, FB, AI, or RO
content.priceStringBooking/order price when available
content.currencyStringCurrency for content.price
content.isPaidBooleantrue only when MescoGo can confirm that the booking payment is complete.
content.paymentStatusStringPayment information when available. It may be empty, unknown, or another value; do not treat this field alone as confirmation of payment.

πŸ“₯ Example Response​

{
"content": {
"status": "confirmed",
"dates": {
"from": "2030-06-01",
"to": "2030-06-05"
},
"bookingId": 1000001,
"reference": {
"agency": "00000000-0000-4000-8000-000000000002"
},
"leadGuest": {
"guestId": 100001,
"birthDate": "1990-01-01",
"name": {
"first": "Sample",
"last": "Guest"
},
"contact": {
"address": "100 Example Avenue",
"city": "Sample City",
"country": "US",
"nationality": "US",
"email": "guest@example.com",
"phone": "+10000000000",
"state": "Sample State",
"zip": "00000"
},
"title": "Mr",
"age": 40
},
"propertyId": 900001,
"roomName": "Sample Room",
"meal": "BB",
"board": "BB",
"price": "100.00",
"currency": "USD",
"isPaid": false,
"paymentStatus": "unknown"
},
"timestamp": "2030-01-15T10:00:00.000Z"
}

Example data note: All values above are synthetic and illustrative. Do not copy them as live booking or customer data.

⚠️ Notes​

  • The endpoint does not accept a JSON body; bookingID must be sent in the query string.
  • If the booking is not found or the detail lookup fails, the API returns a generic result with ResultMessage set to Record Not Found or An Unexpected Error Occurred.
  • Guest name fields are returned in the reservation data. Treat the values exactly as returned by the API.
  • content.status describes the booking status only. content.isPaid = true is the primary paid signal. If it is false, or if content.paymentStatus is empty, unknown, unrecognized, or does not indicate completed payment, treat payment as unconfirmed.
  • Authentication failures use the documented HTTP status. Lookup and processing outcomes can be returned in the JSON body while the HTTP status remains 200.