Skip to main content
Glama
Odybook

Odybook MCP Server

Official
by Odybook

create_booking_hold

Creates a temporary booking hold for an experience, reserving capacity for a selected date and time with guest and customer details to prevent overbooking while awaiting confirmation.

Instructions

Initialize a temporary booking hold. Reserves capacity for a limited time. This tool requires a valid ODYBOOK_API_KEY.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paxYesNumber of guests/pax
dateYesDate in YYYY-MM-DD format
timeYesSpecific time slot (e.g., '14:00')
customer_nameYesCustomer full name
experience_idYesUUID of the experience
customer_emailYesCustomer email

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosing side effects. It does disclose that the hold is temporary and limited-time, and warns about the API key requirement. However, it does not explain what happens when the hold expires, whether it can be converted to a booking, or what the client should expect in the response.

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 three short sentences with no filler. The primary action is front-loaded, the key behavioral qualifier ('temporary', 'limited time') follows immediately, and the API key note is a necessary operational detail. Every sentence earns its place.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description leaves important context missing. It does not indicate what a successful hold returns, how long the hold lasts, or whether it affects availability queries. An agent can invoke the tool but lacks critical information about follow-up behavior and response handling.

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 all six parameters thoroughly. The description adds no parameter-specific meaning beyond what the schema provides. This is the appropriate baseline score when the schema handles parameter documentation.

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 starts with a specific verb and resource: 'Initialize a temporary booking hold.' It also clarifies the purpose by noting it 'Reserves capacity for a limited time,' which distinguishes it from sibling tools like search_tours and check_availability. The scope is immediately recognizable.

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

Usage Guidelines2/5

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

The description does not state when to use this tool instead of its siblings, nor does it mention prerequisites such as first checking availability. The only guideline is the API key requirement, which is a credential condition, not a usage decision. It leaves the agent to infer that a hold should follow an availability check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.