Cancelling an RSVP
Every RSVP gets a unique cancel token. It's included as a link in the confirmation email: /rsvp/cancel/.
Flow
1. Attendee clicks the link
2. They see a confirmation page with event details
3. After clicking "Cancel", the entry is set to CANCELLED
4. When a waitlist is active, the next seat fills automatically (webhook rsvp.promoted)
For organizers
You can also cancel sign-ups manually from the dashboard (e.g. for spam or wrong entries). Same webhooks fire.
What's stored?
cancelledAt— timestamp of cancellation- The sign-up stays in the table (not deleted) so attendee history is preserved