Skip to main content
Glama

Bhutan Trips by Druk Asia

Create Booking

create_booking

Creates a booking and returns the generated booking reference and ID. A member ID must already exist (see create_member), and port_entry_id / port_exit_id must reference valid destinations (see list_destinations). Requires a valid Druk Asia API key (sent automatically via the x-api-key header).

Input Schema

NameRequiredDescriptionDefault
member_idYesMember ID. Create one first with create_member if not done yet.
grand_totalYesGrand total amount.
itinerary_idYesNumeric itinerary ID (from list_itineraries or get_itinerary).
port_exit_idYesDeparture port Destination.Id. Must reference a destination where isExit = 1. See list_destinations.
port_entry_idYesArrival port Destination.Id. Must reference a destination where isEntry = 1. See list_destinations.
tour_end_dateYesTour end date in ISO date-time format, e.g. 2026-12-07T00:00:00.000Z.
trekking_costYesTrekking cost.
total_adult_paxYesTotal adult passengers.
total_child_paxYesTotal child passengers.
total_visa_costYesTotal visa cost.
tour_start_dateYesTour start date in ISO date-time format, e.g. 2026-12-01T00:00:00.000Z.
total_infant_paxYesTotal infant passengers.
is_trekking_groupYesWhether this booking is a trekking group.
credit_card_chargeYesCredit card processing charge.
total_land_tour_priceYesTotal land tour price.
single_supplement_costYesSingle room supplement cost.
total_adult_air_ticketYesTotal adult air tickets.
total_air_ticket_priceYesTotal air ticket price.
total_child_air_ticketYesTotal child air tickets.
total_infant_air_ticketYesTotal infant air tickets.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the auth mechanism (API key auto-sent via the x-api-key header) and the response payload (booking reference and ID). It does not say whether the created booking is confirmed or pending, whether it is idempotent on retry, or whether creating a booking has financial side effects — material gaps for a 20-field mutation that includes grand_total and credit_card_charge.

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?

Three sentences, front-loaded with the outcome and then the prerequisites, with no filler. It is slightly redundant with the schema's own parameter descriptions, but nothing in it is wasted.

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?

No output schema exists, so the description correctly compensates by naming what is returned, and it covers the two hard prerequisites and the auth requirement. For a create tool this is close to the full set of things an agent must know before invoking it; the remaining unknowns (idempotency, booking status) are enhancements rather than blockers.

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%, so the schema already documents every one of the 20 parameters, including the isEntry/isExit constraints on the port IDs. The description reinforces member_id and the port fields, but that information is duplicated from the schema rather than adding new semantics such as units, currency, or how the derived totals relate to each other.

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?

The description opens with a specific verb and resource — 'Creates a booking' — and adds the return value ('the generated booking reference and ID'), which is more than most create tools state. It names create_member and list_destinations but only as prerequisite sources, not as alternatives it must be distinguished from, so sibling differentiation against update_booking/get_booking is implied rather than stated.

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?

It gives concrete preconditions and routes the agent to the right sibling to satisfy each: a member must exist (see create_member) and ports must reference valid destinations (see list_destinations). That establishes a clear call-ordering for an agent. What is missing is the negative case — when to use update_booking instead, or what to do if the itinerary itself is invalid.

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.