Skip to main content
Glama

get_booking_details

Read-onlyIdempotent

Read an existing booking by its ATA confirmation code returned by a successful booking or supplied by the traveler. Never invent a code. Requires a current signed ATA traveler assertion, a verified legacy MCP session, or an approved BOOKING_READ handoff with matching booking email and code. For stateless third-party clients, use start_traveler_handoff with action BOOKING_READ and confirmationCode, then poll get_traveler_handoff_status. Returns booked stay, prices, payments and cancellation terms. Cannot modify, cancel, pay, or create inventory holds. Never use a confirmation code as holdId in get_reservation_status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
propertyTokenNoKnown property public token; required to match a property-scoped connection.
agentHandoffIdNoApproved BOOKING_READ handoff for this confirmation code. No write scope is accepted.
confirmationCodeYesATA confirmation code from the booking email.
travelerAssertionNoCurrent signed ATA traveler verification assertion; never a typed email or model claim.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark it read-only and non-destructive, but the description adds beyond that: it requires an authentication path, returns specific booking data, cannot modify/cancel/pay/create holds, and warns not to misuse the confirmation code as a holdId. No contradiction with the annotations exists.

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

Conciseness5/5

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

Although seven sentences long, every sentence earns its place: purpose, prohibition, auth requirements, alternative routing, return contents, and sibling-tool warning. The main action is front-loaded and no filler is present.

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?

Given there is no output schema and the tool has multiple authentication modes plus a sibling flow, the description is complete. It covers prerequisite inputs, expected return data, permitted and prohibited behaviors, and the specific alternative to use for stateless clients.

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 coverage is 100%, so the baseline is 3. The description adds extra semantic context on top of the schema, such as 'Never invent a code,' the requirement of matching booking email and code, and the explicit handoff flow involving confirmationCode. It mostly reinforces and contextualizes schema descriptions rather than substantially extending them.

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 states a specific verb and resource: 'Read an existing booking by its ATA confirmation code.' It clearly differentiates from siblings by warning against using a confirmation code as holdId in get_reservation_status and by naming the alternative handoff flow.

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 gives explicit eligibility requirements (signed traveler assertion, verified MCP session, or approved BOOKING_READ handoff) and tells stateless third-party clients to use start_traveler_handoff with action BOOKING_READ then poll get_traveler_handoff_status. It also states what the tool cannot do, so an agent knows when to look elsewhere.

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