{"openapi":"3.1.0","info":{"title":"Zimun Public API","description":"Customer-facing API for booking and management under /api/v1.","version":"1.0.0"},"paths":{"/api/v1/manage/appointments":{"get":{"tags":["Manage Appointments"],"summary":"List Manage Appointments","operationId":"list_manage_appointments__api_v1_manage_appointments_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}},{"name":"team_member_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Id"}},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"start_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start From"}},{"name":"start_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:appointments:read"]}]}},"/api/v1/manage/appointments/{appointment_id}":{"get":{"tags":["Manage Appointments"],"summary":"Get Manage Appointment","operationId":"get_manage_appointment__api_v1_manage_appointments_appointment_id_GET","parameters":[{"name":"appointment_id","in":"path","required":true,"schema":{"type":"string","title":"Appointment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__AppointmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:appointments:read"]}]}},"/api/v1/manage/appointments/{appointment_id}/cancel":{"post":{"tags":["Manage Appointments"],"summary":"Post Manage Cancel Appointment","operationId":"post_manage_cancel_appointment__api_v1_manage_appointments_appointment_id_cancel_POST","parameters":[{"name":"appointment_id","in":"path","required":true,"schema":{"type":"string","title":"Appointment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__AppointmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:appointments:read"]}]}},"/api/v1/manage/appointments/{appointment_id}/reschedule":{"post":{"tags":["Manage Appointments"],"summary":"Post Manage Reschedule Appointment","operationId":"post_manage_reschedule_appointment__api_v1_manage_appointments_appointment_id_reschedule_POST","parameters":[{"name":"appointment_id","in":"path","required":true,"schema":{"type":"string","title":"Appointment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__AppointmentRescheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__AppointmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:appointments:read"]}]}},"/api/v1/manage/appointments/{appointment_id}/attendance":{"post":{"tags":["Manage Appointments"],"summary":"Post Manage Appointment Attendance","operationId":"post_manage_appointment_attendance__api_v1_manage_appointments_appointment_id_attendance_POST","parameters":[{"name":"appointment_id","in":"path","required":true,"schema":{"type":"string","title":"Appointment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentAttendanceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__AppointmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:appointments:read"]}]}},"/api/v1/manage/organization":{"get":{"tags":["Manage Organization"],"summary":"Get Manage Organization","operationId":"get_manage_organization__api_v1_manage_organization_GET","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageErrorResponse"}}}}},"security":[{"oauth_client_credentials":["manage:organization:read"]}]},"patch":{"tags":["Manage Organization"],"summary":"Patch Manage Organization","operationId":"patch_manage_organization__api_v1_manage_organization_PATCH","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationPatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:organization:read"]}]}},"/api/v1/manage/team-members":{"get":{"tags":["Manage Team"],"summary":"List Manage Team Members","operationId":"list_manage_team_members__api_v1_manage_team-members_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMembersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:team:read"]}]},"post":{"tags":["Manage Team"],"summary":"Post Manage Team Member","operationId":"post_manage_team_member__api_v1_manage_team-members_POST","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:team:read"]}]}},"/api/v1/manage/team-members/{member_id}":{"get":{"tags":["Manage Team"],"summary":"Get Manage Team Member","operationId":"get_manage_team_member__api_v1_manage_team-members_member_id_GET","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:team:read"]}]},"patch":{"tags":["Manage Team"],"summary":"Patch Manage Team Member","operationId":"patch_manage_team_member__api_v1_manage_team-members_member_id_PATCH","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberPatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:team:read"]}]},"delete":{"tags":["Manage Team"],"summary":"Delete Manage Team Member","operationId":"delete_manage_team_member__api_v1_manage_team-members_member_id_DELETE","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:team:read"]}]}},"/api/v1/manage/services":{"get":{"tags":["Manage Services"],"summary":"List Manage Services","operationId":"list_manage_services__api_v1_manage_services_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:services:read"]}]},"post":{"tags":["Manage Services"],"summary":"Post Manage Service","operationId":"post_manage_service__api_v1_manage_services_POST","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__ServiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:services:read"]}]}},"/api/v1/manage/services/{service_id}":{"get":{"tags":["Manage Services"],"summary":"Get Manage Service","operationId":"get_manage_service__api_v1_manage_services_service_id_GET","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__ServiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:services:read"]}]},"patch":{"tags":["Manage Services"],"summary":"Patch Manage Service","operationId":"patch_manage_service__api_v1_manage_services_service_id_PATCH","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__ServiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:services:read"]}]},"delete":{"tags":["Manage Services"],"summary":"Delete Manage Service","operationId":"delete_manage_service__api_v1_manage_services_service_id_DELETE","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","title":"Service Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:services:read"]}]}},"/api/v1/manage/resources":{"get":{"tags":["Manage Resources"],"summary":"List Manage Resources","operationId":"list_manage_resources__api_v1_manage_resources_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:resources:read"]}]},"post":{"tags":["Manage Resources"],"summary":"Post Manage Resource","operationId":"post_manage_resource__api_v1_manage_resources_POST","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__ResourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:resources:read"]}]}},"/api/v1/manage/resources/{resource_id}":{"get":{"tags":["Manage Resources"],"summary":"Get Manage Resource","operationId":"get_manage_resource__api_v1_manage_resources_resource_id_GET","parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__ResourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:resources:read"]}]},"patch":{"tags":["Manage Resources"],"summary":"Patch Manage Resource","operationId":"patch_manage_resource__api_v1_manage_resources_resource_id_PATCH","parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcePatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_manage_support__ResourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:resources:read"]}]},"delete":{"tags":["Manage Resources"],"summary":"Delete Manage Resource","operationId":"delete_manage_resource__api_v1_manage_resources_resource_id_DELETE","parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:resources:read"]}]}},"/api/v1/manage/resources/{resource_id}/utilization":{"get":{"tags":["Manage Resources"],"summary":"Get Manage Resource Utilization","description":"Return oversubscription windows for a pool resource\n(docs/plans/resource-pools.md phase 4 + F2). Response shape:\n\n    {\n      \"resource_id\": \"...\",\n      \"capacity\": int,\n      \"oversubscribed_windows\": [\n        {\"start_at\": iso, \"end_at\": iso, \"peak_count\": int, \"capacity\": int},\n        ...\n      ]\n    }\n\nEmpty `oversubscribed_windows` means the pool is within capacity\nacross every upcoming window. Named resources (quantity=1) always\nreturn an empty list because oversubscription can't happen with\nthe existing conflict check.","operationId":"get_manage_resource_utilization__api_v1_manage_resources_resource_id_utilization_GET","parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:resources:read"]}]}},"/api/v1/manage/settings":{"get":{"tags":["Manage Settings"],"summary":"Get Manage Settings","operationId":"get_manage_settings__api_v1_manage_settings_GET","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}}},"security":[{"oauth_client_credentials":["manage:settings:read"]}]}},"/api/v1/manage/settings/mcp":{"get":{"tags":["Manage Settings"],"summary":"Get Manage Settings Mcp","operationId":"get_manage_settings_mcp__api_v1_manage_settings_mcp_GET","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPSettingsResponse"}}}}},"security":[{"oauth_client_credentials":["manage:settings:read"]}]},"patch":{"tags":["Manage Settings"],"summary":"Patch Manage Settings Mcp","operationId":"patch_manage_settings_mcp__api_v1_manage_settings_mcp_PATCH","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPSettingsPatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:settings:read"]}]}},"/api/v1/manage/api-clients":{"get":{"tags":["Manage API Clients"],"summary":"List Manage Api Clients","operationId":"list_manage_api_clients__api_v1_manage_api-clients_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIClientsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:api_clients:read"]}]},"post":{"tags":["Manage API Clients"],"summary":"Post Manage Api Client","operationId":"post_manage_api_client__api_v1_manage_api-clients_POST","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIClientCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIClientResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:api_clients:read"]}]}},"/api/v1/manage/api-clients/{client_id}":{"patch":{"tags":["Manage API Clients"],"summary":"Patch Manage Api Client","operationId":"patch_manage_api_client__api_v1_manage_api-clients_client_id_PATCH","parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIClientPatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIClientResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:api_clients:read"]}]},"delete":{"tags":["Manage API Clients"],"summary":"Delete Manage Api Client","operationId":"delete_manage_api_client__api_v1_manage_api-clients_client_id_DELETE","parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:api_clients:read"]}]}},"/api/v1/manage/api-clients/{client_id}/rotate-secret":{"post":{"tags":["Manage API Clients"],"summary":"Post Manage Api Client Rotate Secret","operationId":"post_manage_api_client_rotate_secret__api_v1_manage_api-clients_client_id_rotate-secret_POST","parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIClientResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["manage:api_clients:read"]}]}},"/api/v1/organizations/me":{"get":{"tags":["Organization"],"summary":"Api Get Org","operationId":"api_get_org__api_v1_organizations_me_GET","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponse"}}}}},"security":[{"oauth_client_credentials":["org:read"]}]}},"/api/v1/services":{"get":{"tags":["Services"],"summary":"Api List Services","operationId":"api_list_services__api_v1_services_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicesListResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["org:read"]}]}},"/api/v1/locations":{"get":{"tags":["Booking"],"summary":"Api List Locations","operationId":"api_list_locations__api_v1_locations_GET","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationsListResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["appointments:write"]}]}},"/api/v1/availability":{"get":{"tags":["Availability"],"summary":"Api Availability","operationId":"api_availability__api_v1_availability_GET","parameters":[{"name":"service_id","in":"query","required":true,"schema":{"type":"string","title":"Service Id"}},{"name":"date","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM-DD","title":"Date"},"description":"YYYY-MM-DD"},{"name":"max_slots","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":60,"title":"Max Slots"}},{"name":"location_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["availability:read"]}]}},"/api/v1/appointments/hold":{"post":{"tags":["Booking"],"summary":"Api Create Hold","operationId":"api_create_hold__api_v1_appointments_hold_POST","parameters":[{"name":"Idempotency-Key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIHoldRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoldResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["appointments:write"]}]}},"/api/v1/appointments/confirm":{"post":{"tags":["Booking"],"summary":"Api Confirm Hold","operationId":"api_confirm_hold__api_v1_appointments_confirm_POST","parameters":[{"name":"Idempotency-Key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoldConfirmRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIHoldConfirmResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["appointments:write"]}]}},"/api/v1/holds/{hold_id}":{"delete":{"tags":["Booking"],"summary":"Api Release Hold","operationId":"api_release_hold__api_v1_holds_hold_id_DELETE","parameters":[{"name":"hold_id","in":"path","required":true,"schema":{"type":"string","title":"Hold Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["appointments:write"]}]}},"/api/v1/appointments/reschedule":{"post":{"tags":["Booking"],"summary":"Api Reschedule Appointment","operationId":"api_reschedule_appointment__api_v1_appointments_reschedule_POST","parameters":[{"name":"Idempotency-Key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_support__AppointmentRescheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_support__AppointmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["appointments:write"]}]}},"/api/v1/appointments/cancel":{"post":{"tags":["Booking"],"summary":"Api Cancel Appointment","operationId":"api_cancel_appointment__api_v1_appointments_cancel_POST","parameters":[{"name":"Idempotency-Key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentCancelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api_v1_support__AppointmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"oauth_client_credentials":["appointments:write"]}]}}},"components":{"schemas":{"APIClientCreateRequest":{"properties":{"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"client_type":{"type":"string","title":"Client Type","default":"booking"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","default":[]},"active":{"type":"boolean","title":"Active","default":true}},"additionalProperties":false,"type":"object","title":"APIClientCreateRequest"},"APIClientPatchRequest":{"properties":{"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"client_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Type"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"additionalProperties":false,"type":"object","title":"APIClientPatchRequest"},"APIClientResponse":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"client_type":{"type":"string","title":"Client Type","default":"booking"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","default":[]},"active":{"type":"boolean","title":"Active"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["id","label","active"],"title":"APIClientResponse"},"APIClientsListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/APIClientResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"APIClientsListResponse"},"APIHoldConfirmResponse":{"properties":{"status":{"type":"string","title":"Status"},"appointment_id":{"type":"string","title":"Appointment Id"},"booking_id":{"type":"string","title":"Booking Id"},"appointment_manage_token":{"type":"string","title":"Appointment Manage Token"}},"type":"object","required":["status","appointment_id","booking_id","appointment_manage_token"],"title":"APIHoldConfirmResponse"},"APIHoldRequest":{"properties":{"service_id":{"type":"string","title":"Service Id"},"appointment_time":{"type":"string","format":"date-time","title":"Appointment Time"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"}},"type":"object","required":["service_id","appointment_time"],"title":"APIHoldRequest"},"AppointmentAttendanceRequest":{"properties":{"attendance_status":{"type":"string","title":"Attendance Status"}},"additionalProperties":false,"type":"object","required":["attendance_status"],"title":"AppointmentAttendanceRequest"},"AppointmentCancelRequest":{"properties":{"booking_id":{"type":"string","title":"Booking Id"}},"type":"object","required":["booking_id"],"title":"AppointmentCancelRequest"},"AppointmentsListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/app__api_v1_manage_support__AppointmentResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"AppointmentsListResponse"},"AvailabilityResponse":{"properties":{"service_id":{"type":"string","title":"Service Id"},"date":{"type":"string","title":"Date"},"slots":{"items":{"$ref":"#/components/schemas/AvailabilitySlot"},"type":"array","title":"Slots"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"}},"type":"object","required":["service_id","date","slots"],"title":"AvailabilityResponse","example":{"date":"2025-12-01","service_id":"s1","slots":[{"end_time":"2025-12-01T10:30:00Z","start_time":"2025-12-01T10:00:00Z"}]}},"AvailabilitySlot":{"properties":{"start_time":{"type":"string","title":"Start Time"},"end_time":{"type":"string","title":"End Time"}},"type":"object","required":["start_time","end_time"],"title":"AvailabilitySlot","example":{"end_time":"2025-12-01T10:30:00Z","start_time":"2025-12-01T10:00:00Z"}},"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"ErrorResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HoldConfirmRequest":{"properties":{"hold_id":{"type":"string","title":"Hold Id"},"contact_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Name"},"contact_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Contact Email"},"contact_phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Phone Number"},"sms_reminder_consent":{"type":"boolean","title":"Sms Reminder Consent","default":false},"sms_reminder_consent_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sms Reminder Consent At"},"recurring_requested":{"type":"boolean","title":"Recurring Requested","default":false},"recurring_rule_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurring Rule Type"},"recurring_interval":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recurring Interval"},"recurring_weekday":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recurring Weekday"},"recurring_month_ordinal":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recurring Month Ordinal"},"terms_and_conditions_accepted":{"type":"boolean","title":"Terms And Conditions Accepted","default":false},"terms_and_conditions_accepted_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms And Conditions Accepted At"},"early_performance_consent":{"type":"boolean","title":"Early Performance Consent","default":false}},"type":"object","required":["hold_id"],"title":"HoldConfirmRequest"},"HoldResponse":{"properties":{"hold_id":{"type":"string","title":"Hold Id"},"expires_at":{"type":"string","title":"Expires At"},"appointment_id":{"type":"string","title":"Appointment Id"}},"type":"object","required":["hold_id","expires_at","appointment_id"],"title":"HoldResponse"},"LocationResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"address":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Address"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","required":["id"],"title":"LocationResponse"},"LocationsListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/LocationResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"LocationsListResponse"},"MCPSettingsPatchRequest":{"properties":{"mcp_enabled":{"type":"boolean","title":"Mcp Enabled"},"mcp_read_only":{"type":"boolean","title":"Mcp Read Only"}},"additionalProperties":false,"type":"object","required":["mcp_enabled","mcp_read_only"],"title":"MCPSettingsPatchRequest"},"MCPSettingsResponse":{"properties":{"mcp_enabled":{"type":"boolean","title":"Mcp Enabled"},"mcp_read_only":{"type":"boolean","title":"Mcp Read Only"}},"type":"object","required":["mcp_enabled","mcp_read_only"],"title":"MCPSettingsResponse"},"ManageErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"ManageErrorResponse"},"OrganizationPatchRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"address":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Address"}},"additionalProperties":false,"type":"object","title":"OrganizationPatchRequest"},"OrganizationResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"address":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Address"}},"type":"object","required":["id"],"title":"OrganizationResponse"},"ResourceCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"used_in_services":{"items":{"type":"string"},"type":"array","title":"Used In Services","default":[]},"quantity":{"type":"integer","title":"Quantity","default":1},"price_per_hour_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Price Per Hour Cents"},"price_is_exact":{"type":"boolean","title":"Price Is Exact","default":false},"billable_online":{"type":"boolean","title":"Billable Online","default":false},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"},"immobilieneinheit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Immobilieneinheit Id"}},"additionalProperties":false,"type":"object","required":["name"],"title":"ResourceCreateRequest"},"ResourcePatchRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"used_in_services":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Used In Services"},"quantity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quantity"},"price_per_hour_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Price Per Hour Cents"},"price_is_exact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Price Is Exact"},"billable_online":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Billable Online"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"},"immobilieneinheit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Immobilieneinheit Id"}},"additionalProperties":false,"type":"object","title":"ResourcePatchRequest"},"ResourcesListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/app__api_v1_shared_models__ResourceResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"ResourcesListResponse","example":{"items":[{"id":"r1","name":"Room A"}]}},"ServiceCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"duration":{"type":"integer","maximum":480.0,"minimum":15.0,"title":"Duration","default":60},"delivery_mode":{"type":"string","title":"Delivery Mode","default":"in_person"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"resource_ids":{"items":{"type":"string"},"type":"array","title":"Resource Ids","default":[]},"price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Price Cents"},"price_is_exact":{"type":"boolean","title":"Price Is Exact","default":false},"billable_online":{"type":"boolean","title":"Billable Online","default":false}},"additionalProperties":false,"type":"object","required":["name"],"title":"ServiceCreateRequest"},"ServicePatchRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"duration":{"anyOf":[{"type":"integer","maximum":480.0,"minimum":15.0},{"type":"null"}],"title":"Duration"},"delivery_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Mode"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"resource_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Resource Ids"},"price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Price Cents"},"price_is_exact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Price Is Exact"},"billable_online":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Billable Online"}},"additionalProperties":false,"type":"object","title":"ServicePatchRequest"},"ServicesListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/app__api_v1_shared_models__ServiceResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"ServicesListResponse","example":{"items":[{"description":"Relax","id":"s1","name":"Massage"}]}},"SettingsResponse":{"properties":{"appointment_defaults":{"type":"object","title":"Appointment Defaults","default":{}},"notifications":{"type":"object","title":"Notifications","default":{}},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"business_hours":{"type":"object","title":"Business Hours","default":{}},"branding":{"type":"object","title":"Branding","default":{}},"mcp_enabled":{"type":"boolean","title":"Mcp Enabled","default":false},"mcp_read_only":{"type":"boolean","title":"Mcp Read Only","default":false}},"type":"object","title":"SettingsResponse"},"StaffListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/StaffResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"StaffListResponse","example":{"items":[{"email":"a@example.com","id":"m1","name":"Alice"}],"next_page_token":"m2"}},"StaffResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"assigned_service":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Assigned Service"},"working_days":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Working Days"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"}},"type":"object","required":["id"],"title":"StaffResponse"},"TeamMemberCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"assigned_service":{"items":{"type":"string"},"type":"array","title":"Assigned Service","default":[]},"working_days":{"items":{"type":"object"},"type":"array","title":"Working Days","default":[]},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"active":{"type":"boolean","title":"Active","default":true}},"additionalProperties":false,"type":"object","required":["name"],"title":"TeamMemberCreateRequest"},"TeamMemberPatchRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"assigned_service":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Assigned Service"},"working_days":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Working Days"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"additionalProperties":false,"type":"object","title":"TeamMemberPatchRequest"},"TeamMemberResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"assigned_service":{"items":{"type":"string"},"type":"array","title":"Assigned Service","default":[]},"working_days":{"items":{"type":"object"},"type":"array","title":"Working Days","default":[]},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"active":{"type":"boolean","title":"Active","default":true}},"type":"object","required":["id"],"title":"TeamMemberResponse"},"TeamMembersListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TeamMemberResponse"},"type":"array","title":"Items"},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page Token"}},"type":"object","required":["items"],"title":"TeamMembersListResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookCreateRequest":{"properties":{"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"}},"type":"object","required":["url","events"],"title":"WebhookCreateRequest"},"WebhookResponse":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","title":"Created At"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"}},"type":"object","required":["id","url","events","active","created_at"],"title":"WebhookResponse"},"app__api_v1_manage_support__AppointmentRescheduleRequest":{"properties":{"start_time":{"type":"string","title":"Start Time"}},"additionalProperties":false,"type":"object","required":["start_time"],"title":"AppointmentRescheduleRequest"},"app__api_v1_manage_support__AppointmentResponse":{"properties":{"id":{"type":"string","title":"Id"},"service_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Id"},"team_member_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"start_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Time"},"contact_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Name"},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email"},"contact_phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Phone Number"},"attendance_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attendance Status"},"attendance_marked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attendance Marked At"},"attendance_marked_by_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attendance Marked By User Id"}},"type":"object","required":["id"],"title":"AppointmentResponse"},"app__api_v1_manage_support__ResourceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"used_in_services":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Used In Services"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"},"quantity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quantity"},"price_per_hour_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Per Hour Cents"},"price_is_exact":{"type":"boolean","title":"Price Is Exact","default":false},"billable_online":{"type":"boolean","title":"Billable Online","default":false},"price_state":{"type":"string","enum":["none","indicative","exact"],"title":"Price State","default":"none"},"kind":{"anyOf":[{"type":"string","enum":["room","equipment","vehicle"]},{"type":"null"}],"title":"Kind"},"immobilieneinheit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Immobilieneinheit Id"}},"type":"object","required":["id"],"title":"ResourceResponse","description":"Manage-API resource response — the shared one plus the price-state model\n(spec §2.4) and the PStTG classification (§4.6.3), on the same\nscoped-to-manage terms as ServiceResponse above."},"app__api_v1_manage_support__ServiceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"pause_duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pause Duration"},"blocking_duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Blocking Duration"},"resource_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Resource Ids"},"location_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Location Ids"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"delivery_mode":{"anyOf":[{"type":"string","enum":["in_person","video"]},{"type":"null"}],"title":"Delivery Mode","default":"in_person"},"price_is_exact":{"type":"boolean","title":"Price Is Exact","default":false},"billable_online":{"type":"boolean","title":"Billable Online","default":false},"price_state":{"type":"string","enum":["none","indicative","exact"],"title":"Price State","default":"none"}},"type":"object","required":["id"],"title":"ServiceResponse","description":"Manage-API service response.\n\nExtends the shared ServiceResponse with the video-appointments\ndelivery_mode field (docs/plans/video-appointments-architecture.md §3.1)\nand the price-state model (spec §2.4) so a service's mode and its price\nstate round-trip through the manage API. Defined here (rather than editing\nthe shared model) to keep the change scoped to the manage surface; the\nmanage routes import ServiceResponse from this module."},"app__api_v1_shared_models__ResourceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"used_in_services":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Used In Services"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"},"quantity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quantity"},"price_per_hour_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Per Hour Cents"}},"type":"object","required":["id"],"title":"ResourceResponse"},"app__api_v1_shared_models__ServiceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"pause_duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pause Duration"},"blocking_duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Blocking Duration"},"resource_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Resource Ids"},"location_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Location Ids"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"}},"type":"object","required":["id"],"title":"ServiceResponse"},"app__api_v1_support__AppointmentRescheduleRequest":{"properties":{"booking_id":{"type":"string","title":"Booking Id"},"start_time":{"type":"string","title":"Start Time"}},"additionalProperties":false,"type":"object","required":["booking_id","start_time"],"title":"AppointmentRescheduleRequest"},"app__api_v1_support__AppointmentResponse":{"properties":{"id":{"type":"string","title":"Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"start_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Time"},"service_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Id"},"team_member_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Id"},"appointment_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appointment Time"},"appointment_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appointment Duration"},"pause_duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pause Duration"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"booking_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booking Id"},"resource_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Resource Ids"},"hold_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hold Id"},"hold_expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hold Expires At"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"},"time_zone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Zone"},"contact_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Name"},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email"},"contact_phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Phone Number"}},"type":"object","required":["id"],"title":"AppointmentResponse"}},"securitySchemes":{"oauth_client_credentials":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"availability:read":"Read availability","appointments:read":"Read appointments","appointments:write":"Create/update appointments","org:read":"Read organization metadata","services:read":"Read service metadata","manage:organization:read":"Read organization settings","manage:organization:write":"Update organization settings","manage:team:read":"Read team members","manage:team:write":"Manage team members","manage:services:read":"Read services","manage:services:write":"Manage services","manage:resources:read":"Read resources","manage:resources:write":"Manage resources","manage:appointments:read":"Read appointments","manage:appointments:write":"Manage appointments","manage:settings:read":"Read settings","manage:settings:write":"Manage settings","manage:api_clients:read":"Read API clients","manage:api_clients:write":"Manage API clients"}}}}}},"tags":[{"name":"Organization"},{"name":"Services"},{"name":"Availability"},{"name":"Booking"},{"name":"Manage Organization"},{"name":"Manage Team"},{"name":"Manage Services"},{"name":"Manage Resources"},{"name":"Manage Appointments"},{"name":"Manage Settings"},{"name":"Manage API Clients"}],"security":[{"oauth_client_credentials":[]}],"servers":[{"url":"https://api.zimun.online"}]}