Back to Tools

create_availability_hold

write:bookings

Create a temporary slot hold to prevent double booking during checkout.

Input Parameters

Parameters

PropertyTypeDescription
session_idrequiredstringSession identifier (1-200 chars)
start_timerequiredstringSlot start (ISO 8601)
end_timerequiredstringSlot end (ISO 8601)
segmentsobject[]Staff segments (team_member_id, start_time, end_time, service_id?, service_name?)
idempotency_keystringOptional UUID (accepted but ignored)

Response

Response Schema

PropertyTypeDescription
reservation_idrequiredstringReservation UUID
expires_atrequiredstringHold expiry (ISO 8601)
segment_countrequirednumberNumber of segment holds created

Example

Requestjson
{
  "type": "tool",
  "name": "create_availability_hold",
  "params": {
    "session_id": "session-123",
    "start_time": "2026-01-15T18:00:00Z",
    "end_time": "2026-01-15T19:00:00Z",
    "segments": [
      {
        "team_member_id": "team-uuid",
        "start_time": "2026-01-15T18:00:00Z",
        "end_time": "2026-01-15T18:30:00Z",
        "service_id": "service-uuid",
        "service_name": "Haircut"
      }
    ]
  }
}
Responsejson
{
  "success": true,
  "data": {
    "reservation_id": "reservation-uuid",
    "expires_at": "2026-01-15T18:15:00Z",
    "segment_count": 1
  }
}

cURL Example

curl -X POST https://app.bizily.io/api/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{\n  "type": "tool",\n  "name": "create_availability_hold",\n  "params": {\n    "session_id": "session-123",\n    "start_time": "2026-01-15T18:00:00Z",\n    "end_time": "2026-01-15T19:00:00Z",\n    "segments": [\n      {\n        "team_member_id": "team-uuid",\n        "start_time": "2026-01-15T18:00:00Z",\n        "end_time": "2026-01-15T18:30:00Z",\n        "service_id": "service-uuid",\n        "service_name": "Haircut"\n      }\n    ]\n  }\n}'

Required scope: This tool requires the write:bookings scope. Make sure your API key has this permission enabled in Settings → Developer.