Skip to main content
Cancel a hotel booking when the traveler can no longer make the stay or wants to drop a hotel from a multi-item trip. The call is idempotent: retrying the same cancellation re-serves the stored result rather than charging or refunding twice. Works with guest auth (booking ref + last name) or the authenticated shortcut (provider booking ID).
Cancel a hotel booking.

USAGE (guest — no login required):
  hotel_cancel({ booking_ref: "JNK-A7B3X9", last_name: "Doe" })

USAGE (authenticated shortcut, when caller already has the provider's booking ID):
  hotel_cancel({ provider_booking_id: "<nuitee-id>", provider: "nuitee" })

The two auth modes are MUTUALLY EXCLUSIVE — pass either the guest pair or the provider_booking_id, never both.

Returns: cancellation status, refund amount (if any), penalty amount (if any), and the provider reference.

IDEMPOTENT — calling this on an already-cancelled booking returns the same result that was recorded the first time, with `idempotent: true` in the structured response. Safe to retry.

Before cancelling, you can call `get_booking` first to inspect the booking details and confirm what you are about to cancel.

Parameters

NameTypeRequiredDescription
booking_refstringNoJinko booking reference (e.g. JNK-A7B3X9). Found in the booking confirmation email. Guest path — must be paired with last_name.
last_namestringNoLast name of the lead guest on the hotel booking. Guest path — must be paired with booking_ref.
provider_booking_idstringNoProvider booking ID (e.g. the Nuitée booking ID). Optional — provided only by authenticated DevPlatform callers who already resolved it. Mutually exclusive with booking_ref + last_name.
providerstringNoProvider code (e.g. “nuitee”). Usually auto-detected from the booking. Only meaningful alongside provider_booking_id.