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.
Nothing is booked. The request waits for an organization owner or admin to approve it in the portal. This happens for non-refundable offers, expired free-cancellation windows and unclear cancellation terms.
Tell the user the booking is pending approval. Do not poll quickly. Wait for the webhook.
PROCESSING
No
The booking is being placed with the supplier.
Poll at next_poll_after_ms, or wait for booking.confirmed / booking.failed.
CONFIRMED
Yes
The booking is made.
Store the references and show the confirmation. See References.
ON_HOLD
Yes
The supplier holds the room but it is not final. Only for offers booked with booking_mode: "HOLD".
Call Confirm Hold before hold_deadline_at, or cancel.
FAILED
Yes
The room was not booked. success is false.
Read the failure on the details record, then restart from search or rooms if the guest still wants to book.
CANCELLATION_PENDING
No
A cancellation was accepted and the supplier is still processing it.
Keep polling until CANCELLED.
CANCELLED
Yes
The booking is cancelled.
Show the outcome. Read any charge from the details record.
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.
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 404BOOKING_NOT_FOUND also appears for a booking that belongs to another
organization. Check that you use the same API key that created the booking.
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.
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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Unifystays API","colors":{"primary":"#0F766E","light":"#14B8A6","dark":"#134E4A"},"navbar":{"links":[{"href":"https://unifystays.com","label":"Portal"},{"href":"mailto:support@unifystays.com","label":"Support"}]},"contextual":{"options":["copy","download-spec","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"unifystays","hasAudioNarration":false,"actualSubdomain":"unifystays","customDomains":["docs.unifystays.com"],"gitSource":{"type":"github","owner":"ronakonline","repo":"unifystay","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae836724729f9837cf0d8e4","collectionId":"17105c7f-831f-4751-8445-71739bb329ae","liveDeploymentHistoryId":"6ae836724729f9837cf0d8e4","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae836724729f9837cf0d8e4","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":29},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Bookings","count":8},{"language":"default","tag":"Search \u0026 hotels","count":7},{"language":"default","tag":"Webhook endpoints","count":7},{"language":"default","tag":"Build your integration","count":5},{"language":"default","tag":"Webhook logs","count":4},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Destination \u0026 master data","count":2},{"language":"default","tag":"Operate","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/get-booking-status","slug":"/api-reference/get-booking-status","pageMetadata":{"title":"Get Booking Status","description":"Retrieve the current lightweight unified status for one booking.","openapi":"reference/openapi.json GET /hotels/book/{booking_id}","href":"/api-reference/get-booking-status"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Retrieve the current lightweight unified status for one booking.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This is the endpoint you poll after `,_jsx(_components.a,{href:`/api-reference/create-booking`,children:`Create Booking`}),`,\n`,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),` or\n`,_jsx(_components.a,{href:`/api-reference/cancel-booking`,children:`Cancel Booking`}),`. It returns the status, whether\nthe booking is final, the supplier and hotel references, and what you can do\nnext. It does not return the itinerary. For that, call\n`,_jsx(_components.a,{href:`/api-reference/get-booking-details`,children:`Get Booking Details`}),`.`]}),`\n`,_jsx(_components.p,{children:`Booking is the last stage of the flow: search, rooms, prebook, book, then manage.\nThis page covers the “manage” side.`}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-call-it`,children:`When to call it`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Right after a booking or cancellation that did not return a final status.`}),`\n`,_jsxs(_components.li,{children:[`Whenever you receive a `,_jsx(_components.a,{href:`/guides/webhooks`,children:`webhook`}),` and want the latest state.`]}),`\n`,_jsxs(_components.li,{children:[`Wait `,_jsx(_components.code,{children:`next_poll_after_ms`}),` between calls. Stop when `,_jsx(_components.code,{children:`is_terminal`}),` is `,_jsx(_components.code,{children:`true`}),`.`]}),`\n`,_jsx(_components.li,{children:`Prefer webhooks over tight polling. Polling is the fallback.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`If you lost the `,_jsx(_components.code,{children:`booking_id`}),` (for example the create call timed out), use\n`,_jsx(_components.a,{href:`/api-reference/get-booking-by-idempotency-key`,children:`Find Booking by Idempotency-Key`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-example`,children:`Request example`}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`response-example`,children:`Response example`}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`booking-statuses`,children:`Booking statuses`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Terminal`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`AWAITING_REVIEW`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Nothing is booked. The request waits for an organization owner or admin to approve it in the portal. This happens for non-refundable offers, expired free-cancellation windows and unclear cancellation terms.`}),_jsx(_components.td,{children:`Tell the user the booking is pending approval. Do not poll quickly. Wait for the webhook.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`PROCESSING`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`The booking is being placed with the supplier.`}),_jsxs(_components.td,{children:[`Poll at `,_jsx(_components.code,{children:`next_poll_after_ms`}),`, or wait for `,_jsx(_components.code,{children:`booking.confirmed`}),` / `,_jsx(_components.code,{children:`booking.failed`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRMED`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The booking is made.`}),_jsxs(_components.td,{children:[`Store the references and show the confirmation. See `,_jsx(_components.a,{href:`#references-to-show-and-store`,children:`References`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ON_HOLD`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The supplier holds the room but it is not final. Only for offers booked with `,_jsx(_components.code,{children:`booking_mode: \"HOLD\"`}),`.`]}),_jsxs(_components.td,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),` before `,_jsx(_components.code,{children:`hold_deadline_at`}),`, or cancel.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`FAILED`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The room was not booked. `,_jsx(_components.code,{children:`success`}),` is `,_jsx(_components.code,{children:`false`}),`.`]}),_jsxs(_components.td,{children:[`Read the failure on the `,_jsx(_components.a,{href:`/api-reference/get-booking-details`,children:`details`}),` record, then restart from search or rooms if the guest still wants to book.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCELLATION_PENDING`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`A cancellation was accepted and the supplier is still processing it.`}),_jsxs(_components.td,{children:[`Keep polling until `,_jsx(_components.code,{children:`CANCELLED`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCELLED`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The booking is cancelled.`}),_jsx(_components.td,{children:`Show the outcome. Read any charge from the details record.`})]})]})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Terminal means “stop polling”, not “nothing more can happen”. A `,_jsx(_components.code,{children:`CONFIRMED`}),`\nbooking can still be cancelled, and an `,_jsx(_components.code,{children:`ON_HOLD`}),` booking can still be\nconfirmed. Both are your own actions.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`field-guide`,children:`Field guide`}),`\n`,_jsx(Heading,{level:`3`,id:`booking`,children:`Booking`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`How to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.booking_id`})}),_jsxs(_components.td,{children:[`The Unifystays booking ID (`,_jsx(_components.code,{children:`ubk_...`}),`).`]}),_jsx(_components.td,{children:`Store it. It is the key for every later call.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.accepted_offer_id`})}),_jsx(_components.td,{children:`The offer this booking was made from.`}),_jsx(_components.td,{children:`Send it unchanged to Confirm Hold.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.status`})}),_jsx(_components.td,{children:`One of the statuses above.`}),_jsx(_components.td,{children:`Branch on it. Show it to your user in your own words.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.is_terminal`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`true`}),` for `,_jsx(_components.code,{children:`CONFIRMED`}),`, `,_jsx(_components.code,{children:`ON_HOLD`}),`, `,_jsx(_components.code,{children:`FAILED`}),`, `,_jsx(_components.code,{children:`CANCELLED`}),`.`]}),_jsxs(_components.td,{children:[`Stop polling when `,_jsx(_components.code,{children:`true`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.next_poll_after_ms`})}),_jsxs(_components.td,{children:[`Milliseconds to wait before the next poll. `,_jsx(_components.code,{children:`null`}),` for terminal bookings and for `,_jsx(_components.code,{children:`AWAITING_REVIEW`}),`.`]}),_jsxs(_components.td,{children:[`Use it as your poll delay. `,_jsx(_components.code,{children:`null`}),` does not mean confirmed.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`data.created_at`}),`, `,_jsx(_components.code,{children:`data.updated_at`})]}),_jsx(_components.td,{children:`ISO 8601 UTC times.`}),_jsx(_components.td,{children:`Display or log.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:`Plain-text summary.`}),_jsx(_components.td,{children:`Do not parse it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`success`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`false`}),` only when status is `,_jsx(_components.code,{children:`FAILED`}),`.`]}),_jsxs(_components.td,{children:[`Do not treat a `,_jsx(_components.code,{children:`200`}),` as success on its own. Check `,_jsx(_components.code,{children:`status`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`what-to-do-next`,children:`What to do next`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`How to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.processing_reason`})}),_jsxs(_components.td,{children:[`Why the booking is not simply done. `,_jsx(_components.code,{children:`null`}),` when nothing is pending.`]}),_jsx(_components.td,{children:`Use it to explain the wait. Values below.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.action_required`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`true`}),` when someone must act: `,_jsx(_components.code,{children:`available_actions`}),` contains `,_jsx(_components.code,{children:`CONFIRM_HOLD`}),`, `,_jsx(_components.code,{children:`CONTACT_SUPPORT`}),` or `,_jsx(_components.code,{children:`REVIEW_BOOKING`}),`.`]}),_jsxs(_components.td,{children:[`If `,_jsx(_components.code,{children:`false`}),`, waiting is enough.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.available_actions`})}),_jsx(_components.td,{children:`The actions you can take now. Values below.`}),_jsx(_components.td,{children:`Drive your buttons from this list, not from your own status logic.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.review_expires_at`})}),_jsxs(_components.td,{children:[`While `,_jsx(_components.code,{children:`AWAITING_REVIEW`}),`, the deadline of the current supplier quote.`]}),_jsx(_components.td,{children:`Informational. If it passes, the request stays pending until a reviewer approves a fresh quote.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.hold_deadline_at`})}),_jsxs(_components.td,{children:[`While `,_jsx(_components.code,{children:`ON_HOLD`}),`, the time by which you must confirm.`]}),_jsx(_components.td,{children:`Show a countdown. Confirm before it.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`processing_reason`}),` values:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`SUPPLIER_CONFIRMATION_PENDING`})}),_jsx(_components.td,{children:`Waiting for the supplier to confirm.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HOTEL_CONFIRMATION_PENDING`})}),_jsx(_components.td,{children:`The supplier confirmed. The hotel’s own confirmation number has not arrived yet.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCELLATION_PENDING`})}),_jsx(_components.td,{children:`The supplier is processing a cancellation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`RECONCILIATION_REQUIRED`})}),_jsxs(_components.td,{children:[`The supplier’s answer was uncertain. Unifystays is checking the real outcome. `,_jsx(_components.code,{children:`available_actions`}),` includes `,_jsx(_components.code,{children:`CONTACT_SUPPORT`}),`. Do not create a new booking.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HOLD_CONFIRMATION_REQUIRED`})}),_jsx(_components.td,{children:`The booking is on hold and needs confirming.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`MANUAL_REVIEW_REQUIRED`})}),_jsx(_components.td,{children:`Waiting for approval in the portal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`MANAGED_FULFILLMENT_PENDING`})}),_jsx(_components.td,{children:`Recorded, and not yet submitted to a supplier.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`available_actions`}),` values:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET_STATUS`})}),_jsxs(_components.td,{children:[`Keep polling. Listed while the booking is not terminal, and during `,_jsx(_components.code,{children:`CANCELLATION_PENDING`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET_DETAILS`})}),_jsx(_components.td,{children:`The full record is readable. Always listed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCEL`})}),_jsxs(_components.td,{children:[`You can `,_jsx(_components.a,{href:`/api-reference/cancellation-quote`,children:`quote`}),` and `,_jsx(_components.a,{href:`/api-reference/cancel-booking`,children:`cancel`}),`. Listed for `,_jsx(_components.code,{children:`CONFIRMED`}),` and `,_jsx(_components.code,{children:`ON_HOLD`}),` bookings whose supplier supports cancellation.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRM_HOLD`})}),_jsxs(_components.td,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONTACT_SUPPORT`})}),_jsxs(_components.td,{children:[`The outcome needs Unifystays support. Contact support with the `,_jsx(_components.code,{children:`booking_id`}),` and the `,_jsx(_components.code,{children:`X-Request-Id`}),` header.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW_BOOKING`})}),_jsx(_components.td,{children:`Approve or reject the request in the portal.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`references-to-show-and-store`,children:`References to show and store`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`How to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.code`})}),_jsx(_components.td,{children:`The supplier that holds the booking.`}),_jsx(_components.td,{children:`Informational. Do not branch logic on it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.booking_id`})}),_jsxs(_components.td,{children:[`The supplier’s primary booking or order ID. `,_jsx(_components.code,{children:`null`}),` until assigned.`]}),_jsx(_components.td,{children:`Store it. Quote it to support. It is the supplier reference, not the guest’s hotel number.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.booking_code`})}),_jsxs(_components.td,{children:[`A distinct secondary supplier code. `,_jsx(_components.code,{children:`null`}),` when the supplier uses only one reference.`]}),_jsxs(_components.td,{children:[`Store it when present. Not interchangeable with `,_jsx(_components.code,{children:`booking_id`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.hotel_confirmation_number`})}),_jsxs(_components.td,{children:[`The hotel’s own confirmation number. `,_jsx(_components.code,{children:`null`}),` until the hotel confirms. It can arrive after the booking is `,_jsx(_components.code,{children:`CONFIRMED`}),`.`]}),_jsxs(_components.td,{children:[`Show it to the guest as the hotel confirmation number when present. If `,_jsx(_components.code,{children:`null`}),`, keep reading status or details until it appears.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.hotel_confirmation_status`})}),_jsx(_components.td,{children:`Supplier text about the hotel confirmation.`}),_jsx(_components.td,{children:`Display only. Do not parse.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.hotel_confirmation_note`})}),_jsx(_components.td,{children:`Free-text note about the confirmation.`}),_jsx(_components.td,{children:`Show to support or the guest when present.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`data.provider.hotel_contact_name`}),`, `,_jsx(_components.code,{children:`hotel_contact_phone`})]}),_jsx(_components.td,{children:`Hotel contact for this booking, when the supplier gives one.`}),_jsx(_components.td,{children:`Optional guest information.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`common-mistakes`,children:`Common mistakes`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do not create a second booking because a booking is slow. A `,_jsx(_components.code,{children:`PROCESSING`}),`\nbooking, including one with `,_jsx(_components.code,{children:`RECONCILIATION_REQUIRED`}),`, is still being\nresolved. Poll, or look it up with its Idempotency-Key.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`404`}),` `,_jsx(_components.code,{children:`BOOKING_NOT_FOUND`}),` also appears for a booking that belongs to another\norganization. Check that you use the same API key that created the booking.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`next-step`,children:`Next step`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Confirmed: show the `,_jsx(_components.a,{href:`/api-reference/get-booking-details`,children:`booking details`}),` to the guest.`]}),`\n`,_jsxs(_components.li,{children:[`On hold: `,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Guest wants to cancel: `,_jsx(_components.a,{href:`/api-reference/cancellation-quote`,children:`Quote Cancellation`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get Booking Status","description":"Retrieve the current lightweight unified status for one booking.","openapi":"reference/openapi.json GET /hotels/book/{booking_id}","href":"/api-reference/get-booking-status"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,RequestExample,ResponseExample,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This is the endpoint you poll after `,_jsx(_components.a,{href:`/api-reference/create-booking`,children:`Create Booking`}),`,\n`,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),` or\n`,_jsx(_components.a,{href:`/api-reference/cancel-booking`,children:`Cancel Booking`}),`. It returns the status, whether\nthe booking is final, the supplier and hotel references, and what you can do\nnext. It does not return the itinerary. For that, call\n`,_jsx(_components.a,{href:`/api-reference/get-booking-details`,children:`Get Booking Details`}),`.`]}),`\n`,_jsx(_components.p,{children:`Booking is the last stage of the flow: search, rooms, prebook, book, then manage.\nThis page covers the “manage” side.`}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-call-it`,children:`When to call it`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Right after a booking or cancellation that did not return a final status.`}),`\n`,_jsxs(_components.li,{children:[`Whenever you receive a `,_jsx(_components.a,{href:`/guides/webhooks`,children:`webhook`}),` and want the latest state.`]}),`\n`,_jsxs(_components.li,{children:[`Wait `,_jsx(_components.code,{children:`next_poll_after_ms`}),` between calls. Stop when `,_jsx(_components.code,{children:`is_terminal`}),` is `,_jsx(_components.code,{children:`true`}),`.`]}),`\n`,_jsx(_components.li,{children:`Prefer webhooks over tight polling. Polling is the fallback.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`If you lost the `,_jsx(_components.code,{children:`booking_id`}),` (for example the create call timed out), use\n`,_jsx(_components.a,{href:`/api-reference/get-booking-by-idempotency-key`,children:`Find Booking by Idempotency-Key`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-example`,children:`Request example`}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$UNIFYSTAYS_BASE_URL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/hotels/book/ubk_eGQ0dW9uV1Vi\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$UNIFYSTAYS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`response-example`,children:`Response example`}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`29`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`29`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"contract_version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Booking confirmed successfully.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"booking_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ubk_eGQ0dW9uV1Vi\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"accepted_offer_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"off_65db5f20d91b47d3a73d834dfa44c50e\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CONFIRMED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"is_terminal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TRIPJACK\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"booking_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TJ202487947162\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"booking_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hotel_confirmation_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"HCN-482910\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hotel_confirmation_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Confirmed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hotel_confirmation_note\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hotel_contact_phone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hotel_contact_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"next_poll_after_ms\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"processing_reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"action_required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"available_actions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GET_DETAILS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CANCEL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"review_expires_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hold_deadline_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-04-15T12:12:11.000Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updated_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-04-15T12:15:11.000Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`booking-statuses`,children:`Booking statuses`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Terminal`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`AWAITING_REVIEW`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Nothing is booked. The request waits for an organization owner or admin to approve it in the portal. This happens for non-refundable offers, expired free-cancellation windows and unclear cancellation terms.`}),_jsx(_components.td,{children:`Tell the user the booking is pending approval. Do not poll quickly. Wait for the webhook.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`PROCESSING`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`The booking is being placed with the supplier.`}),_jsxs(_components.td,{children:[`Poll at `,_jsx(_components.code,{children:`next_poll_after_ms`}),`, or wait for `,_jsx(_components.code,{children:`booking.confirmed`}),` / `,_jsx(_components.code,{children:`booking.failed`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRMED`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The booking is made.`}),_jsxs(_components.td,{children:[`Store the references and show the confirmation. See `,_jsx(_components.a,{href:`#references-to-show-and-store`,children:`References`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ON_HOLD`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The supplier holds the room but it is not final. Only for offers booked with `,_jsx(_components.code,{children:`booking_mode: \"HOLD\"`}),`.`]}),_jsxs(_components.td,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),` before `,_jsx(_components.code,{children:`hold_deadline_at`}),`, or cancel.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`FAILED`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The room was not booked. `,_jsx(_components.code,{children:`success`}),` is `,_jsx(_components.code,{children:`false`}),`.`]}),_jsxs(_components.td,{children:[`Read the failure on the `,_jsx(_components.a,{href:`/api-reference/get-booking-details`,children:`details`}),` record, then restart from search or rooms if the guest still wants to book.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCELLATION_PENDING`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`A cancellation was accepted and the supplier is still processing it.`}),_jsxs(_components.td,{children:[`Keep polling until `,_jsx(_components.code,{children:`CANCELLED`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCELLED`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The booking is cancelled.`}),_jsx(_components.td,{children:`Show the outcome. Read any charge from the details record.`})]})]})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Terminal means “stop polling”, not “nothing more can happen”. A `,_jsx(_components.code,{children:`CONFIRMED`}),`\nbooking can still be cancelled, and an `,_jsx(_components.code,{children:`ON_HOLD`}),` booking can still be\nconfirmed. Both are your own actions.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`field-guide`,children:`Field guide`}),`\n`,_jsx(Heading,{level:`3`,id:`booking`,children:`Booking`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`How to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.booking_id`})}),_jsxs(_components.td,{children:[`The Unifystays booking ID (`,_jsx(_components.code,{children:`ubk_...`}),`).`]}),_jsx(_components.td,{children:`Store it. It is the key for every later call.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.accepted_offer_id`})}),_jsx(_components.td,{children:`The offer this booking was made from.`}),_jsx(_components.td,{children:`Send it unchanged to Confirm Hold.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.status`})}),_jsx(_components.td,{children:`One of the statuses above.`}),_jsx(_components.td,{children:`Branch on it. Show it to your user in your own words.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.is_terminal`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`true`}),` for `,_jsx(_components.code,{children:`CONFIRMED`}),`, `,_jsx(_components.code,{children:`ON_HOLD`}),`, `,_jsx(_components.code,{children:`FAILED`}),`, `,_jsx(_components.code,{children:`CANCELLED`}),`.`]}),_jsxs(_components.td,{children:[`Stop polling when `,_jsx(_components.code,{children:`true`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.next_poll_after_ms`})}),_jsxs(_components.td,{children:[`Milliseconds to wait before the next poll. `,_jsx(_components.code,{children:`null`}),` for terminal bookings and for `,_jsx(_components.code,{children:`AWAITING_REVIEW`}),`.`]}),_jsxs(_components.td,{children:[`Use it as your poll delay. `,_jsx(_components.code,{children:`null`}),` does not mean confirmed.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`data.created_at`}),`, `,_jsx(_components.code,{children:`data.updated_at`})]}),_jsx(_components.td,{children:`ISO 8601 UTC times.`}),_jsx(_components.td,{children:`Display or log.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:`Plain-text summary.`}),_jsx(_components.td,{children:`Do not parse it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`success`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`false`}),` only when status is `,_jsx(_components.code,{children:`FAILED`}),`.`]}),_jsxs(_components.td,{children:[`Do not treat a `,_jsx(_components.code,{children:`200`}),` as success on its own. Check `,_jsx(_components.code,{children:`status`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`what-to-do-next`,children:`What to do next`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`How to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.processing_reason`})}),_jsxs(_components.td,{children:[`Why the booking is not simply done. `,_jsx(_components.code,{children:`null`}),` when nothing is pending.`]}),_jsx(_components.td,{children:`Use it to explain the wait. Values below.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.action_required`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`true`}),` when someone must act: `,_jsx(_components.code,{children:`available_actions`}),` contains `,_jsx(_components.code,{children:`CONFIRM_HOLD`}),`, `,_jsx(_components.code,{children:`CONTACT_SUPPORT`}),` or `,_jsx(_components.code,{children:`REVIEW_BOOKING`}),`.`]}),_jsxs(_components.td,{children:[`If `,_jsx(_components.code,{children:`false`}),`, waiting is enough.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.available_actions`})}),_jsx(_components.td,{children:`The actions you can take now. Values below.`}),_jsx(_components.td,{children:`Drive your buttons from this list, not from your own status logic.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.review_expires_at`})}),_jsxs(_components.td,{children:[`While `,_jsx(_components.code,{children:`AWAITING_REVIEW`}),`, the deadline of the current supplier quote.`]}),_jsx(_components.td,{children:`Informational. If it passes, the request stays pending until a reviewer approves a fresh quote.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.hold_deadline_at`})}),_jsxs(_components.td,{children:[`While `,_jsx(_components.code,{children:`ON_HOLD`}),`, the time by which you must confirm.`]}),_jsx(_components.td,{children:`Show a countdown. Confirm before it.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`processing_reason`}),` values:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`SUPPLIER_CONFIRMATION_PENDING`})}),_jsx(_components.td,{children:`Waiting for the supplier to confirm.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HOTEL_CONFIRMATION_PENDING`})}),_jsx(_components.td,{children:`The supplier confirmed. The hotel’s own confirmation number has not arrived yet.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCELLATION_PENDING`})}),_jsx(_components.td,{children:`The supplier is processing a cancellation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`RECONCILIATION_REQUIRED`})}),_jsxs(_components.td,{children:[`The supplier’s answer was uncertain. Unifystays is checking the real outcome. `,_jsx(_components.code,{children:`available_actions`}),` includes `,_jsx(_components.code,{children:`CONTACT_SUPPORT`}),`. Do not create a new booking.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HOLD_CONFIRMATION_REQUIRED`})}),_jsx(_components.td,{children:`The booking is on hold and needs confirming.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`MANUAL_REVIEW_REQUIRED`})}),_jsx(_components.td,{children:`Waiting for approval in the portal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`MANAGED_FULFILLMENT_PENDING`})}),_jsx(_components.td,{children:`Recorded, and not yet submitted to a supplier.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`available_actions`}),` values:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET_STATUS`})}),_jsxs(_components.td,{children:[`Keep polling. Listed while the booking is not terminal, and during `,_jsx(_components.code,{children:`CANCELLATION_PENDING`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET_DETAILS`})}),_jsx(_components.td,{children:`The full record is readable. Always listed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CANCEL`})}),_jsxs(_components.td,{children:[`You can `,_jsx(_components.a,{href:`/api-reference/cancellation-quote`,children:`quote`}),` and `,_jsx(_components.a,{href:`/api-reference/cancel-booking`,children:`cancel`}),`. Listed for `,_jsx(_components.code,{children:`CONFIRMED`}),` and `,_jsx(_components.code,{children:`ON_HOLD`}),` bookings whose supplier supports cancellation.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFIRM_HOLD`})}),_jsxs(_components.td,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CONTACT_SUPPORT`})}),_jsxs(_components.td,{children:[`The outcome needs Unifystays support. Contact support with the `,_jsx(_components.code,{children:`booking_id`}),` and the `,_jsx(_components.code,{children:`X-Request-Id`}),` header.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`REVIEW_BOOKING`})}),_jsx(_components.td,{children:`Approve or reject the request in the portal.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`references-to-show-and-store`,children:`References to show and store`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`How to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.code`})}),_jsx(_components.td,{children:`The supplier that holds the booking.`}),_jsx(_components.td,{children:`Informational. Do not branch logic on it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.booking_id`})}),_jsxs(_components.td,{children:[`The supplier’s primary booking or order ID. `,_jsx(_components.code,{children:`null`}),` until assigned.`]}),_jsx(_components.td,{children:`Store it. Quote it to support. It is the supplier reference, not the guest’s hotel number.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.booking_code`})}),_jsxs(_components.td,{children:[`A distinct secondary supplier code. `,_jsx(_components.code,{children:`null`}),` when the supplier uses only one reference.`]}),_jsxs(_components.td,{children:[`Store it when present. Not interchangeable with `,_jsx(_components.code,{children:`booking_id`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.hotel_confirmation_number`})}),_jsxs(_components.td,{children:[`The hotel’s own confirmation number. `,_jsx(_components.code,{children:`null`}),` until the hotel confirms. It can arrive after the booking is `,_jsx(_components.code,{children:`CONFIRMED`}),`.`]}),_jsxs(_components.td,{children:[`Show it to the guest as the hotel confirmation number when present. If `,_jsx(_components.code,{children:`null`}),`, keep reading status or details until it appears.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.hotel_confirmation_status`})}),_jsx(_components.td,{children:`Supplier text about the hotel confirmation.`}),_jsx(_components.td,{children:`Display only. Do not parse.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.provider.hotel_confirmation_note`})}),_jsx(_components.td,{children:`Free-text note about the confirmation.`}),_jsx(_components.td,{children:`Show to support or the guest when present.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`data.provider.hotel_contact_name`}),`, `,_jsx(_components.code,{children:`hotel_contact_phone`})]}),_jsx(_components.td,{children:`Hotel contact for this booking, when the supplier gives one.`}),_jsx(_components.td,{children:`Optional guest information.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`common-mistakes`,children:`Common mistakes`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do not create a second booking because a booking is slow. A `,_jsx(_components.code,{children:`PROCESSING`}),`\nbooking, including one with `,_jsx(_components.code,{children:`RECONCILIATION_REQUIRED`}),`, is still being\nresolved. Poll, or look it up with its Idempotency-Key.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`404`}),` `,_jsx(_components.code,{children:`BOOKING_NOT_FOUND`}),` also appears for a booking that belongs to another\norganization. Check that you use the same API key that created the booking.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`next-step`,children:`Next step`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Confirmed: show the `,_jsx(_components.a,{href:`/api-reference/get-booking-details`,children:`booking details`}),` to the guest.`]}),`\n`,_jsxs(_components.li,{children:[`On hold: `,_jsx(_components.a,{href:`/api-reference/confirm-hold`,children:`Confirm Hold`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Guest wants to cancel: `,_jsx(_components.a,{href:`/api-reference/cancellation-quote`,children:`Quote Cancellation`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get Booking Status","description":"Retrieve the current lightweight unified status for one booking.","openapi":"reference/openapi.json GET /hotels/book/{booking_id}","href":"/api-reference/get-booking-status"}}}},"mdxExtracts":{"tableOfContents":[{"title":"When to call it","slug":"when-to-call-it","depth":2,"children":[]},{"title":"Request example","slug":"request-example","depth":2,"children":[]},{"title":"Response example","slug":"response-example","depth":2,"children":[]},{"title":"Booking statuses","slug":"booking-statuses","depth":2,"children":[]},{"title":"Field guide","slug":"field-guide","depth":2,"children":[{"title":"Booking","slug":"booking","depth":3,"children":[]},{"title":"What to do next","slug":"what-to-do-next","depth":3,"children":[]},{"title":"References to show and store","slug":"references-to-show-and-store","depth":3,"children":[]}]},{"title":"Common mistakes","slug":"common-mistakes","depth":2,"children":[]},{"title":"Next step","slug":"next-step","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"2\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$UNIFYSTAYS_BASE_URL\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">/hotels/book/ubk_eGQ0dW9uV1Vi\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"x-api-key: \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$UNIFYSTAYS_API_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"29\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"contract_version\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Booking confirmed successfully.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"booking_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ubk_eGQ0dW9uV1Vi\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"accepted_offer_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"off_65db5f20d91b47d3a73d834dfa44c50e\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CONFIRMED\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"is_terminal\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"provider\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"TRIPJACK\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"booking_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"TJ202487947162\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"booking_code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hotel_confirmation_number\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"HCN-482910\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hotel_confirmation_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Confirmed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hotel_confirmation_note\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hotel_contact_phone\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hotel_contact_name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"next_poll_after_ms\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"processing_reason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"action_required\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"available_actions\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"GET_DETAILS\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CANCEL\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"review_expires_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hold_deadline_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-04-15T12:12:11.000Z\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"updated_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-04-15T12:15:11.000Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Retrieve the current lightweight unified status for one booking.","operationId":"HotelBookingController_getBooking","parameters":["46150bf1-30ef-4080-8e1c-37121cd9c186","d3c77e25-17c9-4679-ac42-a03afe22986a","dd9fc0d1-6fbc-4e91-b6c7-409647c491ea","005ec5e7-d5c8-40d4-9cca-41202ce5638a"],"responses":{"200":"5406d9de-4eb1-472f-8dc7-7bca7b61d096","404":"aa2cd270-de08-4520-84bd-0f25c57bf964","406":"2278b2c6-71be-4869-b8d9-08c36764b5b3"},"summary":"Get booking status (lightweight)","tags":["Hotels"],"method":"get","type":"path","servers":["58b3027e-a79b-4d2c-898a-ec7cc8ae6eae","32e511f6-5caf-4d51-acd6-ad4d164fb151"],"security":["71ce26d4-cf7b-4d3b-ab99-f95701a1c420"],"path":"/hotels/book/{booking_id}","baseUrlOptions":["https://api-sandbox.unifystays.com","https://api.unifystays.com"],"title":"Get booking status (lightweight)","codeSamples":[],"requiredOnlyExamples":false,"requestExamples":[{"dropdown":false,"language":"shellscript","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"shellscript","children":{"type":"code","key":null,"ref":null,"props":{"language":"shellscript","numberOfLines":"2","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#953800","--shiki-dark":"#DCDCAA"},"children":"curl"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \""}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#9CDCFE"},"children":"$UNIFYSTAYS_BASE_URL"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"/hotels/book/ubk_eGQ0dW9uV1Vi\""}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"x-api-key: "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#9CDCFE"},"children":"$UNIFYSTAYS_API_KEY"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\""}}]}},"\n"]}}}},"filename":""}],"requestExampleType":"mdx","responseExamples":[{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"29","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"contract_version\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"2\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"success\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"true"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"message\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"Booking confirmed successfully.\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"data\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"booking_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"ubk_eGQ0dW9uV1Vi\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"accepted_offer_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"off_65db5f20d91b47d3a73d834dfa44c50e\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"status\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"CONFIRMED\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"is_terminal\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"true"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"provider\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"code\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"TRIPJACK\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"booking_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"TJ202487947162\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"booking_code\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"hotel_confirmation_number\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"HCN-482910\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"28","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"hotel_confirmation_status\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"Confirmed\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"30","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"hotel_confirmation_note\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"32","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"hotel_contact_phone\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"34","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"hotel_contact_name\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}}]}},"\n",{"type":"span","key":"36","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" },"}}}},"\n",{"type":"span","key":"38","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"next_poll_after_ms\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"40","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"processing_reason\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"42","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"action_required\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"false"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"44","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"available_actions\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": ["}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"GET_DETAILS\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":", "}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"CANCEL\""}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"],"}}]}},"\n",{"type":"span","key":"46","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"review_expires_at\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"48","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"hold_deadline_at\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":"null"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"50","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"created_at\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"2026-04-15T12:12:11.000Z\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"52","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"updated_at\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"2026-04-15T12:15:11.000Z\""}}]}},"\n",{"type":"span","key":"54","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"56","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"}"}}}},"\n"]}}}},"filename":""}],"responseExampleType":"mdx"},"dependencies":{"parameters":{"46150bf1-30ef-4080-8e1c-37121cd9c186":{"name":"booking_id","required":true,"in":"path","description":"Unifystays booking ID returned by Create Booking (ubk_...).","schema":{"example":"ubk_eGQ0dW9uV1Vi","type":"string","isRequired":true,"description":"Unifystays booking ID returned by Create Booking (ubk_...).","uniqueKey":"","typeLabel":"string"}},"d3c77e25-17c9-4679-ac42-a03afe22986a":{"name":"language","description":"Enter language code(ex. en)","in":"header","schema":{}},"dd9fc0d1-6fbc-4e91-b6c7-409647c491ea":{"name":"X-Unifystays-Contract-Version","in":"header","required":false,"description":"Hotel API contract version. Optional: 2 is the current version and the default.","schema":{"type":"string","enum":["2"],"default":"2","isRequired":false,"description":"Hotel API contract version. Optional: 2 is the current version and the default.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"005ec5e7-d5c8-40d4-9cca-41202ce5638a":{"name":"X-Unifystays-Currency","in":"header","required":false,"description":"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.","schema":{"type":"string","minLength":3,"maxLength":3,"example":"EUR","isRequired":false,"description":"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.","uniqueKey":"","typeLabel":"string"}}},"responses":{"5406d9de-4eb1-472f-8dc7-7bca7b61d096":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"contract_version":{"type":"string","example":"2","description":"Response contract version. Always \"2\".","isRequired":true,"uniqueKey":"contract_version","typeLabel":"string"},"success":{"type":"boolean","example":true,"description":"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.","isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","example":"Booking request accepted and is being processed.","description":"Human-readable summary for logs and support; for FAILED it carries the reason. Do not parse it; use data.status.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","description":"The booking's current state.","required":["booking_id","accepted_offer_id","status","is_terminal","provider","next_poll_after_ms","processing_reason","action_required","available_actions","review_expires_at","hold_deadline_at","created_at","updated_at"],"properties":{"booking_id":{"type":"string","example":"ubk_eGQ0dW9uV1Vi","description":"Unifystays booking ID (ubk_...). Use it as the key for status, details, quote and cancel calls. Store it as soon as you receive it.","isRequired":true,"uniqueKey":"data.booking_id","typeLabel":"string"},"accepted_offer_id":{"type":"string","example":"off_65db5f20d91b47d3a73d834dfa44c50e","description":"ID of the offer this booking was made from. Send it back unchanged to Confirm Hold when you confirm a held booking.","isRequired":true,"uniqueKey":"data.accepted_offer_id","typeLabel":"string"},"status":{"type":"string","enum":["AWAITING_REVIEW","PROCESSING","CONFIRMED","ON_HOLD","FAILED","CANCELLATION_PENDING","CANCELLED"],"example":"PROCESSING","description":"AWAITING_REVIEW: waiting for approval in the portal; nothing is booked. PROCESSING: being booked with the supplier. CONFIRMED: booked. ON_HOLD: held; confirm before hold_deadline_at. FAILED: not booked. CANCELLATION_PENDING: cancellation requested, the supplier is still processing it. CANCELLED: cancelled.","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"is_terminal":{"type":"boolean","example":false,"description":"True for CONFIRMED, ON_HOLD, FAILED and CANCELLED; false for AWAITING_REVIEW, PROCESSING and CANCELLATION_PENDING. Stop polling when true. A terminal booking can still change through your own action (CONFIRMED can be cancelled, ON_HOLD can be confirmed).","isRequired":true,"uniqueKey":"data.is_terminal","typeLabel":"boolean"},"provider":{"type":"object","description":"Supplier and hotel references for this booking.","required":["code","booking_id","booking_code","hotel_confirmation_number","hotel_confirmation_status","hotel_confirmation_note","hotel_contact_phone","hotel_contact_name"],"properties":{"code":{"type":"string","example":"TRIPJACK","description":"Code of the supplier that holds this booking. Informational; do not branch your logic on it.","isRequired":true,"uniqueKey":"data.provider.code","typeLabel":"string"},"booking_id":{"oneOf":[{"type":"object","example":"100055869","description":"Supplier's primary booking/order ID, used to locate the reservation at the supplier. Null until the supplier assigns it. Store it and quote it to support.","isRequired":true,"uniqueKey":"data.provider.booking_id.oneOf.0","typeLabel":"object"},{"type":"null","example":"100055869","description":"Supplier's primary booking/order ID, used to locate the reservation at the supplier. Null until the supplier assigns it. Store it and quote it to support.","isRequired":true,"uniqueKey":"data.provider.booking_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.booking_id","typeLabel":"object | null"},"booking_code":{"oneOf":[{"type":"object","example":"REZ6A5A81E9","description":"Supplier's distinct secondary booking code. Null when the supplier returns only one reference. Not interchangeable with booking_id.","isRequired":true,"uniqueKey":"data.provider.booking_code.oneOf.0","typeLabel":"object"},{"type":"null","example":"REZ6A5A81E9","description":"Supplier's distinct secondary booking code. Null when the supplier returns only one reference. Not interchangeable with booking_id.","isRequired":true,"uniqueKey":"data.provider.booking_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.booking_code","typeLabel":"object | null"},"hotel_confirmation_number":{"oneOf":[{"type":"object","example":"HCN-482910","description":"The hotel's own confirmation number. Null until the property confirms; it may arrive after the booking is CONFIRMED, so keep reading the status. Show it to the guest when present.","isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_number.oneOf.0","typeLabel":"object"},{"type":"null","example":"HCN-482910","description":"The hotel's own confirmation number. Null until the property confirms; it may arrive after the booking is CONFIRMED, so keep reading the status. Show it to the guest when present.","isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_number.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_number","typeLabel":"object | null"},"hotel_confirmation_status":{"oneOf":[{"type":"object","example":"Confirmed","description":"Supplier-defined text for the state of the hotel confirmation. Display only; do not parse it. Null when not reported.","isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_status.oneOf.0","typeLabel":"object"},{"type":"null","example":"Confirmed","description":"Supplier-defined text for the state of the hotel confirmation. Display only; do not parse it. Null when not reported.","isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_status","typeLabel":"object | null"},"hotel_confirmation_note":{"oneOf":[{"type":"object","description":"Free-text note from the hotel or supplier about the confirmation. Show it to support or the guest when present. Null otherwise.","isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_note.oneOf.0","typeLabel":"object"},{"type":"null","description":"Free-text note from the hotel or supplier about the confirmation. Show it to support or the guest when present. Null otherwise.","isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_note.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.hotel_confirmation_note","typeLabel":"object | null"},"hotel_contact_phone":{"oneOf":[{"type":"object","description":"Phone number of the hotel contact for this booking, when the supplier provides one. Null otherwise.","isRequired":true,"uniqueKey":"data.provider.hotel_contact_phone.oneOf.0","typeLabel":"object"},{"type":"null","description":"Phone number of the hotel contact for this booking, when the supplier provides one. Null otherwise.","isRequired":true,"uniqueKey":"data.provider.hotel_contact_phone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.hotel_contact_phone","typeLabel":"object | null"},"hotel_contact_name":{"oneOf":[{"type":"object","description":"Name of the hotel contact for this booking, when the supplier provides one. Null otherwise.","isRequired":true,"uniqueKey":"data.provider.hotel_contact_name.oneOf.0","typeLabel":"object"},{"type":"null","description":"Name of the hotel contact for this booking, when the supplier provides one. Null otherwise.","isRequired":true,"uniqueKey":"data.provider.hotel_contact_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.provider.hotel_contact_name","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"data.provider","typeLabel":"object"},"next_poll_after_ms":{"oneOf":[{"type":"object","description":"Milliseconds to wait before polling status again. Null when no poll is scheduled: terminal bookings, bookings waiting for a person (AWAITING_REVIEW), and the first moments of a PROCESSING booking. If a PROCESSING booking shows null, wait about 5 seconds. Null does not mean confirmed.","example":5000,"isRequired":true,"uniqueKey":"data.next_poll_after_ms.oneOf.0","typeLabel":"object"},{"type":"null","description":"Milliseconds to wait before polling status again. Null when no poll is scheduled: terminal bookings, bookings waiting for a person (AWAITING_REVIEW), and the first moments of a PROCESSING booking. If a PROCESSING booking shows null, wait about 5 seconds. Null does not mean confirmed.","example":5000,"isRequired":true,"uniqueKey":"data.next_poll_after_ms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.next_poll_after_ms","typeLabel":"object | null"},"processing_reason":{"oneOf":[{"type":"string","enum":["SUPPLIER_CONFIRMATION_PENDING","HOTEL_CONFIRMATION_PENDING","CANCELLATION_PENDING","RECONCILIATION_REQUIRED","HOLD_CONFIRMATION_REQUIRED","MANUAL_REVIEW_REQUIRED","MANAGED_FULFILLMENT_PENDING"],"description":"Why the booking is not simply done, or null when nothing is pending. SUPPLIER_CONFIRMATION_PENDING: waiting for the supplier. HOTEL_CONFIRMATION_PENDING: supplier confirmed, hotel number not yet received. CANCELLATION_PENDING: supplier is processing a cancellation. RECONCILIATION_REQUIRED: the outcome is uncertain and Unifystays is verifying it; contact support if it does not clear. HOLD_CONFIRMATION_REQUIRED: on hold, needs confirming. MANUAL_REVIEW_REQUIRED: waiting for approval in the portal. MANAGED_FULFILLMENT_PENDING: recorded but not yet submitted to a supplier.","example":"SUPPLIER_CONFIRMATION_PENDING","isRequired":true,"uniqueKey":"data.processing_reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["SUPPLIER_CONFIRMATION_PENDING","HOTEL_CONFIRMATION_PENDING","CANCELLATION_PENDING","RECONCILIATION_REQUIRED","HOLD_CONFIRMATION_REQUIRED","MANUAL_REVIEW_REQUIRED","MANAGED_FULFILLMENT_PENDING"],"description":"Why the booking is not simply done, or null when nothing is pending. SUPPLIER_CONFIRMATION_PENDING: waiting for the supplier. HOTEL_CONFIRMATION_PENDING: supplier confirmed, hotel number not yet received. CANCELLATION_PENDING: supplier is processing a cancellation. RECONCILIATION_REQUIRED: the outcome is uncertain and Unifystays is verifying it; contact support if it does not clear. HOLD_CONFIRMATION_REQUIRED: on hold, needs confirming. MANUAL_REVIEW_REQUIRED: waiting for approval in the portal. MANAGED_FULFILLMENT_PENDING: recorded but not yet submitted to a supplier.","example":"SUPPLIER_CONFIRMATION_PENDING","isRequired":true,"uniqueKey":"data.processing_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.processing_reason","typeLabel":"enum\u003cstring> | null"},"action_required":{"type":"boolean","example":false,"description":"True when a person must act: available_actions contains CONFIRM_HOLD, CONTACT_SUPPORT or REVIEW_BOOKING. False means waiting or polling is enough.","isRequired":true,"uniqueKey":"data.action_required","typeLabel":"boolean"},"available_actions":{"type":"array","example":["GET_STATUS","GET_DETAILS"],"description":"What you can do now. GET_STATUS: keep polling (listed while the booking is not terminal, and during CANCELLATION_PENDING). GET_DETAILS: details are readable. CANCEL: request a cancellation quote, then cancel. CONFIRM_HOLD: call Confirm Hold. CONTACT_SUPPORT: the outcome needs Unifystays support. REVIEW_BOOKING: approve or reject in the portal.","items":{"type":"string","enum":["GET_STATUS","GET_DETAILS","CANCEL","CONFIRM_HOLD","CONTACT_SUPPORT","REVIEW_BOOKING"],"uniqueKey":"data.available_actions.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"data.available_actions","typeLabel":"enum\u003cstring>[]"},"review_expires_at":{"oneOf":[{"type":"string","example":null,"description":"Deadline of the prebooked offer's supplier quote (ISO 8601, UTC); the prebooking_id stops being valid then. It matters most for AWAITING_REVIEW: after it passes the request stays pending until a reviewer approves a fresh quote, so do not cancel or refund the guest because of it. Null when no deadline is recorded.","isRequired":true,"uniqueKey":"data.review_expires_at.oneOf.0","typeLabel":"string"},{"type":"null","example":null,"description":"Deadline of the prebooked offer's supplier quote (ISO 8601, UTC); the prebooking_id stops being valid then. It matters most for AWAITING_REVIEW: after it passes the request stays pending until a reviewer approves a fresh quote, so do not cancel or refund the guest because of it. Null when no deadline is recorded.","isRequired":true,"uniqueKey":"data.review_expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.review_expires_at","typeLabel":"string | null"},"hold_deadline_at":{"oneOf":[{"type":"string","example":null,"description":"Time by which a held booking must be confirmed (ISO 8601, UTC). Meaningful for bookings created with booking_mode HOLD; null when there is no hold deadline. After it passes Confirm Hold is refused, and the hold is closed as FAILED (HOLD_DEADLINE_EXPIRED) unless the supplier reports it confirmed.","isRequired":true,"uniqueKey":"data.hold_deadline_at.oneOf.0","typeLabel":"string"},{"type":"null","example":null,"description":"Time by which a held booking must be confirmed (ISO 8601, UTC). Meaningful for bookings created with booking_mode HOLD; null when there is no hold deadline. After it passes Confirm Hold is refused, and the hold is closed as FAILED (HOLD_DEADLINE_EXPIRED) unless the supplier reports it confirmed.","isRequired":true,"uniqueKey":"data.hold_deadline_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.hold_deadline_at","typeLabel":"string | null"},"created_at":{"type":"string","example":"2026-04-15T12:12:11.000Z","description":"When the booking was created (ISO 8601, UTC).","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string"},"updated_at":{"type":"string","example":"2026-04-15T12:15:11.000Z","description":"When the booking last changed (ISO 8601, UTC).","isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["contract_version","success","message","data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"contract_version":"2","success":true,"message":"Booking request accepted and is being processed.","data":{"booking_id":"ubk_eGQ0dW9uV1Vi","accepted_offer_id":"off_65db5f20d91b47d3a73d834dfa44c50e","status":"PROCESSING","is_terminal":false,"provider":{"code":"TRIPJACK","booking_id":"100055869","booking_code":"REZ6A5A81E9","hotel_confirmation_number":"HCN-482910","hotel_confirmation_status":"Confirmed","hotel_confirmation_note":{},"hotel_contact_phone":{},"hotel_contact_name":{}},"next_poll_after_ms":5000,"processing_reason":"SUPPLIER_CONFIRMATION_PENDING","action_required":false,"available_actions":["GET_STATUS","GET_DETAILS"],"review_expires_at":null,"hold_deadline_at":null,"created_at":"2026-04-15T12:12:11.000Z","updated_at":"2026-04-15T12:15:11.000Z"}}}},"exampleType":"generated"}},"headers":{"X-Unifystays-Contract-Version":{"description":"Hotel contract version of this response.","schema":{"type":"string","enum":["2"]}}},"exampleType":"generated"},"aa2cd270-de08-4520-84bd-0f25c57bf964":{"description":"Booking not found.","headers":{"X-Unifystays-Contract-Version":{"description":"Hotel contract version of this response.","schema":{"type":"string","enum":["2"]}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"2278b2c6-71be-4869-b8d9-08c36764b5b3":{"description":"CONTRACT_VERSION_UNSUPPORTED","headers":{"X-Unifystays-Contract-Version":{"description":"Hotel contract version of this response.","schema":{"type":"string","enum":["2"]}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"71ce26d4-cf7b-4d3b-ab99-f95701a1c420":{"x-api-key":{"type":"apiKey","in":"header","name":"x-api-key","description":"Environment-specific API key created in the Unifystays portal","scopes":[],"schemeName":"x-api-key"}}},"servers":{"58b3027e-a79b-4d2c-898a-ec7cc8ae6eae":{"url":"https://api-sandbox.unifystays.com","description":"Sandbox"},"32e511f6-5caf-4d51-acd6-ad4d164fb151":{"url":"https://api.unifystays.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Environment-specific API key created in the Unifystays portal","scopes":[],"schemeName":"x-api-key"},"schema":{"title":"x-api-key","type":"string","description":"Environment-specific API key created in the Unifystays portal","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"x-api-key","name":"x-api-key"}],"title":"x-api-key"}]},"originalFileLocation":"reference/openapi.json"},"subdomain":"unifystays","siteName":"Unifystays API","title":"Get Booking Status - Unifystays API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T16:56:41.402Z","originalFileLocation":"api-reference/get-booking-status.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Retrieve the current lightweight unified status for one booking.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Unifystays API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/unifystays/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/unifystays/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/unifystays/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/unifystays/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get Booking Status - Unifystays API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieve the current lightweight unified status for one booking.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Unifystays API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.unifystays.com/api-reference/get-booking-status\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://unifystays.mintlify.app/_mintlify/api/og/v2?division=Bookings\u0026amp;title=Get+Booking+Status\u0026amp;description=Retrieve+the+current+lightweight+unified+status+for+one+booking.\u0026amp;theme=8157bd32ddef625e2bd30aba\u0026amp;signature=502aeb2080237d727456c1605295ddbfd66b6c7ddb23b2026d5815910b43d6a2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get Booking Status - Unifystays API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieve the current lightweight unified status for one booking.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://unifystays.mintlify.app/_mintlify/api/og/v2?division=Bookings\u0026amp;title=Get+Booking+Status\u0026amp;description=Retrieve+the+current+lightweight+unified+status+for+one+booking.\u0026amp;theme=8157bd32ddef625e2bd30aba\u0026amp;signature=502aeb2080237d727456c1605295ddbfd66b6c7ddb23b2026d5815910b43d6a2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/unifystays/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Unifystays API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F766E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.unifystays.com/api-reference/get-booking-status\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/get-booking-status.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.unifystays.com/#organization\",\"name\":\"Unifystays API\",\"url\":\"https://docs.unifystays.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.unifystays.com#website\",\"name\":\"Unifystays API\",\"url\":\"https://docs.unifystays.com\",\"publisher\":{\"@id\":\"https://docs.unifystays.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.unifystays.com/api-reference/get-booking-status#webpage\",\"url\":\"https://docs.unifystays.com/api-reference/get-booking-status\",\"name\":\"Get Booking Status\",\"description\":\"Retrieve the current lightweight unified status for one booking.\",\"dateModified\":\"2026-10-08T16:56:41.402Z\",\"isPartOf\":{\"@id\":\"https://docs.unifystays.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.unifystays.com/api-reference/get-booking-status#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.unifystays.com/api-reference/get-booking-status#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Bookings\",\"item\":\"https://docs.unifystays.com/api-reference/create-booking\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Booking Status\",\"item\":\"https://docs.unifystays.com/api-reference/get-booking-status\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.unifystays.com/api-reference/get-booking-status#apireference\",\"headline\":\"Get Booking Status\",\"name\":\"Get Booking Status\",\"description\":\"Retrieve the current lightweight unified status for one booking.\",\"url\":\"https://docs.unifystays.com/api-reference/get-booking-status\",\"mainEntityOfPage\":{\"@id\":\"https://docs.unifystays.com/api-reference/get-booking-status#webpage\"},\"dateModified\":\"2026-10-08T16:56:41.402Z\",\"publisher\":{\"@id\":\"https://docs.unifystays.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.unifystays.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Unifystays API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Unifystays API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Overview","href":"/api-reference/overview"}]},{"group":"Destination \u0026 master data","pages":[{"title":"Destination Autocomplete","openapi":"reference/openapi.json GET /destinations/autocomplete","href":"/api-reference/destination-autocomplete"},{"title":"List Nationalities","openapi":"reference/openapi.json GET /master-data/nationalities","href":"/api-reference/nationalities"}]},{"group":"Search \u0026 hotels","pages":[{"title":"Get Hotel Filters","openapi":"reference/openapi.json GET /hotels/filters","href":"/api-reference/hotel-filters"},{"title":"Search Hotels","openapi":"reference/openapi.json POST /hotels/search","href":"/api-reference/search-hotels"},{"title":"Get Search Price Updates","openapi":"reference/openapi.json GET /hotels/search/{searchId}/prices","href":"/api-reference/search-price-updates"},{"title":"Get Hotel Content","openapi":"reference/openapi.json GET /hotels/{hotelId}/content","href":"/api-reference/hotel-content"},{"title":"Get Room Options","openapi":"reference/openapi.json POST /hotels/{hotel_id}/rooms","href":"/api-reference/hotel-rooms"},{"title":"Stream Room Updates","openapi":"reference/openapi.json GET /hotels/{hotel_id}/rooms/stream/{stream_id}","href":"/api-reference/hotel-room-stream"},{"title":"Prebook a Room","openapi":"reference/openapi.json POST /hotels/prebook","href":"/api-reference/prebook"}]},{"group":"Bookings","pages":[{"title":"Create Booking","openapi":"reference/openapi.json POST /hotels/book","href":"/api-reference/create-booking"},{"title":"Confirm Hold","openapi":"reference/openapi.json POST /hotels/book/{booking_id}/confirm-hold","href":"/api-reference/confirm-hold"},{"title":"List Bookings","description":"List and filter bookings for the current organization for support, reconciliation, and operational workflows.","openapi":"reference/openapi.json GET /hotels/book","href":"/api-reference/list-bookings"},{"title":"Get Booking Status","openapi":"reference/openapi.json GET /hotels/book/{booking_id}","href":"/api-reference/get-booking-status"},{"title":"Find Booking by Idempotency-Key","description":"Recover a booking whose create response never reached you.","openapi":"reference/openapi.json GET /hotels/book/by-idempotency-key","href":"/api-reference/get-booking-by-idempotency-key"},{"title":"Get Booking Details","openapi":"reference/openapi.json GET /hotels/book/{booking_id}/details","href":"/api-reference/get-booking-details"},{"title":"Quote Cancellation","openapi":"reference/openapi.json POST /hotels/book/{booking_id}/cancellation-quote","href":"/api-reference/cancellation-quote"},{"title":"Cancel Booking","openapi":"reference/openapi.json POST /hotels/book/{booking_id}/cancel","href":"/api-reference/cancel-booking"}]},{"group":"Webhook endpoints","pages":[{"title":"Create Webhook Endpoint","openapi":"reference/openapi.json POST /webhooks/endpoints","href":"/api-reference/webhooks/create-endpoint"},{"title":"List Webhook Endpoints","openapi":"reference/openapi.json GET /webhooks/endpoints","href":"/api-reference/webhooks/list-endpoints"},{"title":"Get Webhook Endpoint","openapi":"reference/openapi.json GET /webhooks/endpoints/{endpoint_id}","href":"/api-reference/webhooks/get-endpoint"},{"title":"Update Webhook Endpoint","openapi":"reference/openapi.json PATCH /webhooks/endpoints/{endpoint_id}","href":"/api-reference/webhooks/update-endpoint"},{"title":"Delete Webhook Endpoint","openapi":"reference/openapi.json DELETE /webhooks/endpoints/{endpoint_id}","href":"/api-reference/webhooks/delete-endpoint"},{"title":"Rotate Webhook Secret","openapi":"reference/openapi.json POST /webhooks/endpoints/{endpoint_id}/rotate-secret","href":"/api-reference/webhooks/rotate-secret"},{"title":"Send Test Webhook","openapi":"reference/openapi.json POST /webhooks/endpoints/{endpoint_id}/test","href":"/api-reference/webhooks/test-endpoint"}]},{"group":"Webhook logs","pages":[{"title":"List Webhook Events","openapi":"reference/openapi.json GET /webhooks/events","href":"/api-reference/webhooks/list-events"},{"title":"List Webhook Deliveries","openapi":"reference/openapi.json GET /webhooks/deliveries","href":"/api-reference/webhooks/list-deliveries"},{"title":"Get Webhook Delivery","openapi":"reference/openapi.json GET /webhooks/deliveries/{delivery_id}","href":"/api-reference/webhooks/get-delivery"},{"title":"Replay Webhook Delivery","openapi":"reference/openapi.json POST /webhooks/deliveries/{delivery_id}/replay","href":"/api-reference/webhooks/replay-delivery"}]}]}]},"basePath":"","title":"Get Booking Status - Unifystays API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}