Skip to main content
GET
This is the endpoint you poll after Create Booking, Confirm Hold or Cancel Booking. It returns the status, whether the booking is final, the supplier and hotel references, and what you can do next. It does not return the itinerary. For that, call Get Booking Details. Booking is the last stage of the flow: search, rooms, prebook, book, then manage. This page covers the “manage” side.

When to call it

  • Right after a booking or cancellation that did not return a final status.
  • Whenever you receive a webhook and want the latest state.
  • Wait next_poll_after_ms between calls. Stop when is_terminal is true.
  • Prefer webhooks over tight polling. Polling is the fallback.
If you lost the booking_id (for example the create call timed out), use Find Booking by Idempotency-Key.

Request example

Response example

Booking statuses

Terminal means “stop polling”, not “nothing more can happen”. A CONFIRMED booking can still be cancelled, and an ON_HOLD booking can still be confirmed. Both are your own actions.

Field guide

Booking

What to do next

processing_reason values: available_actions values:

References to show and store

Common mistakes

Do not create a second booking because a booking is slow. A PROCESSING booking, including one with RECONCILIATION_REQUIRED, is still being resolved. Poll, or look it up with its Idempotency-Key.
A 404 BOOKING_NOT_FOUND also appears for a booking that belongs to another organization. Check that you use the same API key that created the booking.

Next step

Authorizations

x-api-key
string
header
required

Environment-specific API key created in the Unifystays portal

Headers

X-Unifystays-Contract-Version
enum<string>
default:2

Hotel API contract version. Optional: 2 is the current version and the default.

Available options:
2
X-Unifystays-Currency
string

ISO 4217 currency for display amounts (display_ledger, display_amount, commercial_display). Optional: defaults to your organization's display currency, USD unless configured. Read pricing.display_currency in the response.

Required string length: 3
Example:

"EUR"

Path Parameters

booking_id
string
required

Unifystays booking ID returned by Create Booking (ubk_...).

Example:

"ubk_eGQ0dW9uV1Vi"

Response

contract_version
string
required

Response contract version. Always "2".

Example:

"2"

success
boolean
required

false only when the booking status is FAILED. true for every other status, including AWAITING_REVIEW and PROCESSING, which are not confirmations. Read data.status for the real state.

Example:

true

message
string
required

Human-readable summary for logs and support; for FAILED it carries the reason. Do not parse it; use data.status.

Example:

"Booking request accepted and is being processed."

data
object
required

The booking's current state.