Skip to main content

Overview

Cancels an existing booking. You must first fetch valid reasons from GET /partners/bookings/cancellation-reasons and pass the selected reasonId in the request body. The cancellation behavior depends on your partner account’s paymentResponsibility:
  • CLEANOS responsibility: The system cancels the booking and issues a refund if applicable.
  • PARTNER responsibility: 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 the partner_bookings_cancel permission.

Path Parameters


Request Body


Example Request


Success Response

HTTP Status: 200 OK

Error Responses


Business Rules

  1. Cancellation reason is required. Call GET /partners/bookings/cancellation-reasons first, then pass the selected reasonId when cancelling.
  2. Cannot cancel an already-cancelled booking. If the booking is already in canceled status, the API returns 422 BOOKING_ALREADY_CANCELLED. You can safely check for this error and treat it as a successful no-op.
  3. Refund behavior:
    • CLEANOS responsibility: The service appointment is cancelled with action CANCEL_AND_REFUND. The CleanLife system will initiate a refund if applicable.
    • PARTNER responsibility: The service appointment is cancelled with action CANCEL_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, or success status.
  • If you need to cancel and then rebook for a different date, cancel the existing booking and create a new one.

  • GET /partners/bookings/cancellation-reasons — List valid cancellation reasons
  • GET /partners/bookings/:bookingId/status — Verify booking status before cancelling
  • POST /partners/bookings — Create a replacement booking