This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Reschedules a booking to a different slot or session.
You can only reschedule bookings for appointments or classes, you can't reschedule course bookings.
The old session is removed from the calendar and the new session is added.
If you reschedule a booking for a class session the new session must be an existing session for the same class.
You can pass a participantNotification.message
to notify the customer of
the rescheduling. You also need to pass participantNotification.notifyParticipants
as true
to actually send the message.
In case the service has
variants, you can call this endpoint to update the booking's totalParticipants
or participantsChoices
.
If you provide participantsChoices
, all of the provided choices must exist for
the service. Otherwise, the call returns an INVALID_SERVICE_CHOICES
error.
If you omit participantsChoices
in the request, the existing choices are
kept and not replaced with an empty object.
In case you want to reschedule a booking on behalf of a customer, we recommend
to pass flowControlSettings.ignoreReschedulePolicy
as false
. This
ensures that the rescheduling is validated against the service's rescheduling
policy.
This function requires elevated permissions and runs only on the backend and on dashboard pages.
ID of the booking to reschedule.
Information about the new slot.
An object representing the available options for rescheduling a booking.