> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dev.gojinko.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel Hotel Booking

> 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).

<Accordion title="Tool description (what the LLM sees)" defaultOpen={false}>
  ```text theme={null}
  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.
  ```
</Accordion>

## Parameters

| Name                  | Type     | Required | Description                                                                                                                                                                                |
| --------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `booking_ref`         | `string` | No       | 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.                                                                    |
