# MCP: booking

Source: <https://telegafirst.com/docs/mcp-booking>
Locale: ru
releaseGitSha: 0bb11ef116e17ec64c802d5476eaff442e53d252
sourceContentDigest: d0bb0d6d855d5e1210fee4cf8396dd0e55ac90f63ec2bfa4d326adab811bab0e
Version: 9

# 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-cancel)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-create)

## booking\_create\_resource

Create a booking resource. The idempotency\_key is mandatory.

Scopes (ALL): \["booking:write"]. Risk: "write".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-create-resource)

## booking\_create\_resource\_schedule

Create a monthly resource schedule. The idempotency\_key is mandatory.

Scopes (ALL): \["booking:write"]. Risk: "write".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-create-resource-schedule)

## booking\_delete\_resource\_schedule

Delete a resource schedule with its current etag. The idempotency\_key is mandatory.

Scopes (ALL): \["booking:write"]. Risk: "destructive".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-delete-resource-schedule)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-execute-attendance)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-execute-confirm)

## booking\_get\_resource

Get one booking resource by tenant-local sequence number.

Scopes (ALL): \["booking:read"]. Risk: "read".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-get-resource)

## booking\_get\_resource\_schedule

Get a resource schedule by tenant-local sequence number.

Scopes (ALL): \["booking:read"]. Risk: "read".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-get-resource-schedule)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-get-user-list)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-list-pending)

## booking\_list\_resource\_schedules

List monthly resource schedules with a bounded cursor.

Scopes (ALL): \["booking:read"]. Risk: "read".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-list-resource-schedules)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-list-resources)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-prepare-attendance)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-prepare-confirm)

## 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".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-search-availability)

## booking\_update\_resource

Update a booking resource with its current etag. The idempotency\_key is mandatory.

Scopes (ALL): \["booking:write"]. Risk: "write".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-update-resource)

## booking\_update\_resource\_schedule

Update a resource schedule with its current etag. The idempotency\_key is mandatory.

Scopes (ALL): \["booking:write"]. Risk: "write".

[Вход, результат и права](https://telegafirst.com/docs/mcp-tool-booking-update-resource-schedule)
