Cancel, un-cancel, delete
Three different actions, three different outcomes:
| Action | Family-page result | Subscribers (iCal/Telegram/push) |
|---|---|---|
| Cancel | Card stays visible, shows “CANCELLED” label | One push + Telegram + iCal cancel |
| Un-cancel | Card returns to scheduled state | One push + Telegram + iCal un-cancel |
| Hard delete | Card disappears entirely | One push + Telegram + iCal tombstone, then row removed |
When to cancel
Most weather / last-minute drop scenarios. Keeps the event visible so parents can see it was scheduled and is now off. Easy to un-cancel if the situation changes.
When to un-cancel
If you cancelled and need to restore. Up to that family’s next digest or push, families see the cancellation. After un-cancel, they get a “back on” notification.
When to hard delete
When the event was created by mistake, or for a duplicate row, or for genuine cleanup. The audit log preserves what happened (with a tombstone), but the row is gone from active queries and the family page.
Caveat: a hard-delete can’t be undone from the UI. The deleted row is unrecoverable except by manually inserting a new one with the same data.
What happens to RSVPs
- Cancel: existing RSVPs are kept on the now-cancelled event (so you can still see who would have been there).
- Un-cancel: RSVPs are intact.
- Delete: RSVPs are cascaded — gone with the event row.
What happens to coach notes
- Cancel / un-cancel: note stays.
- Delete: note is cascaded — gone.
What gets recorded
Every action writes an audit_log row with the actor and the change. Visible in the family-page “change log” sheet under the past 30 days.