Skip to main content
Glama

LockTrip Hotels

Confirm Hotel Booking

confirm_booking
Destructive

Confirms and finalizes a booking using a B2B credit line — PARTNER ACCOUNTS ONLY. Guests cannot use this; ordinary consumers must instead pay via create_checkout (recommended) or get_payment_url. Required: bookingInternalId and quoteId (both from prepare_booking); paymentMethod defaults to CREDIT_LINE. REQUIRES A B2B PARTNER SESSION with a credit line; a guest_login session has no credit line and is rejected. Returns accepted and message, plus a voucherUrl on success. On accepted:false, READ serviceUnavailable: if it is absent the credit-line service gave a real verdict (insufficient balance, inactive line) and the answer will NOT change on retry — tell the user and stop; if it is true the credit-line service was unreachable, which is a system fault and not a decision about their credit. Even then do NOT blindly retry: the reservation may already have been applied — re-read the booking with get_booking_details first. Note also that accepted:true means the credit line was charged and the booking accepted, but the supplier reservation is completed asynchronously afterwards.

Input Schema

NameRequiredDescriptionDefault
quoteIdYesQuote ID used in prepare_booking
sessionTokenNoOptional guest-checkout token returned by `guest_login`.
paymentMethodNoPayment method (default: CREDIT_LINE for B2B)
bookingInternalIdYesBooking ID from prepare_booking

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The annotations declare destructiveHint=true and readOnlyHint=false, so the mutation is already signalled; the description goes well beyond that by explaining that the credit line is charged, that supplier reservation completes asynchronously, that a guest_login session is rejected, and how to read accepted:false together with serviceUnavailable to distinguish a real verdict from a system fault. That is exactly the kind of failure/retry semantics an agent cannot infer from the schema.

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?

The most consequential constraint (PARTNER ACCOUNTS ONLY) is front-loaded in the first sentence, followed by requirements, then return values, then error handling. It is dense and slightly long, but nearly every sentence carries operational information; only the retry-adjacent wording is mildly repetitive.

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?

There is no output schema, and the description compensates by naming the returned fields (accepted, message, voucherUrl) and interpreting them, including the async gap between charge and supplier confirmation. For a destructive, state-changing booking tool this covers the decision-relevant surface.

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

Parameters3/5

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

Schema description coverage is 100%, and the description largely restates what the schema already documents — that quoteId and bookingInternalId come from prepare_booking and that paymentMethod defaults to CREDIT_LINE. It adds little new parameter-level meaning, so the baseline of 3 applies.

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?

The description opens with a specific verb+resource ('Confirms and finalizes a booking') and immediately scopes it to B2B credit-line partner accounts. It distinguishes itself from the sibling payment paths by naming create_checkout and get_payment_url as the alternatives for ordinary consumers.

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?

It states explicitly when to use this tool (B2B partner session with a credit line) and when not (guests, ordinary consumers), and routes those excluded users to named alternatives, with create_checkout marked as recommended. It also adds a conditional rule against blind retry after a service fault.

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