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
bookingIDshown here is synthetic and illustrative. Do not copy it as live booking data.
| Property | Value |
|---|---|
| URI | {BaseURL}/api/booking/booking-detail?bookingID={bookingID} |
| Method | GET |
| Content-Type | application/json |
Authorizationβ
Send the Basic Auth header described in Authentication.
π Request Parametersβ
| Parameter | Type | Description |
|---|---|---|
bookingID | String | Booking 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β
| Parameter | Type | Description |
|---|---|---|
timestamp | String | Server timestamp in ISO-like string format |
content | Object | Booking detail payload |
content.status | String | Booking status |
content.dates.from | String | Stay start date |
content.dates.to | String | Stay end date |
content.bookingId | Integer | Booking identifier |
content.reference | Object | Reference values associated with the booking |
content.reference.agency | String | Opaque reservation-associated reference. Do not assume it is the same as ClientReferenceId or BookingReferenceId. |
content.leadGuest | Object | Lead guest information |
content.leadGuest.guestId | Integer | Lead guest identifier |
content.leadGuest.birthDate | String | Lead guest birth date |
content.leadGuest.name.first | String | Lead guest first name |
content.leadGuest.name.last | String | Lead guest surname |
content.leadGuest.contact | Object | Lead guest contact details |
content.leadGuest.title | String | Lead guest title |
content.leadGuest.age | Integer | Lead guest age |
content.propertyId | Integer | MescoGo hotel identifier |
content.roomName | String | Room name when available in the reservation data |
content.meal | String | Meal or board name/code when available from booking detail data |
content.board | String | Board code/name when available, for example BB, HB, FB, AI, or RO |
content.price | String | Booking/order price when available |
content.currency | String | Currency for content.price |
content.isPaid | Boolean | true only when MescoGo can confirm that the booking payment is complete. |
content.paymentStatus | String | Payment 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;
bookingIDmust be sent in the query string. - If the booking is not found or the detail lookup fails, the API returns a generic result with
ResultMessageset toRecord Not FoundorAn Unexpected Error Occurred. - Guest name fields are returned in the reservation data. Treat the values exactly as returned by the API.
content.statusdescribes the booking status only.content.isPaid = trueis the primary paid signal. If it isfalse, or ifcontent.paymentStatusis 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.