Book one slot at the shop. This creates a real booking for a real customer. The shop's own confirm or hold rules and owner approval apply, so the status in the answer can be a hold. Check the slot with the availability tool first. Send an idempotencyKey. A repeat of the same booking returns the first one with alreadyBooked true.
Needs a Chào shop API key (chao_sk_...) made by the shop owner. Send it with the run. It is used for this one call and never stored.
Free. OpenTools adds no fee and Chào sets no price for these routes.
Chào limits each key to 120 reads per minute and 30 bookings per 10 minutes.
Writes a real booking. The customer name and contact go to the shop and are also kept in your OpenTools run history. Ask the customer before you book.
Errors from Chào: slot_taken 409, closed and too_late 422, unknown_service 404, invalid_request 400.
Input schema
serviceIdstringrequiredstartsAtstringrequiredISO 8601 datetime with an offset, for example 2026-10-15T05:00:00Z. Use a start time from the availability answer.
partySizeintegercustomerNamestringrequiredcontactHandlestringrequiredThe customer's phone number or email.
contactChannelstringlocalestringUse this exact tool
Every snippet below names chao/api/shops/agent-book, so an agent runs this endpoint instead of searching for something similar.
Use the OpenTools tool chao/api/shops/agent-book (https://opentools.fulinlabs.com/tools/chao/api/shops/agent-book?method=POST). Connect to the OpenTools MCP server at https://opentools.fulinlabs.com/mcp (or install the CLI with `npm i -g @aeither/opentools`). Do not search the catalog — call `inspect` with provider "chao" and endpoint "/api/shops/agent-book" and method "POST" for the input schema, then `run` with the same provider and endpoint.
opentools run -p chao -e /api/shops/agent-book --method POST -i '{"body":{"serviceId":"","startsAt":"","partySize":0,"customerName":"","contactHandle":"","contactChannel":"","locale":""}}' -wcurl -X POST https://opentools.fulinlabs.com/v1/run \
-H "Authorization: Bearer opentools_live_..." \
-H "content-type: application/json" \
-d '{"provider":"chao","endpoint":"/api/shops/agent-book","method":"POST","input":{"body":{"serviceId":"","startsAt":"","partySize":0,"customerName":"","contactHandle":"","contactChannel":"","locale":""}}}'Connect
set up https://opentools.fulinlabs.com/SKILL.mdhttps://opentools.fulinlabs.com/mcpnpm i -g @aeither/opentoolsShare this tool
Send this link to whoever should use it. It carries the schema, the price, and the snippets above — they need an OpenTools key and a balance, nothing from you.
https://opentools.fulinlabs.com/tools/chao/api/shops/agent-book?method=POST