Skip to main content
GET
Use this endpoint for booking history, dashboards, customer service and finance reconciliation. It returns your organization’s bookings, newest first, with filters and pages. It is a read-only view over bookings you created with Create Booking.

When to call it

  • Build a “my bookings” or support screen.
  • Find a booking from a reference a guest or supplier gave you.
  • Reconcile: pull everything created or checking in within a date range.
A list row is a snapshot. For a booking that is PROCESSING or being cancelled, read Get Booking Status. For the full itinerary, read Get Booking Details.

Request example

Response example

Query parameters

All filters combine with AND. Results are always limited to your organization.

Pagination and counts

  • data.meta.total is the number of bookings that match, across all pages.
  • Keep requesting page + 1 while data.meta.hasNextPage is true.
  • A page past the last returns an empty items list.
  • data.summary.countsByStatus counts bookings per status using every filter except status. Use it for tab counts while a status filter is applied. A status with no bookings is absent from the object.
  • data.summary.total equals meta.total.

Field guide

A list row has less than the details record: no guests, rooms, cancellation policy or voucher data. Call Get Booking Details for those.

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"

Query Parameters

Free-text search (case-insensitive, matches anywhere in the value) across the Unifystays booking ID, supplier booking ID and code, hotel confirmation number, hotel name, city and country. 1 to 200 characters.

Example:

"ubk_"

status
enum<string>[]

Only return bookings in these statuses. Repeat the parameter or use a comma-separated list, e.g. status=CONFIRMED&status=ON_HOLD or status=CONFIRMED,ON_HOLD. Omit for all statuses.

Available options:
AWAITING_REVIEW,
PROCESSING,
CONFIRMED,
ON_HOLD,
FAILED,
CANCELLATION_PENDING,
CANCELLED
Example:
hotel_id
string

Only return bookings for this Unifystays hotel_id (the hotel_id used in search and rooms).

Example:

"13553916"

city
string

Only return bookings whose hotel is in this city. Case-insensitive, exact match on the city name.

Example:

"Dubai"

provider_code
string

Only return bookings made through this supplier code (case-insensitive, for example TRIPJACK). Matches the provider_code on list items.

Example:

"TRIPJACK"

check_in_from
string

Only return bookings with check-in on or after this date (YYYY-MM-DD).

Example:

"2026-05-01"

check_in_to
string

Only return bookings with check-in on or before this date (YYYY-MM-DD).

Example:

"2026-05-31"

created_from
string

Only return bookings created at or after this instant (ISO 8601; include a timezone such as Z).

Example:

"2026-04-01T00:00:00Z"

created_to
string

Only return bookings created at or before this instant (ISO 8601; include a timezone such as Z).

Example:

"2026-04-30T23:59:59Z"

is_terminal
boolean

true: only finished bookings (CONFIRMED, ON_HOLD, FAILED, CANCELLED). false: only bookings still in progress (AWAITING_REVIEW, PROCESSING, CANCELLATION_PENDING). Omit for both.

Example:

false

sort_by
enum<string>
default:created_at

Field to sort by. supplier_total sorts by the booking amount. Ties are broken by newest booking first.

Available options:
created_at,
check_in,
check_out,
supplier_total,
status
sort_order
enum<string>
default:DESC

Sort direction: ASC or DESC. Newest first by default.

Available options:
ASC,
DESC
page
number
default:1

Page number, starting at 1. A page beyond the last returns an empty items list.

Required range: x >= 1
Example:

1

limit
number
default:20

Bookings per page, 1 to 100.

Required range: 1 <= x <= 100
Example:

20

Response

contract_version
string
required

Response contract version.

Example:

"2"

success
boolean
required

True when the request succeeded.

Example:

true

message
string
required

Human-readable summary. Do not parse it.

Example:

"Bookings fetched successfully."

data
object
required

The page of bookings with pagination and summary.