Для AI-агентов: markdown этой страницы — /docs/mcp-booking.mdиндекс документации — /llms.txt
MCP: booking
Обновлено
Определения инструментов. Обновляйте tools/list после изменения прав. required_scopes: ALL.
booking_cancel
Cancel a booking by its `seqNum`, optionally recording why. `cancelled` is TERMINAL — a client who comes back makes a NEW booking, so this is not undoable. Errors CONFLICT when the booking is already in a terminal state (completed / cancelled / no-show); it never reports success for a move it did not make.
Scopes (ALL): ["booking:write"]. Risk: "destructive".
booking_create
Place a booking for one end user. `resource_seq_num` may be null — that is «any free master», and the operator assigns one later. `start_at` may be null when the operator will pick the time. For a RANGE («домик с 5 по 15», «сауна с 14:00 до 18:00») pass `end_at` and let the platform count the units — it counts `daily` nights by the tenant calendar, which hand arithmetic gets wrong twice a year. `quantity` is the slot/day multiplier (default 1) and is ignored when `end_at` is given. The booking is created as `pending`: confirming it requires a separate prepared scenario and final human confirmation. Refused with a reason when the gate says no (slot taken, too soon, beyond the booking window, per-user limit reached).
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_create_resource
Create a booking resource. The idempotency_key is mandatory.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_create_resource_schedule
Create a monthly resource schedule. The idempotency_key is mandatory.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_delete_resource_schedule
Delete a resource schedule with its current etag. The idempotency_key is mandatory.
Scopes (ALL): ["booking:write"]. Risk: "destructive".
booking_execute_attendance
Record the visit fact identified by a matching prepared scenario. Call this tool only after final human confirmation of the prepared scenario.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_execute_confirm
Confirm the booking identified by a matching prepared scenario. Call this tool only after final human confirmation of the prepared scenario.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_get_resource
Get one booking resource by tenant-local sequence number.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_get_resource_schedule
Get a resource schedule by tenant-local sequence number.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_get_user_list
List one end user's bookings for this tenant, newest first — status, the service and resource, the time span, the multiplier, and `didAttend` (null = the operator has not marked the visit yet, which is a THIRD value and not a «no»). `user_seq_num` is the tenant-local User sequence. 0-cost read.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_list_pending
List pending bookings across every user of the current tenant. Returns tenant-local booking, service and resource handles with a bounded cursor.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_list_resource_schedules
List monthly resource schedules with a bounded cursor.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_list_resources
List the tenant's bookable resources (masters / rooms / equipment) with their `seqNum` (the id you pass to search and create), the services each one currently offers, the slot grid step, and the two reach flags: `isActive` = switched on at all, `isPublic` = offered in the shared selector (an active non-public resource is bookable ONLY by its own link). Call this first — `booking_search_availability` needs a service that some resource actually offers. 0-cost read.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_prepare_attendance
Prepare the attended or no-show fact for a booking. Show the immutable prepared scenario to the human before calling booking_execute_attendance. This records the visit without sending a client notification.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_prepare_confirm
Prepare confirmation of a pending booking. Show the immutable prepared scenario to the human before calling booking_execute_confirm.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_search_availability
Find free booking slots for a service over a date range. `catalog_item_seq_num` is the service (a Catalog row with `is_bookable`); omit `resource_seq_num` (or pass null) to search EVERY master/room that offers it. Dates are `YYYY-MM-DD` in the tenant timezone, both inclusive. Each slot carries its start/end, the resource that would take it, and `bookable` — a slot beyond the booking window comes back visible but NOT bookable. The grid is computed under the same gate `booking_create` enforces, so a `bookable: true` slot is one this agent can actually take. 0-cost read.
Scopes (ALL): ["booking:read"]. Risk: "read".
booking_update_resource
Update a booking resource with its current etag. The idempotency_key is mandatory.
Scopes (ALL): ["booking:write"]. Risk: "write".
booking_update_resource_schedule
Update a resource schedule with its current etag. The idempotency_key is mandatory.
Scopes (ALL): ["booking:write"]. Risk: "write".