Add a cancel option that doesn't remove enrollment data, but also sends out the cancel email to learners and instructors. However, keep the data for who signed up. That way, if the class is scheduled in the future, we can look back to who registered before but didn't get to attend their session.
Example, you offer an ILC registration for a 1 hour course in Q1, but something comes up, and the class needs to be cancelled, not just rescheduled. In Q3, the decision is to hold it again. Because it was cancelled, it is currently like it didn't exist. It would be nice to have a way to look back and see who wanted to attend in the past as well as tracking which instructors are consistently cancelling sessions, which is lost by deleting.