MemberPulse

UJ-M-011: Check-in to Event

Member checks in to an event using their QR code ticket

Journey Overview

AttributeValue
Journey IDUJ-M-011
ActorEvent attendee
GoalConfirm attendance at event via check-in
TriggerAttendee arrives at event venue or joins online
OutcomeAttendance recorded, CPD points awarded (if applicable)

Preconditions

  • Attendee has valid ticket for the event
  • Event is on the scheduled date
  • Check-in window is open
  • Ticket has not already been used

Journey Flow

flowchart TD
    A[Attendee arrives at event] --> B[Present QR code]
    B --> C[Staff scans QR code]
    C --> D{Valid ticket?}
    D -->|Yes| E[Check-in recorded]
    D -->|No| F[Show error]
    E --> G[Welcome message displayed]
    G --> H{CPD enabled?}
    H -->|Yes| I[CPD points queued]
    H -->|No| J[Check-in complete]
    I --> J
    F --> K[Manual resolution]
    K --> L{Resolved?}
    L -->|Yes| E
    L -->|No| M[Denied entry]

Check-in Methods

QR Code Scan (Primary)

  1. Present QR Code

    Attendee shows QR code to event staff:

    • From mobile phone (email or portal)
    • From mobile wallet (Apple/Google)
    • Printed PDF ticket
  2. Staff Scans Code

    Staff uses scanning device:

    • Dedicated scanner hardware
    • Tablet/phone with camera app
    • Client portal check-in interface
  3. Validation

    System validates ticket:

    CheckPassFail
    Ticket exists"Ticket not found"
    Correct event"Wrong event"
    Not used"Already checked in"
    Not voided"Ticket cancelled"
    Check-in window"Check-in not open"
  4. Confirmation

    On successful scan:

    Staff Device Shows:

    • Green checkmark
    • Attendee name
    • Ticket type
    • Photo (if on file)
    • "Welcome!" message

    Attendee Receives:

    • Confirmation on their phone (if app)
    • SMS confirmation (optional)
    • Email confirmation (optional)

Manual Check-in (Backup)

If QR code unavailable:

  1. Staff searches by name or email
  2. Verifies attendee identity
  3. Manually marks as checked in
  4. Notes reason for manual entry

Self Check-in Kiosk (Optional)

For large events:

  1. Attendee approaches kiosk
  2. Scans QR code on screen
  3. Confirms identity
  4. Prints name badge (if configured)
  5. Proceeds to event

Check-in for Online Events

Zoom Integration

  1. Join Online Event

    Attendee clicks meeting link from ticket

  2. Zoom Tracking

    System tracks attendance via Zoom API:

    • Join time recorded
    • Duration tracked
    • Email matched to registration
  3. Post-Event Import

    After event, staff imports Zoom attendance:

    • Participant list retrieved
    • Matched to registrations
    • Attendance marked automatically
    • Unmatched attendees flagged

Manual Online Check-in

For non-Zoom events:

  • Attendee clicks "I'm attending" in portal
  • Staff takes manual roll call
  • Post-event survey with attendance confirmation

Check-in Statuses

StatusDescriptionCPD Eligible
RegisteredHas ticket, not attendedNo
Checked InAttended, verifiedYes
PartialLeft early / joined lateConfigurable
No ShowDid not attendNo
CancelledRegistration cancelledNo

CPD Auto-Award on Check-in

If event has CPD points and auto-award enabled:

  1. Check-in recorded
  2. System queues CPD award job
  3. After event ends (or grace period):
    • CPD record created
    • Points added to member's total
    • Certificate generated (if configured)
    • Notification sent to member

Partial Attendance:

  • Minimum duration may be required
  • Prorated points (e.g., 50% attendance = 50% points)
  • Configurable by organization

Multi-Session Events

For events with multiple sessions:

  • Check-in per session available
  • Overall event check-in option
  • Session-specific CPD tracking
  • Agenda shows check-in status per session

Attendee Experience

Mobile View

┌─────────────────────────────────────────┐
│         ✅ CHECKED IN                   │
│                                         │
│    Annual Conference 2025               │
│    March 15, 2025 • 9:15 AM            │
│                                         │
│    Welcome, John!                       │
│                                         │
│    You've been checked in to:           │
│    • Main Conference                    │
│                                         │
│    CPD Points: 6 points pending         │
│    (Awarded after event completion)     │
│                                         │
│    [View Agenda]  [Event Info]          │
└─────────────────────────────────────────┘

Acceptance Criteria

Frontend

  • QR scanner interface (camera-based)
  • Manual search by name/email
  • Check-in confirmation display
  • Attendee photo display (if available)
  • Bulk check-in for walk-ins
  • Check-in counter/statistics
  • Check-in status in My Tickets
  • Post check-in confirmation message
  • CPD pending notification

Backend

  • POST /api/events/{id}/checkin - Process check-in
  • POST /api/events/{id}/checkin/scan - QR scan endpoint
  • GET /api/events/{id}/attendees - Attendee list with status
  • POST /api/events/{id}/import-zoom - Zoom attendance import
  • CPD auto-award job

Permissions

  • Event staff can check in attendees
  • Attendees can view their own status

Business Rules

  • Single check-in per ticket (no duplicates)
  • Check-in window configurable (start/end)
  • CPD awarded only after minimum attendance
  • No-show marking after event ends

Error Handling

  • Invalid QR code error message
  • Already checked in notification
  • Offline mode for scanner (sync later)
  • Manual override for edge cases

On this page