# cancel_booking

Cancel one of the signed-in user's bookings. Requires the 6-digit verificationCode from request_booking_action_code. This may be irreversible and can trigger a refund per policy.

Agent View of the PolicyLayer registry record for `cancel_booking`. HTML page: https://policylayer.com/tools/com-getmyhotels-getmyhotels/cancel-booking

## Facts

- Tool: `cancel_booking`
- Server: GetMyHotels (`https://mcp.getmyhotels.com`) — https://policylayer.com/tools/com-getmyhotels-getmyhotels.md
- Homepage: https://github.com/fenilsonani/gmh
- Risk category: Destructive (Critical risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 3 (2 required)
- Recommended policy verdict: Hidden

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `reason` | string | no | Optional cancellation reason (≤1000 chars). |
| `publicId` | string | yes | The booking's public id. |
| `verificationCode` | string | yes | 6-digit code from `request_booking_action_code`. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cancel_booking",
    "arguments": {
      "publicId": "<publicId>",
      "verificationCode": "<verificationCode>"
    }
  }
}
```

## Why cancel_booking is rated Critical

Cancelling a booking is an irreversible destructive action that terminates a user's reservation and can affect financial obligations (refunds). While it involves financial consequences, the primary action is the irreversible destruction/cancellation of the booking record itself.

From the tool's own definition: "Tool description explicitly states 'Cancel one of the signed-in user's bookings' and notes 'This may be irreversible and can trigger a refund per policy.' The cancellation is an irreversible action that modifies financial state."

## Use case

AI agents call cancel_booking to permanently remove resources in GetMyHotels, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

## Recommended policy (PolicyLayer)

Verdict: **Hidden**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GetMyHotels:

```json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "cancel_booking"
  ]
}
```

## Other tools on GetMyHotels (17)

- `create_checkout` — Financial — https://policylayer.com/tools/com-getmyhotels-getmyhotels/create-checkout.md
- `create_one_click_checkout` — Financial — https://policylayer.com/tools/com-getmyhotels-getmyhotels/create-one-click-checkout.md
- `fetch` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/fetch.md
- `get_booking` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/get-booking.md
- `get_checkout_quote` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/get-checkout-quote.md
- `get_hotel_details` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/get-hotel-details.md
- `get_my_booking` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/get-my-booking.md
- `get_rooms` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/get-rooms.md
- `list_my_bookings` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/list-my-bookings.md
- `list_payment_methods` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/list-payment-methods.md
- `list_trips` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/list-trips.md
- `search` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/search.md
- `search_hotels` — Read — https://policylayer.com/tools/com-getmyhotels-getmyhotels/search-hotels.md
- `add_trip_item` — Write — https://policylayer.com/tools/com-getmyhotels-getmyhotels/add-trip-item.md
- `modify_booking` — Write — https://policylayer.com/tools/com-getmyhotels-getmyhotels/modify-booking.md
- `request_booking_action_code` — Write — https://policylayer.com/tools/com-getmyhotels-getmyhotels/request-booking-action-code.md
- `save_trip` — Write — https://policylayer.com/tools/com-getmyhotels-getmyhotels/save-trip.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-getmyhotels-getmyhotels · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-getmyhotels-getmyhotels
