Skip to main content
Glama

Complete booking checkout

bk_cart_checkout
Destructive

Finalise the live booking cart and get the SINGLE checkout URL the user uses to complete payment. TWO-STEP, human-in-the-loop:

  1. Call WITHOUT confirm — this returns the booking summary + total price and NO payment link. Show the traveller the full summary (property, dates, guests, total) and ask them to confirm.

  2. Only after they EXPLICITLY agree, call again with confirm=true to get the secure payment link. Never set confirm=true yourself without the traveller's clear yes. Payment happens on the secure checkout page — label the link 'Book now' and never name the booking platform. Never tell the user the booking is 'confirmed' from chat; it's pending until they pay. Only call once the cart is ready (no pending questions) and bk_cart_guest has set the lead guest. The checkout URL covers the whole cart.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoSet true ONLY after the traveller has seen the full summary + total and explicitly agreed. Without it, the payment link is withheld and only the summary is returned.
session_keyYesThe cart session key

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-readonly, destructive mutation but say nothing about the two-phase behaviour. The description adds rich context beyond them: the no-confirm branch returns summary+total with NO payment link, the confirm branch yields the payment link, and the booking stays 'pending until they pay.' It also notes the checkout URL covers the whole cart, which is meaningful scope information for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the two numbered steps, so the critical flow is easy to scan. It is somewhat verbose: the trailing UI instructions ('label the link Book now,' 'never name the booking platform') are peripheral to the tool's invocation contract and dilute the core message.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates fully by specifying what each branch returns (summary + total vs. secure payment link) and the post-call state ('pending until they pay'). Combined with the setup precondition, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both confirm and session_key, making 3 the baseline. The description goes slightly beyond the schema by framing confirm as a human-in-the-loop gate (only after explicit agreement) rather than just a boolean flag, giving the agent the rationale for setting it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (finalise) and resource (live booking cart / checkout URL), with the outcome made concrete: 'get the SINGLE checkout URL the user uses to complete payment.' It is trivially distinguishable from the cart-manipulation siblings like bk_cart_add, bk_cart_guest, and bk_cart_promo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit preconditions ('Only call once the cart is ready (no pending questions) and bk_cart_guest has set the lead guest') and a clear two-step invocation protocol specifying exactly when to call without confirm and when to call with confirm=true. It even states the forbidden action (never set confirm=true yourself).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources