Skip to main content
Glama

create_booking

Create a real booking at Yasha Hotel. WORKFLOW: (1) call check_availability to confirm the room is available and know the exact price, (2) collect the traveler full name and email, (3) call this tool, (4) give the human the payment instructions from the response: the booking is only confirmed after secure Stripe card payment — the safest path is to send the traveler to https://yashahotel.com/ to pay, or use the returned Stripe client_secret with Stripe.js. Unpaid bookings expire automatically. Optional: guest count (capped at room capacity), phone, special requests, breakfast for all guests/nights, promo code, extra ids from list_extras. Returns booking_id, amount_cents (EUR cents) and Stripe payment details. Fails with 409 if the room became unavailable.

Input Schema

NameRequiredDescriptionDefault
extrasNoExtra ids from list_extras
guestsNoNumber of guests, defaults to 1
checkinYesArrival date YYYY-MM-DD
room_idYesRoom id from list_rooms / check_availability
checkoutYesDeparture date YYYY-MM-DD
breakfastNoBuffet breakfast for all guests, all nights
guest_nameYesTraveler full name
promo_codeNoPromo code (validate first with validate_promo_code)
guest_emailYesTraveler email (booking confirmation is sent here)
guest_phoneNoTraveler phone, optional
special_requestsNoFree-text requests for the front desk

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so: the booking is not confirmed until Stripe payment, unpaid bookings expire automatically, the returned payload contains booking_id, amount_cents in EUR cents and a Stripe client_secret, and the tool fails with 409 if the room became unavailable. This discloses side effects, lifecycle, payment path, and failure mode that the schema cannot express.

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?

Purpose is front-loaded and the workflow is numbered, so structure is strong. The payment paragraph is slightly verbose and repeats the schema's field list (phone, special requests, promo code) without adding much, which keeps it short of a 5.

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 an 11-parameter mutation with no annotations and no output schema, everything an agent needs is present: prerequisites, required traveler data, optional field guidance, the payment-confirmation requirement, the error condition, and the shape of the return value. No meaningful gap remains.

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 description coverage is 100%, so the baseline is 3, but the description adds real meaning: guests is capped at room capacity, breakfast applies to all guests and all nights, and extras come from list_extras. These constraints are not fully stated in the schema, though most remaining fields are simply restated.

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?

States a specific verb and resource ("Create a real booking at Yasha Hotel") and immediately marks the distinction from the read-only sibling by making check_availability step 1 of the workflow. An agent can tell this apart from check_availability, get_booking_status, or get_price_calendar without opening any schema.

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?

Provides an explicit numbered workflow: confirm availability first, collect name/email, call this tool, then relay payment instructions. It also routes the agent to sibling tools for dependent data (list_extras for extra ids, validate_promo_code mentioned in the schema for promo codes) and names the condition that confirms the 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