generated: '2026-07-31' method: derived source: https://docs.booksy.com/v01.html derivation: >- Derived from the published Booksy Public API object reference and its documented HTTP request lines (96 unique method + path pairs across 21 documented resources). docs.booksy.com is HTTP Basic gated; the identical rendering was read from https://web.archive.org/web/20220706184310/https://alpha.docs.booksy.net/. Booksy publishes no OpenAPI, so schemas here are the field/relationship shapes named in the reference, not a transcribed spec. base_url_pattern: https://.booksy.com/public-api// id_style: integer surrogate ids, with a partner-supplied import_uid on imported objects and dedicated "mapping" endpoints to resolve partner identifiers root_entity: business entities: - name: business description: A Booksy business (salon, barbershop, spa, studio) and the root of almost every path in the API. endpoints: - GET /business/ - GET /business// - POST /business/ - POST /business/mapping/ - PUT|PATCH /business// - PATCH /business//activate/ - PATCH /business//deactivate/ enums: status: - S Setup - T Trial - P Paid - O Overdue payment - L Blocked after overdue payment - H Suspended - R Churned - B Blocked booking_mode: - A Automatic - M Manual - S Semi-automatic sms_notification_status: - D Disabled - P Pending - E Enabled sms_notification_preference: - O Only push - P Prefer push - S Only SMS - name: business_category description: Booksy-wide category taxonomy and the categories assigned to a business, including one primary category. endpoints: - GET /business_category/ - GET /business//category/ - PUT /business//category// - DELETE /business//category// - GET /business//primary_category/ - PUT /business//primary_category// enums: type: - C Category - T Treatment - name: business_amenity description: Amenity flags advertised on a business profile. endpoints: - GET /business//amenities/ - POST /business//amenities/ - PUT /business//amenities/ - DELETE /business//amenities/ enums: key: - parking - credit_cards - wheelchair_access - kids - animals - wifi - loyalty - name: business_schedule description: Default weekly opening hours plus per-date custom schedules. endpoints: - GET /business//schedule/default/ - PUT /business//schedule/default/ - GET /business//schedule/custom/ - GET /business//schedule/custom// - PUT /business//schedule/custom// - name: traveling_to_customer description: Mobile-service settings — whether and how far a business travels to the customer, and the fee policy. endpoints: - GET /business//traveling_to_customer/ - PUT|PATCH /business//traveling_to_customer/ - DELETE /business//traveling_to_customer/ - name: region description: Geographic region resolved from coordinates. endpoints: - GET /region_reverse_geocoding/ enums: type: - country - state - region - voivodeship - metropolis - county - community - city - borough - neighborhood - village - zip - name: user description: A Booksy account attached to a business as owner or staffer. endpoints: - POST /business//user/owner/ - POST /business//user/staffer/ - name: resource description: A bookable resource — either a staff member or an appliance such as a room or chair. endpoints: - GET /business//resource/ - GET /business//resource// - POST /business//resource/ - POST /business//staff_email/ - POST /business//resource/staff_email/ - PUT|PATCH /business//resource// - DELETE /business//resource// enums: type: - S Staff - R Appliance - name: resource_photo endpoints: - GET /business//resource//photo/ - PUT /business//resource//photo/ - DELETE /business//resource//photo/ - name: resource_schedule endpoints: - GET /business//schedule/resource//default/ - PUT /business//schedule/resource//default/ - GET /business//schedule/resource//custom/ - GET /business//schedule/resource//custom// - PUT /business//schedule/resource//custom// - name: resource_time_off description: Absence blocks for staff and appliances. endpoints: - GET /business//schedule/resource//time_off/ - GET /business//schedule/resource//time_off// - POST /business//schedule/resource//time_off/ - PUT|PATCH /business//schedule/resource//time_off// - DELETE /business//schedule/resource//time_off// enums: staffer_reason: - personal_day - sick_day - vacation - training - no_show - late - early - other appliance_reason: - day_off - holiday - maintenance - break - other - name: service description: A bookable service offered by a business. endpoints: - GET /business//service/ - GET /business//service// - POST /business//service/ - POST /business//service/mapping/ - POST /business//service//duplicate/ - PUT|PATCH /business//service// - DELETE /business//service// enums: price_type: - X Fixed price - V Varies - D Don't show - F Free - S Price starts at - C Combo price padding_time_type: - A After - B Before - C Both before and after - name: service_variant description: A priced, timed variant of a service. endpoints: - GET /business//service//variant/ - GET /business//service//variant// - POST /business//service//variant/ - PUT|PATCH /business//service//variant// - DELETE /business//service//variant// enums: type: - X Fixed price - F Free price - D Don't show price - V Varies price - S Price starts at - name: service_photo endpoints: - GET /business//service//photo/ - GET /business//service//photo// - POST /business//service//photo/ - PUT|PATCH /business//service//photo// - DELETE /business//service//photo// - name: service_category endpoints: - GET /business//service_category/ - GET /business//service_category// - POST /business//service_category/ - POST /business//service_category/mapping/ - PUT|PATCH /business//service_category// - DELETE /business//service_category// enums: visibility: - 0 Hide all services - 5 Show first 5 services - -1 Show all services - name: consent_form description: Consent forms a business attaches to bookings. endpoints: - GET /business//consent_form/ - GET /business//consent_form// - POST /business//consent_form/ - PUT|PATCH /business//consent_form// - DELETE /business//consent_form// enums: field_type: - text - checkbox - input - name: customer description: A client record held by a business. endpoints: - GET /business//customer/ - GET /business//customer// - POST /business//customer/ - PUT|PATCH /business//customer// - DELETE /business//customer// - name: appointment description: A booking, composed of one or more subbookings, each bound to a staffer, an optional appliance and a service variant. endpoints: - GET /business//appointment/ - GET /business//appointment// - POST /business//appointment/ - POST /business//appointment/mapping/ - PUT /business//appointment// - PATCH /business//appointment//status/confirm/ - PATCH /business//appointment//status/decline/ - PATCH /business//appointment//status/cancel/ - PATCH /business//appointment//status/finish/ - PATCH /business//appointment//status/no_show/ enums: status: - A Accepted by business - C Cancelled - D Declined - F Finished - M Modified by customer - N No-show - P Proposed by staff - W Waiting for confirmation by business type: - B Created by business - C Created by customer - R Resource time reservation - name: subbooking description: A line on an appointment binding one service variant to a staffer, an optional appliance and a time window. Not independently addressable. endpoints: [] - name: appointment_consent endpoints: - GET /business//appointment//consent/ - name: appointment_review endpoints: - GET /business//appointment//review/ - PUT|PATCH /business//appointment//review/ - DELETE /business//appointment//review/ - name: review description: Review list plus aggregate statistics for a business. endpoints: - GET /business//review_statistics/ fields: - average_rank - total - total_positive - total_neutral - total_negative - reviews relationships: - from: business to: business_category kind: has_many via: category - from: business to: business_category kind: has_one via: primary_category - from: business to: business_amenity kind: has_many via: amenities - from: business to: business_schedule kind: has_many via: schedule - from: business to: traveling_to_customer kind: has_one via: traveling_to_customer - from: business to: resource kind: has_many via: resource - from: business to: service kind: has_many via: service - from: business to: service_category kind: has_many via: service_category - from: business to: consent_form kind: has_many via: consent_form - from: business to: customer kind: has_many via: customer - from: business to: appointment kind: has_many via: appointment - from: business to: user kind: has_many via: user - from: resource to: resource_photo kind: has_one via: photo - from: resource to: resource_schedule kind: has_many via: schedule - from: resource to: resource_time_off kind: has_many via: time_off - from: service to: service_variant kind: has_many via: variant - from: service to: service_photo kind: has_many via: photo - from: service to: service_category kind: belongs_to via: service_category_id - from: appointment to: subbooking kind: has_many via: subbookings - from: appointment to: customer kind: belongs_to via: booked_for_id - from: appointment to: appointment_consent kind: has_many via: consent - from: appointment to: appointment_review kind: has_one via: review - from: appointment to: traveling_to_customer kind: has_one via: traveling - from: subbooking to: resource kind: belongs_to via: staffer_id - from: subbooking to: resource kind: belongs_to via: appliance_id - from: subbooking to: service_variant kind: belongs_to via: service_variant_id - from: review to: appointment kind: belongs_to via: appointment counts: entities: 22 documented_endpoints: 96