Skip to main content
Glama

Open a booking hold

booking_intent

WHAT BECOMES OF THE MONEY: it sits in an on-chain escrow that stays the buyer's, and it reaches the shop only when the buyer acts on the link in their own mail — this platform cannot move it, by construction. A hold nobody acts on goes home when its window closes. IF THE APPOINTMENT IS CANCELLED, the shop's own cancellation terms decide, and they were SEALED onto this hold when it opened: the free-cancel window, what a late cancel or a no-show keeps, and a dispute window (72 hours on the standard terms). The arbiter enforces the copy recorded at open, not a later opinion. Read the shop's OWN terms back to your human rather than describing a default — ask the shop, never assume. Open a reversible DEPOSIT hold on a real appointment, in your human's name. Same ceiling as checkout_intent and the same reason: this is a HOLD, not a booking that has taken money. The code that completes it goes to the buyer's own inbox, never to you, and an unfunded hold hands the slot back on its own. FUND IT YOURSELF when buyer_wallet is your own purse — the human should be confirming a deposit that is already sitting in escrow, not sending one. Hand the funding transaction over only when the wallet is theirs. You must pass the buyer's real email and Stellar public key, and the shop's cancellation policy is consented to by asking for this.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoanything the shop should know
shopYesthe shop's slug
becauseNothe brief-line that drove this booking — it rides the buyer's mail
serviceYesthe service id from booking_offer
starts_atYesthe opening you want, ISO — from booking_offer's list
buyer_nameYeswho the appointment is for
buyer_emailYesthe buyer's real inbox — the release code lands there, not here
buyer_walletYesthe wallet this deposit REFUNDS to (G + 55 base32) — your own purse when you hold one, and then you fund it yourself; otherwise the buyer's own key

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations indicate readOnlyHint=false (mutation), openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds substantial behavioral context: money sits in escrow, cancellation terms are sealed, dispute window, code goes to buyer's inbox, unfunded holds auto-release, and funding instructions. It also clarifies the platform's inability to move funds. This goes well beyond annotations and provides comprehensive behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and not front-loaded; it begins with 'WHAT BECOMES OF THE MONEY' rather than the core action. While every sentence adds important context, it could be more concise and structured. The critical instruction appears later in the text. It earns a 3 because it is well-organized but overly long for an efficient definition.

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?

The description is highly complete for a complex tool: it covers money flow, cancellation terms, dispute window, funding, and agent instructions. However, it does not mention what the tool returns (e.g., a hold ID or status), and there is no output schema. Given the complexity, this is a minor gap, so it falls short of a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds significant value. For buyer_wallet, it explains 'the wallet this deposit REFUNDS to... your own purse when you hold one, and then you fund it yourself; otherwise the buyer's own key.' For buyer_email, it notes 'the release code lands there, not here.' The 'because' parameter is clarified as 'the brief-line that drove this booking — it rides the buyer's mail.' These enrich the schema definitions.

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 clearly states the action: 'Open a reversible DEPOSIT hold on a real appointment, in your human's name.' It also distinguishes from the sibling checkout_intent by noting 'Same ceiling as checkout_intent and the same reason: this is a HOLD, not a booking that has taken money.' This makes the purpose unambiguous and differentiates it from related tools.

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?

The description implicitly guides usage by contrasting with checkout_intent and referencing booking_offer for parameters. It provides specific instructions like 'Read the shop's OWN terms back to your human... ask the shop, never assume' and clarifies when to fund yourself vs. hand over the transaction. However, it does not explicitly state 'use this when you need a hold, use checkout_intent when you need an actual booking'—it relies on inference.

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