Overview
Cancels an existing booking. You must first fetch valid reasons fromGET /partners/bookings/cancellation-reasons and pass the selected reasonId in the request body.
The cancellation behavior depends on your partner account’s paymentResponsibility:
CLEANOSresponsibility: The system cancels the booking and issues a refund if applicable.PARTNERresponsibility: The system cancels the booking only — no refund is processed by CleanLife. Your system is responsible for any refund to your customer.
Endpoint
Authentication
Requires a valid API Key with thepartner_bookings_cancel permission.
Path Parameters
Request Body
Example Request
Success Response
HTTP Status:200 OK
Error Responses
Business Rules
-
Cancellation reason is required. Call
GET /partners/bookings/cancellation-reasonsfirst, then pass the selectedreasonIdwhen cancelling. -
Cannot cancel an already-cancelled booking. If the booking is already in
canceledstatus, the API returns422 BOOKING_ALREADY_CANCELLED. You can safely check for this error and treat it as a successful no-op. -
Refund behavior:
CLEANOSresponsibility: The service appointment is cancelled with actionCANCEL_AND_REFUND. The CleanLife system will initiate a refund if applicable.PARTNERresponsibility: The service appointment is cancelled with actionCANCEL_ONLY. No refund is initiated by CleanLife.
Notes
- There is no restriction on which booking statuses can be cancelled via this endpoint (other than already-cancelled bookings). You can cancel a booking in
waiting payment,in progress, orsuccessstatus. - If you need to cancel and then rebook for a different date, cancel the existing booking and create a new one.
Related Endpoints
GET /partners/bookings/cancellation-reasons— List valid cancellation reasonsGET /partners/bookings/:bookingId/status— Verify booking status before cancellingPOST /partners/bookings— Create a replacement booking