BlockedTimes

Update a blocked time

Updates an existing BlockedTime. Fields are individually optional. Use the old_* / new_* pairs to swap a single resource (practitioner, room, or area) without resubmitting the full ID list.

The response is 201 Created when the update split a recurring blocked time into a new instance (so a new ID is returned) and 200 OK otherwise.

Requires the RESERVATIONS_MANAGE permission on the blocked time's site.

put/shop/blocked-times/{blockedTimeId}

Request body

start_timestring date-time

New start of the blocked window. ISO-8601, in the site's timezone.

end_timestring date-time

New end time. Must be strictly after start_time.

type'cleaning' | 'break' | 'meeting' | 'other'

New block type. Drives the calendar icon and the reporting category.

labelstring nullable

Replacement short label shown on the calendar tile. Pass null to clear.

notesstring nullable

Replacement free-form note (plain text). Pass null to clear.

colorstring nullable

Updated hex colour (#rrggbb).

practitioner_idsstring[]

Replace the practitioner targets.

old_practitioner_idstring object-id

Existing practitioner ID to swap. Used with new_practitioner_id to update a single calendar without rebuilding the list.

new_practitioner_idstring object-id

Replacement practitioner ID for the swap.

old_room_idstring object-id

Existing room ID to swap.

new_room_idstring object-id

Replacement room ID for the swap.

old_area_idstring object-id

Existing bookable-area ID to swap.

new_area_idstring object-id

Replacement bookable-area ID for the swap.

Example request

{
  "label": "Lunch",
  "notes": "Cover the front desk with reception.",
  "color": "#ff8800"
}

Response

A single BlockedTime.

Example response

{
  "data": {
    "id": "65f1234567890abcdef12345",
    "start_time": "2026-06-01T09:00:00+01:00",
    "end_time": "2026-06-01T09:30:00+01:00",
    "type": "cleaning",
    "label": "Deep clean",
    "notes": "Used the extra steamer",
    "color": "#ff8800"
  }
}

Changes

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