Check whether an Appointment update would be allowed
Dry-runs an Appointment update without persisting the change. Reports whether the proposed assignment of practitioners, room and time-of-day slot would succeed.
Note: this endpoint validates against time-of-day only — it is NOT a full reschedule dry-run. The body is a strict subset of UpdateAppointment (practitioner_ids, room_id and a HH:mm start_time); other writable appointment fields (move, stage, item_configuration, etc.) are not consulted here. Use PUT /shop/appointments/{appointmentId} to actually persist a reschedule.
Use this to surface conflicts (overlapping bookings, room capacity, equipment availability, opening hours) to the operator before they commit a drag-and-drop move on the calendar. The response indicates whether the update is allowed, lists the specific availability errors that would block it, and reports whether the current user has the reservations.override-rules permission to bypass them.
Request body
Example request
{
"room_id": "5e1e3f6c-2a44-4f6e-8c61-9c1f7d2e1c11",
"start_time": "14:30"
}Response
The check was successfully carried out.
Example response
{
"data": {
"errors": [
{
"type": "NoSlotException",
"message": "The requested time slot isn't valid for this appointment type."
}
]
}
}