Skip to main content
Glama

Hold seats (price check)

bookeo_create_hold
Destructive

Temporarily reserve the seats/resources for a draft booking (default 300 s, max 600 s) and get the FINAL price, taxes and amount payable. The recommended step before bookeo_create_booking: pass the returned hold id as previousHoldId there. Holds expire automatically. Bookeo: POST /holds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endTimeNoOptional forced end time for flexibleTime products (otherwise Bookeo computes the duration) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone.
eventIdNoSlot id from bookeo_get_availability_slots / bookeo_search_matching_slots. REQUIRED for fixed and fixedCourse products; optional for flexibleTime (use startTime instead).
optionsNoProduct options (see bookeo_list_products).
customerNoA NEW customer to create together with the booking. Use customerId instead for an existing customer.
productIdYesProduct id (see bookeo_list_products).
resourcesNoResources (e.g. a specific guide or instructor) — for flexibleTime products.
startTimeNoStart time, for flexibleTime products when no eventId is given — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone.
customerIdNoId of an EXISTING customer (see bookeo_list_customers).
externalRefNoYour own reference for this booking (max 64 chars).
privateEventNoReserve the entire event, if the product allows it.
peopleNumbersYesParticipant counts per people category.
previousHoldIdNoA previous hold in the same session, replaced by this one.
promotionCodeInputNoPromotion code(s), comma-separated.
holdDurationSecondsNoHow long to hold, in seconds (default 300, max 600).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With only destructiveHint=true in annotations, the description carries most of the burden and delivers real value: default/max hold duration, automatic expiry, and the fact that it returns final price/taxes/amount payable. It omits edge behavior such as what happens when a hold is superseded or expires before booking, but the core behavioral facts are disclosed and do not conflict with destructiveHint.

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?

Four tight sentences, front-loaded with the reservation action and price-check payoff, followed by the integration hint and expiry note. The trailing 'Bookeo: POST /holds' is a compact endpoint marker; nothing is wasted.

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

Completeness4/5

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

For a 14-parameter tool with nested objects and no output schema, the description usefully covers what is returned (final price, taxes, amount payable) and how the hold feeds into booking creation. It stops short of covering failure modes or expiry-to-booking timing, which a complex mutation tool would ideally address.

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 every one of the 14 parameters is already documented, including holdDurationSeconds defaults and the previousHoldId meaning. The description mostly restates duration limits and the hold-id linkage rather than adding syntax or format detail beyond the schema, so the baseline 3 applies.

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+resource (temporarily reserve seats/resources for a draft booking) and the outcome (final price, taxes, amount payable). It clearly distinguishes itself from bookeo_create_booking, which is the sibling it feeds into.

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?

Explicitly positions itself as 'the recommended step before bookeo_create_booking' and explains the handoff (pass the returned hold id as previousHoldId). It also states holds expire automatically, so the agent knows the hold is transient scaffolding rather than a substitute for a real 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.