Docs
Get an API key
Hotel bookings

Estimate your cancellation fee

GET
/v1/hotel/bookings/{id}/cancellation-quote

You receive an advisory quote from fresh supplier data: SUPPLIER_QUOTE uses a cancellation preview (WebBeds), while POLICY_ESTIMATE calculates from a freshly retrieved booking policy (LiteAPI and Duffel Stays). checked_at is the UTC time when the supplier reads completed, not a guaranteed validity deadline. Unreadable or missing booking policies return available=false; failed reads or unusable supplier preview responses return an error instead of stale terms. A local booking change during retrieval returns 409. An active stored WebBeds restriction returns 422 cancellation_restricted before or after the supplier reads. available describes the amount, not whether a new cancellation can start while earlier refund processing remains unfinished. The supplier's cancellation response determines the final fee. Your estimated refund uses the released price; the actual refund is capped by captured funds less previous refund intents.

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.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/hotel/bookings/string/cancellation-quote"

{  "data": {    "available": true,    "source": "POLICY_ESTIMATE",    "checked_at": "2027-10-02T09:00:00Z",    "fee": {      "amount": 0,      "currency": "USD"    },    "refund": {      "amount": 600,      "currency": "USD"    },    "free_until": "2027-11-20T00:00:00Z",    "restrictions": []  }}