rescheduleBooking( )


Developer Preview

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.

Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage Bookings
Manage Bookings - all permissions
Learn more about app permissions.
Method Declaration
Copy
Method Parameters
bookingIdstringRequired

ID of the booking to reschedule.


slotV2SlotRequired

Information about the new slot.


optionsRescheduleBookingOptions

An object representing the available options for rescheduling a booking.

Returns
Return Type:Promise<RescheduleBookingResponse>
Did this help?