Practitioners

Create a custom availability rule for a practitioner

Creates a new PractitionerCustomAvailability rule. Use this to open an extra working window (is_available: true) or to block one off (is_available: false, e.g. leave or sickness).

The server validates that no confirmed appointments or sessions fall inside is_available: false windows, and automatically merges adjacent or overlapping rules with the same is_available value. The response is the resulting rule, which may have been merged with neighbours.

post/shop/practitioners/{practitionerId}/custom-availability

Request body

date_time_fromstring date-time required

Start of the window, as an ISO 8601 date-time. Times without an explicit offset are interpreted in the practitioner's timezone.

date_time_tostring date-time required

End of the window, as an ISO 8601 date-time. Must be after date_time_from.

is_availableboolean required

true opens an extra working window; false blocks bookings (e.g. leave). false rules will fail validation if existing confirmed appointments or sessions overlap the window.

Example request

{
  "date_time_from": "2026-06-01T09:00:00+01:00",
  "date_time_to": "2026-06-01T17:00:00+01:00",
  "offerings": [
    {
      "offering_name": "Twilight massage",
      "offering_type": "appointment"
    }
  ]
}

Response

A single PractitionerCustomAvailability rule.

Example response

{
  "data": {
    "date_time_from": "2026-06-01T09:00:00+01:00",
    "date_time_to": "2026-06-01T17:00:00+01:00",
    "offerings": [
      {
        "offering_name": "Twilight massage",
        "offering_type": "appointment"
      }
    ]
  }
}

Changes