Skip to main content
Glama

get_booking_details

Read-onlyIdempotent

Read an existing booking by its ATA confirmation code (for example BK-A28N9L). 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 declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds critical behavioral context beyond these: required authentication methods, return content (stay, prices, payments, cancellation terms), and a caution about using confirmation codes as holdIds. It reinforces the read-only nature without contradicting annotations.

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?

The description is well structured and front-loaded: purpose first, then auth requirements, then alternative flow, then return info, then limitations and a warning. Every sentence adds necessary information with no fluff or redundancy.

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?

For a read operation with complex authentication paths and multiple sibling tools, the description covers all essentials: how to authenticate, what it returns, what it cannot do, and how to distinguish it from get_reservation_status. An agent has enough guidance to invoke it correctly without further inference.

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 parameters are already documented. The description adds value by providing a concrete code example (BK-A28N9L), clarifying that travelerAssertion must be a signed assertion and not a typed email, and specifying that agentHandoffId accepts only BOOKING_READ handoffs. This enriches the schema definitions.

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 clearly states a specific verb (Read) and resource (booking) with a unique identifier (ATA confirmation code). It explicitly distinguishes from get_reservation_status by warning not to use the confirmation code as holdId, preventing confusion between two read-like tools.

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 provides explicit prerequisites (signed assertion, legacy session, or approved handoff), and gives an alternative flow for stateless clients (start_traveler_handoff + poll get_traveler_handoff_status). It also states what it cannot do (modify, cancel, pay, create holds), giving clear when-not-to-use guidance.

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