Docs
Get an API key
Hotel bookings

Complete your hotel booking

POST
/v1/hotel/bookings/{id}/book

You complete a ready booking with your saved payment instrument, or send an empty object after authorizing the SDK payment. A repeated confirmed booking returns its stored result. Read an in-progress booking when the result is unknown; do not create a replacement purchase.

Authorization

x-api-key<token>

Your API key. Issued and revoked from the TrustPixel dashboard; the gateway resolves it to an owning organization on every request.

In: header

Path Parameters

id*string
Match^bkg_[a-zA-Z0-9-]+$
Lengthlength <= 128

Header Parameters

x-request-id?string

Correlation id echoed to the upstream service and returned on the response. Generated as req_<uuid> when omitted.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/hotel/bookings/string/book" \  -H "Content-Type: application/json" \  -d '{    "payment_instrument_id": "REPLACE_WITH_YOUR_PAYMENT_INSTRUMENT_ID"  }'

{  "data": {    "id": "bkg_example",    "reference_id": "order-example",    "status": "CONFIRMED",    "hotel": {      "id": "htl_example",      "name": "Example Marina Hotel",      "address": "Example Avenue, Dubai, AE"    },    "check_in": "2027-11-22",    "check_out": "2027-11-24",    "total": {      "amount": 600,      "currency": "USD"    },    "created_at": "2027-10-01T10:01:00Z",    "updated_at": "2027-10-01T10:03:00Z",    "confirmed_at": "2027-10-01T10:03:00Z",    "canceled_at": null,    "payments": [      {        "id": "pay_example",        "status": "CAPTURED",        "amount": {          "amount": 600,          "currency": "USD"        },        "payment_method": {          "type": "CARD",          "card": {            "brand": "VISA",            "last4": "4242",            "funding": "CREDIT",            "wallet": null          }        },        "created_at": "2027-10-01T10:02:00Z"      }    ],    "cancellations": [],    "hotel_confirmation_code": null,    "hotel_remarks": null,    "offer_expires_at": "2027-10-01T10:15:00Z",    "due_at_property": null,    "cancellation_policy": null,    "contact": {      "first_name": "Alex",      "last_name": "Morgan",      "email": "alex@example.com",      "phone": "+447700900123"    },    "loyalty": null,    "rooms": [      {        "id": "room_example1",        "position": 0,        "name": "Deluxe Twin",        "board": "ROOM_ONLY",        "board_name": "Room Only",        "adults": 2,        "children": [],        "total": {          "amount": 300,          "currency": "USD"        },        "due_at_property": null,        "cancellation_policy": {          "version": 1,          "refundable": true,          "deadline": "2027-11-20T00:00:00Z",          "penalties": [            {              "from": "2027-11-20T00:00:00Z",              "type": "AMOUNT",              "amount": {                "amount": 150,                "currency": "USD"              }            }          ],          "restrictions": []        },        "promotions": null,        "supplier_reference_number": null,        "hotel_confirmation_code": null,        "canceled_at": null,        "guests": [          {            "id": "guest_example11",            "first_name": "Alex",            "last_name": "Morgan",            "type": "ADULT",            "is_lead": true          },          {            "id": "guest_example12",            "first_name": "Sam",            "last_name": "Morgan",            "type": "ADULT",            "is_lead": false          }        ]      },      {        "id": "room_example2",        "position": 1,        "name": "Deluxe Double",        "board": "ROOM_ONLY",        "board_name": "Room Only",        "adults": 2,        "children": [],        "total": {          "amount": 300,          "currency": "USD"        },        "due_at_property": null,        "cancellation_policy": {          "version": 1,          "refundable": true,          "deadline": "2027-11-20T00:00:00Z",          "penalties": [            {              "from": "2027-11-20T00:00:00Z",              "type": "AMOUNT",              "amount": {                "amount": 150,                "currency": "USD"              }            }          ],          "restrictions": []        },        "promotions": null,        "supplier_reference_number": null,        "hotel_confirmation_code": null,        "canceled_at": null,        "guests": [          {            "id": "guest_example21",            "first_name": "Jamie",            "last_name": "Lee",            "type": "ADULT",            "is_lead": true          },          {            "id": "guest_example22",            "first_name": "Taylor",            "last_name": "Lee",            "type": "ADULT",            "is_lead": false          }        ]      }    ]  }}