# create_checkout

Create a secure checkout for a chosen hotel room and return a getmyhotels.com URL where the guest completes payment. This does NOT charge the card — the guest pays on the hosted page. Confirm the hotel, room, dates, and price with the user before calling. Call get_checkout_quote first to confirm the live price.

Agent View of the PolicyLayer registry record for `create_checkout`. HTML page: https://policylayer.com/tools/com-getmyhotels-getmyhotels/create-checkout

## Facts

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

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `ref` | string | no | Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId. |
| `price` | number | yes | Total to charge for the WHOLE stay (use `grandTotal` from `get_checkout_quote` verbatim — do not multiply it by the number of nights). |
| `rooms` | integer | no | Rooms (default 1). |
| `adults` | integer | no | Adults (default 2). |
| `checkIn` | string | yes | Check-in date, ISO 8601 (YYYY-MM-DD). |
| `checkOut` | string | yes | Check-out date, ISO 8601 (YYYY-MM-DD). |
| `children` | integer | no | Children (default 0). |
| `currency` | string | yes | ISO 4217 currency of `price`/`totalPrice` (e.g. 'USD'). |
| `roomName` | string | yes | Room name (from the chosen room). |
| `hotelName` | string | yes | Hotel name (from `search_hotels`). |
| `childrenAges` | array | no | Age of each child. |
| `supplierCode` | string | no | Supplier code (from `search_hotels`). Required if `ref` is omitted. |

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": "create_checkout",
    "arguments": {
      "price": 0,
      "checkIn": "<checkIn>",
      "checkOut": "<checkOut>",
      "currency": "<currency>",
      "roomName": "<roomName>",
      "hotelName": "<hotelName>"
    }
  }
}
```

## Why create_checkout is rated Critical

Initiates a financial checkout flow that leads directly to payment collection.

From the tool's own definition: "Create a secure checkout...guest completes payment"

Risk signals: High parameter count (14 properties)

## Use case

AI agents use create_checkout to commit financial operations through GetMyHotels, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_checkout": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on GetMyHotels (17)

- `cancel_booking` — Destructive — https://policylayer.com/tools/com-getmyhotels-getmyhotels/cancel-booking.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
