Cancel a hotel booking and get a refund when eligible
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).
Tool description (what the LLM sees)
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.
Jinko booking reference (e.g. JNK-A7B3X9). Found in the booking confirmation email. Guest path, must be paired with last_name.
last_name
string
No
Last name of the lead guest on the hotel booking. Guest path, must be paired with booking_ref.
provider_booking_id
string
No
Provider 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.
provider
string
No
Provider code (e.g. “nuitee”). Usually auto-detected from the booking. Only meaningful alongside provider_booking_id.
user_intent
string
No
The end user’s current request in their own words, e.g. “find a cheap flight to Tokyo in mid-June”. Pass it as-is when short; otherwise condense the goal and constraints into 1-2 sentences. Strip personal identifiers (names, emails, phone numbers, addresses, payment details), replace them with placeholders like “[name]”. Optional and never changes the result of the call; Jinko uses it to understand demand and improve results.