What deletion actually does
When you delete a recurring class, the backend iterates over every future class_schedule row belonging to that recurring template and:
- Calls
cancelClassAdmin()on each instance, which cancels the class for all attendees. - Deactivates any passes that were used for those bookings, returning the points/visits to the customer.
- Sends a
customer_class_cancellationemail and in-app notification to every booked customer (if the notification is enabled). - Removes waiting-list entries for the cancelled instances.
- Marks both the recurring template and every future instance as
removedso they no longer appear on the calendar.
None of this can be undone with one click. The recurring template stays in the database (it is soft-deleted), but you cannot resume it from the admin UI — you would have to recreate the class.
What the system warns you about
The admin UI shows two warnings before the delete is committed. The first runs if any of the recurring class's scheduled instances still have active bookings:
"Please note you are not allowed to delete a class which still has active calendar classes. Please cancel all existing calendar classes listed and try again."
If you proceed anyway (or the first check passes), the system shows a stronger confirmation:
"Please use 'Archive' or 'End Course' instead of deleting a class from ESSENTIALS. Deleting a class is irreversible and will refund the credits or points used by students who have reserved the course."
These dialogs are there because deletion is destructive. Read them carefully before tapping Confirm.
Safer alternatives
Two non-destructive alternatives cover most of the situations where deleting feels like the right answer:
- Archive — hides the recurring class from active lists while preserving every scheduled instance and every booking. Customers keep their reservations and you can un-archive at any time.
- End Course — sets an end date on the recurring template so the daily calendar-refresh job stops generating new future occurrences. Already-generated occurrences continue as scheduled until that end date.
If you genuinely want every future booking gone (e.g. a class is being permanently retired and customers must be refunded), deletion is the correct tool. Otherwise prefer Archive or End Course.
