QR codes for event tickets, table tents, and check-in

Events generate QR codes for ticketing, attendee check-in, and table-side materials. All QRs are signed so they can't be spoofed at the door.

Ticket QRs:
Every event ticket (paid or free RSVP) gets a unique signed QR. Attendees receive it three ways:
• Email confirmation — inline image + Apple Wallet "Add to Wallet" button
• Apple Wallet pass — adds to the iPhone Wallet app with the QR on the front
• Account page — /tickets shows every ticket with its QR

Check-in app:
At the door, staff opens the Check-in app (Events → Attendees → Check-in app button on tablet or phone) and scans tickets with the camera. Valid tickets show a green checkmark + the attendee name; already-used tickets show amber "Already scanned at 7:42pm"; invalid/spoofed tickets show red. Works offline — scans queue + sync when network returns.

Manual fallback:
If the QR is damaged or the phone is dead, staff can type the 8-character confirmation code on the ticket. Same validation pipeline; rate-limited per-tablet to prevent brute force.

Printed at-table materials:
For seated events (galas, fundraisers, banquets):
• Table tents with a per-table QR — open Design Studio, drop the event QR onto an 8.5 × 5.5 in canvas, fold to make a tent. Each scan attributes to the table for live leaderboards (Gala module).
• Bidding placards (Gala) — Gala → Auction Items tab has a "Print QR sheet" button that generates a PDF with one auction item per page, each with a big QR pointing at /bid/{itemId} on the public auction page.

Public event page QR:
Every published event has a public URL with a brand-tinted QR. Find it on Events → {event} → Public page tab. Use this QR on posters, flyers, and outdoor signage when you want walk-ups to discover the event.

Builder integration:
If you embed the public event page on a Builder site (via the Events block or a direct link), scans land on the embedded version with your site's nav, theme, and footer — the consistent brand the visitor expects.