Check-In & QR Codes¶
Overview¶
Nigall supports QR-based check-in for Attendee Management registrations, session-level scanning, volunteer check-in, vendor load-in passes, and exhibitor lead capture. RSVP events use simpler name-list check-in on the guest list.
Purpose¶
Fast, accurate arrival tracking with scannable tickets and APIs for handheld scanners.
Who should use it¶
- Registration desk staff
- Session room monitors
- Volunteer coordinators
- Vendor load-in gate staff
Benefits¶
- QR PNG per registration ticket
- Scan API for real-time validation
- Manual and walk-in fallback flows
- Separate session attendance tracking
Navigation path¶
| Flow | Path |
|---|---|
| Event check-in dashboard | /attendees/events/<pk>/<tag>/checkin/ |
| QR scan mode | /attendees/events/<pk>/<tag>/checkin/scan/ |
| Scan API | /attendees/events/<pk>/<tag>/checkin/scan/api/ |
| Manual check-in | /attendees/events/<pk>/<tag>/checkin/manual/ |
| Walk-in | /attendees/events/<pk>/<tag>/checkin/walk-in/ |
| Ticket QR image | /attendees/registrations/<pk>/ticket/qr.png |
| Session scan | /attendees/events/<pk>/<tag>/sessions/<session_pk>/scan/ |
| RSVP guest check-in | /events/<pk>/<tag>/guests/<rsvp_id>/check-in/ |
| Volunteer check-in | /events/<pk>/<tag>/volunteer-checkin/scan/ |
| Vendor load-in scan | /vendors/events/<pk>/<tag>/loadin/scan/ |
Prerequisites¶
- Attendees module enabled for registration QR flows
- Confirmed registration with issued ticket
- Host or staff permissions for check-in views
- HTTPS + camera permission for browser scanning
Step-by-step — Event QR check-in¶
- Open check-in dashboard as host.
- Click Scan →
/checkin/scan/. - Point camera at attendee QR code.
- System validates registration → marks checked in.
- Use Manual search if QR fails.
[SCREENSHOT: QR scan interface]
Step-by-step — Session check-in¶
- Navigate to session roster or scan URL.
- Scan attendee QR at room entrance.
- Attendance recorded separately from event-level check-in.
Field descriptions¶
| Artifact | Description |
|---|---|
| Ticket QR | Encodes registration identifier for scan API |
checked_in_at |
Event-level timestamp on registration |
| Session attendance | Per-session record linked to registration |
| Walk-in policy | Venue model supports walk-in policies for linked venues |
Business rules¶
| Rule | Detail |
|---|---|
| RSVP events | Name-list check-in; no default QR ticket |
| Registration events | QR on confirmed registration |
| Duplicate scan | Typically idempotent or shows already checked in |
| Walk-in | Subject to capacity and walk_in policy |
| Volunteer check-in | Separate assignment-based flow |
Validation rules¶
- Invalid QR → API error message
- Cancelled registration → reject scan
- Past event may block new check-ins
User permissions¶
| Action | Host | Staff | Attendee |
|---|---|---|---|
| Scan check-in | ✅ | ✅ | ❌ |
| View own QR | ❌ | ✅ | ✅ |
| RSVP list check-in | ✅ | ✅ | ❌ |
Workflow¶
sequenceDiagram
participant Staff
participant Scanner
participant API
participant DB
Staff->>Scanner: Open scan page
Scanner->>API: POST scan/api with QR payload
API->>DB: Validate registration
DB-->>API: OK + name
API-->>Scanner: Success UI
Examples¶
Conference registration desk: Event-level scan at entrance; session scans in breakout rooms.
Volunteer shift: Volunteer QR at /volunteer-checkin/scan/.
Best practices¶
- Test scan lighting and screen brightness beforehand
- Keep manual search open on second device
- Print backup name list for connectivity outages
- Use walk-in flow only with capacity headroom
Tips¶
- Download QR:
/attendees/registrations/<pk>/ticket/download/ - Print layout:
/ticket/print/ - Exhibitor lead scan:
/exhibitors/applications/<pk>/leads/scan/
Common mistakes¶
| Mistake | Result | Fix |
|---|---|---|
| RSVP event + QR expectation | No ticket | Use guest list check-in |
| Wrong event scanner URL | Invalid QR | Match pk/tag to event |
| Pending payment QR | Rejected | Confirm registration first |
FAQs¶
Can attendees show QR on phone?
Yes — standard use case.
Is offline scan supported?
Requires connectivity for API validation; use manual list offline.
Troubleshooting¶
| Symptom | Cause | Fix |
|---|---|---|
| Camera blocked | Browser permissions | Allow camera |
| QR not found | Wrong event / cancelled reg | Verify registration |
| API 403 | Not host | Login as host/staff |
Related features¶
Screenshot placeholders¶
[SCREENSHOT: Check-in dashboard stats][SCREENSHOT: Successful scan confirmation][SCREENSHOT: Ticket QR on mobile]
Administrator notes¶
- Scan API rate limits depend on deployment; monitor logs on busy events
- Ensure media URLs work for QR PNG generation
Developer/API notes¶
| Endpoint | Method | Body |
|---|---|---|
.../checkin/scan/api/ |
POST | QR payload JSON |
.../sessions/.../scan/api/ |
POST | Session attendance |
ticket_qr_image |
GET | PNG image |
See also: Participant Guide