# create_one_click_checkout

Create a checkout for the signed-in user with a saved card pre-selected, and return a getmyhotels.com URL where they confirm + pay in one click. Does NOT charge the card — the user confirms on the hosted page. Get the savedPaymentMethodPublicId from list_payment_methods. Confirm the hotel, room, dates, and price with the user first.

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

## Facts

- Tool: `create_one_click_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 (7 required)
- Recommended policy verdict: Approval-gated

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `ref` | string | no | Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). |
| `price` | number | yes | Total 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. |
| `checkOut` | string | yes | Check-out date, ISO 8601. |
| `children` | integer | no | Children (default 0). |
| `currency` | string | yes | ISO 4217 currency (e.g. 'USD'). |
| `roomName` | string | yes | Room name. |
| `hotelName` | string | yes | Hotel name. |
| `supplierCode` | string | no | Supplier code (if `ref` omitted). |
| `supplierRoomId` | string | yes | Bookable room/rate id from `search_hotels`. |

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

## Why create_one_click_checkout is rated Critical

Initiates a hotel payment checkout flow committing financial obligations for the user.

From the tool's own definition: "Create a checkout... confirm + pay... saved card pre-selected"

Risk signals: High parameter count (14 properties)

## Use case

AI agents use create_one_click_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_one_click_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_checkout` — Financial — https://policylayer.com/tools/com-getmyhotels-getmyhotels/create-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
