Skip to content

2025-11-25: Sessie Updates - QR Scan Workflow

QR-code Scan Workflow (Definitief)

Bezoeker arriveert
├─ Toont QR-code (via email op telefoon)
Deur Medewerker B (met tablet/phone)
├─ Route: /scan (permission: "scan vgbc tickets")
├─ Camera interface opent
├─ Bezoeker houdt QR voor camera
├─ jsQR library scant code automatisch
Drupal valideert via API
├─ Route: /api/ticket/validate?code=VGBC2026-USER45-LICENSE123
├─ Zoekt License entity met code
├─ Checkt status (geldig? al gescand?)
├─ Update: status = "scanned", timestamp
Scan interface toont resultaat:
├─ GROEN ✓ = Welkom! (geldig ticket)
├─ ROOD ✗ = Probleem (al gebruikt/ongeldig)
Accreditatiebewijs wordt gegenereerd:
├─ PDF met logo, naam, event, datum en tijd van scan
├─ Downloadbaar op user account pagina
├─ Email naar customer via Symfony Mailer (niet via MailChimp), zoals nu ook al bij een invoice
End Result: Bezoeker heeft bewijs van deelname

Wijzigingen t.o.v. Eerdere Planning

  1. Email verzending: Via Symfony Mailer (consistent met invoice emails), NIET via MailChimp
  2. Accreditatiebewijs: Bevat datum EN tijd van scan (voor verificatie)
  3. Ticket soorten (definitief):
  4. Standaard Ticket (Mollie)
  5. Student Ticket (Mollie, korting via field_beroep)
  6. Standhouder Ticket (GRATIS, geen Mollie, quotum check)
  7. Custom/Admin Ticket (directe checkout flow, completed state)
  8. Rol naam: "Winkel" (niet "Kaartverkoop")

Todo voor Vandaag

  1. Winkel rol aanmaken
  2. field_payment_method toevoegen aan orders
  3. Partner ECK quotum fields
  4. Standhouder ticket variation
  5. Quotum validatie implementeren
  6. Custom order state 'custom_created'
  7. Invoice template update (payment method)
  8. E2E testing