How-to

Bulk cancelling bookings

Cancel many bookings at once — useful when a pharmacist is away or a clinic day is pulled.

Filter the bookings list to the set you want to cancel, then review and confirm them together with a single reason and optional customer message.

Before you start

Apply filters first. The Bulk Cancel option is only available when the bookings list is filtered. That's deliberate — cancelling without a filter would mean cancelling every future booking in the pharmacy.

Use filters that narrow to the exact set you want:

  • Date range — the specific day or days affected
  • Resource — the pharmacist, room, or equipment that's unavailable
  • Service — if only a particular service is being pulled
  • Status — typically Booked, since past bookings can't be cancelled

Past bookings and Held bookings are always skipped, regardless of filter.

Steps

  1. Filter the bookings list

    Open the Bookings page and apply filters until you see only the bookings you want to cancel.

  2. Open Bulk Cancel

    Tap the caret next to Add in the top-right, then choose Bulk Cancel. The dialog opens with every matching booking pre-selected.

  3. Review the list

    Uncheck any bookings you want to keep. Past and held bookings in the filter won't appear — they can't be bulk cancelled.

  4. Pick a cancellation reason

    Choose from the preset reasons or select Other. The reason is the same for every booking in the batch and is recorded on each one's activity log.

  5. Customise the customer message (optional)

    Add a short message to include in the cancellation email, and tick Include reschedule link in cancellation email if you want the customer to be able to rebook themselves.

  6. Hold to confirm

    The confirm button requires a brief press-and-hold rather than a single tap — deliberate friction to stop accidental bulk cancels. Hold until the button fires.

What happens

Each selected booking is cancelled and its status becomes Cancelled. Customers receive a cancellation email (with your message and the reschedule link if you included it), vouchers are released, and the time slots become available to rebook.

If some cancellations fail, Light reports a partial outcome and tells you how many succeeded, failed, or were skipped. Retry from a fresh filter for the ones that failed.

Limits

  • 1000 bookings per batch. If your filter matches more than that, Light cancels the first 1000 by start time and tells you how many remain. Re-run the flow to clear the rest
  • No bookings with a claim. A booking with a service that has a claim or an AIR submission isn't cancelled and is counted as failed. Contact Support if it still needs to be cancelled
  • Future bookings only. Past bookings can't be cancelled this way — they're already in a terminal state or need to be resolved via marking attendance
  • Held bookings are skipped. They resolve themselves when the customer confirms or the hold expires

When to use single delete instead

For a single booking, use Deleting a booking — the single-booking delete has its own reason list and doesn't require filtering. Bulk cancel is for "this whole clinic is off", not "this one customer changed their mind".

Last updated 24 September 2026