Skip to main content

Invitations

What it is​

A small, simple email-based invitation list — POST /invitation/accept-rsvp records who's been invited to an event by name + email, deduplicated by email per event. This is a lighter, older mechanism than the phone-based RSVP/guest system in RSVP & Guests, and doesn't do everything the name might suggest.

note

The root CLAUDE.md describes this module as handling "QR codes and PDF generation" — that's no longer accurate. QR code generation (src/shared/utils/qr.util.ts) is actually used by the guests module for RSVP tickets, not here, and there's no PDF generation in this module at all (src/shared/utils/pdf.util.ts is used elsewhere, e.g. PartyBank statements). If you're looking for invite QR codes, start in guests.service.ts, not this module.

How it works​

  • POST /invitation/accept-rsvp — bulk-accepts a payload of { fullName, email, eventId } entries; for each, if an invitation to that email already exists for that event, it's silently skipped rather than erroring or duplicating.
  • GET /invitation/:eventId — list invitations for an event.
  • PATCH /invitation/update-status/:id — update an invitation's status.

GET /v1/invitation/{eventId}, POST /v1/invitation/accept-rsvp, PATCH /v1/invitation/update-status/{id}. Not in the generated OpenAPI spec.

  • src/modules/invitation/invitation.routes.ts, invitation.service.ts
  • src/shared/validations/*.ts — acceptInvitationRules