Booking Flow
Get Booking
Read one of your own bookings: its status, the hotel, the rooms and guests, the rate sold, and the cancellation ladder.
/api/v1/bookings/{bookingId} x-api-keyTakes the bookingId returned by POST /bookings. The response is the same booking view that
booking returned, with status reflecting wherever the reservation has got to since.
Fields
mode"sandbox" | "live" optional- Which environment this booking lives in.
bookingIduuid optional- The booking’s own id.
statusBookingStatus optional- Where the reservation stands. See the status enum for every value.
clientReferencestring | null optional- The
reference.clientsent at book time. checkIn / checkOutstring (YYYY-MM-DD) optional- The stay dates.
nightsinteger optional- The length of the stay.
propertyobject | null optional- The hotel booked:
propertyId,name,stars,city,countryandimage. roomsobject[] optional- One entry per room:
roomCode,roomName,guests, the room’spriceand therateit was sold at (board, nightly prices, taxes, refundability, its owncancelPolicyandpaymentType).rateisnullon a booking made before rates were kept with it. The field-by-field shape is on Book. price{ amount, currency } optional- The booked total.
cancelPolicyobject[] optional- The cancellation ladder recorded at book time:
{ from, amount, currency }entries, each meaning “from this moment onwards, cancelling costs this much”. hotelConfirmationNumberstring | null optional- The hotel’s own reference, when the supplier provided one.
createdAtstring (ISO 8601) optional- When the booking was created.
Reading the Cancellation Ladder
cancelPolicy is a list of deadlines in ascending order. Each entry says: from this
moment until check-in, cancelling costs this amount. The rung in force is the last one already passed. If none has passed — or the list is empty —
cancellation is free as far as the recorded policy is concerned.
So a ladder of 2026-11-30 → 82.00 and 2026-12-04 → 164.00 means: free until
30 November, 82.00 from then until 4 December, and the full 164.00 after that.
Status Codes
- 200
- The booking, as it stands.
- 400
validation_error - The id in the path is not a valid uuid.
- 401
unauthorized - Missing or invalid
x-api-key. - 404
not_found - No such booking for this key. Another client’s booking answers exactly the same way as one that never existed.
Polling
A booking that came back ON_REQUEST or UNKNOWN can change without you
doing anything. Poll gently — every few minutes, not every few seconds — and remember the rate limit applies to this endpoint like any other.