A BlockedTime carves a window out of a practitioner's, room's,
or bookable area's calendar so it cannot be booked. Use blocked
times for breaks, cleaning slots, internal meetings, or any
other reason an otherwise-available resource should be hidden
from the booking flow. Blocked times can recur on chosen
weekdays via the recurrence payload.
Returns every BlockedTime at the given site whose window
intersects the date_from..date_to range. Use this to render
the operator calendar's "blocked" overlays alongside bookings
and appointments.
Both date_from and date_to are required and inclusive.
Requires the RESERVATIONS_VIEW permission on the site.
Carves a window out of one or more resource calendars
(practitioners, rooms, or bookable areas). At least one of
practitioner_ids, room_ids, or area_ids must be non-empty.
If recurrence.weekdays is set, the server fans the block out
across matching weekdays within
recurrence.date_from..recurrence.date_to (max 366 days). The
first ~30 occurrences are created synchronously; the remainder
are queued via an async job.
Requires the RESERVATIONS_MANAGE permission on the site.
Optional recurrence configuration sent with a BlockedTime
create request. When weekdays is non-empty, the server fans
out copies of the blocked time across the matching weekdays in
date_from..date_to.
Returns a single BlockedTime by ID. Useful when reopening the
calendar tile to edit it, or to verify a record was created with
the expected resource targets.
Requires the RESERVATIONS_VIEW permission on the blocked
time's site.
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.