Skip to main content
Glama

create_quote

Generate a non-binding reference quote for a traveler. Requires guest name/email plus a current travelerAssertion or fresh approved internal QUOTE agentHandoffId. If verification is needed, keep internal tool details private; tell the traveler to confirm their email and follow the code or link instructions returned by verification. Quotes do not hold inventory or guarantee future availability.

Input Schema

NameRequiredDescriptionDefault
adultsYes
roomIdYes
checkInYes
checkOutYes
childrenNo
guestNameYes
guestEmailYes
guestPhoneNo
ratePlanIdNoRate plan ID. Optional.
guestCountryNoOptional for a quote. If omitted, the traveler supplies it when completing the booking.
priceAudienceNo
propertyTokenYes
agentHandoffIdNoFresh approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party quote creation without a current traveler assertion.
displayCurrencyNoOptional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.
internalAgentKeyNo
bookingAssistanceNoInternal Little John quote attribution; requires the internal agent credential.
selectedRoomCountNoFor direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.
travelerAssertionNoSigned traveler email verification assertion from ATA.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / bookingAssistance
      Added value: +{
      +  "description": "Internal Little John quote attribution; requires the internal agent credential.",
      +  "enum": [
      +    "AI_ASSIST"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / guestEmail / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  3. Changed1 schema field changed
    • addedInput schema / properties / guestCountry
      Added value: +{
      +  "description": "Optional for a quote. If omitted, the traveler supplies it when completing the booking.",
      +  "maxLength": 80,
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / agentHandoffId / description
      Previous value: -"Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for first-time third-party quote creation; repeat verified traveler emails can quote without a new handoff."New value: +"Fresh approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party quote creation without a current traveler assertion."
  5. Changed1 schema field changed
    • changedInput schema / properties / agentHandoffId / description
      Previous value: -"Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before quote creation."New value: +"Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for first-time third-party quote creation; repeat verified traveler emails can quote without a new handoff."
  6. Changed2 schema fields changed
    • changedInput schema / properties / agentHandoffId / description
      Previous value: -"Optional ATA traveler handoff ID for correlation. Quotes do not require traveler approval."New value: +"Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before quote creation."
    • changedInput schema / properties / travelerAssertion / description
      Previous value: -"Optional signed traveler email verification assertion from ATA. Not required for public non-binding quotes."New value: +"Signed traveler email verification assertion from ATA."
  7. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare it is a non-read-only, non-destructive, non-idempotent open-world mutation. The description adds meaningful behavioral context beyond that: quotes do not hold inventory or guarantee availability, verification may be required, and internal tool details should be kept private. It doesn't describe error behavior or what a quote result contains, keeping it from a 5.

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?

Four sentences, front-loaded with the core purpose and prerequisites, then privacy guidance and the inventory caveat. Dense but each sentence carries useful information; no filler.

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

Completeness3/5

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

For a complex 18-parameter mutation with no output schema and only 39% schema coverage, the description covers the critical auth and non-binding semantics but leaves the majority of parameters and the response shape unaddressed. Adequate but with clear gaps an agent might need.

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 coverage is only 39% across 18 parameters, so the description must compensate. It clarifies the auth-related params (travelerAssertion, agentHandoffId) and required guest fields, but leaves many params (priceAudience, displayCurrency, selectedRoomCount, adults/children, dates) undocumented beyond the schema. Partial compensation for a low-coverage schema.

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

Purpose4/5

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

States a specific verb and resource ('Generate a non-binding reference quote for a traveler') and clarifies it is non-binding, which distinguishes it from create_provisional_booking. Clear enough that an agent understands the core operation, though it doesn't explicitly name the booking sibling it differs from.

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

Usage Guidelines4/5

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

Explicitly states prerequisites: guest name/email plus either a current travelerAssertion or a fresh approved agentHandoffId. It also clarifies the verification path and that quotes don't hold inventory, giving clear when-to-use context. It stops short of naming alternatives like create_provisional_booking.

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