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