Practitioners

Override the rota for a single date

Sets the working schedule for a single date for the given practitioner via custom availability rules. The endpoint is idempotent for the requested date: existing custom rules covering the date are cleared (or trimmed if they extend beyond the date) before the new rules are applied.

Submitting an empty availability_rules array — or omitting the key — blocks the practitioner for the entire day. Submitting rules that match the regular rota leaves the rota in charge with no custom rules created.

Returns the same shape as the GET endpoint so callers can re-render without a follow-up fetch.

Requires the ROTAS_MANAGE permission on the practitioner's first site.

post/shop/practitioners/{practitionerId}/rota-for-date

Request body

datestring date required

The ISO 8601 date (YYYY-MM-DD) to override, interpreted in the practitioner's timezone.

Example request

{
  "date": "2026-06-01",
  "availability_rules": [
    {
      "time_from": "09:00",
      "time_to": "17:00",
      "offerings": [
        {
          "offering_name": "Twilight massage",
          "offering_type": "appointment"
        }
      ]
    }
  ]
}

Response

The schedule was updated. The response is the same shape as GET /shop/practitioners/{practitionerId}/rota-for-date.

Example response

{
  "data": {
    "scheduling_week_interval": 2,
    "availability_rules": [
      {
        "week_num": 1,
        "weekday": "monday",
        "time_from": "09:00",
        "time_to": "17:00",
        "offerings": [
          {
            "offering_name": "Twilight massage",
            "offering_type": "appointment"
          }
        ]
      }
    ]
  },
  "for_date": {
    "date": "2026-06-01",
    "week_number": 1,
    "rota_availability_rules": [
      {
        "time_from": "09:00",
        "time_to": "17:00"
      }
    ],
    "custom_rules": [
      {
        "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

No recorded changes to this endpoint across all 1 revision of this API.