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.
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.
Related endpoints
GET /v1/invitation/{eventId}, POST /v1/invitation/accept-rsvp, PATCH /v1/invitation/update-status/{id}. Not in the generated OpenAPI spec.
Related code
src/modules/invitation/invitation.routes.ts,invitation.service.tssrc/shared/validations/*.ts—acceptInvitationRules