Scan overview
read-only · live (refreshes itself){{model.eventList.length}} event(s) · {{model.selectedEventId ? 'event #' + model.selectedEventId : 'all events'}} · ended events greyed · times in {{tzLabel}}
{{model.lastError}}
{{model.flow.scannedTickets || 0 | number}}/{{model.flow.activeTickets || 0 | number}}
Scanned / valid ({{model.flow._pct}}%)
{{model.flow.activeTickets || 0 | number}} of {{model.flow.totalTickets || 0 | number}}
Valid / issued
{{model.flow._recentRate != null ? model.flow._recentRate : '—'}}
Scans / min
{{model.flow.isEventScoped ? etaLabel() : '—'}}
Time left
{{model.flow.entrances.length || 0}}
Entrances
{{model.flow.isEventScoped ? (model.flow._remaining || 0 | number) : '—'}}
Still to come
{{model.flow.cancelledTickets | number}}
Cancelled
Progress - {{selectedEventTitle()}}
{{model.flow.scannedTickets || 0 | number}}/{{model.flow.activeTickets || 0 | number}} valid ({{model.flow._pct}}%) · {{model.flow._remaining || 0 | number}} still to come · {{model.flow.cancelledTickets | number}} cancelled, not counted
Scan map — circles = entrances (size = scans) · pins = devices (green online / red offline)
Map unavailable (network). The per-entrance numbers are in the table below.
Throughput — per minute, last {{model.flow.sinceMinutes}} min · peak {{model.flow._peak | number}}/min
By entrance
| {{model.selectedEventId ? 'Entrance' : 'Event / Entrance'}} | Scanned | Devices | Rate ({{model.flow.rateWindowMinutes}} min) | Last scan | Status |
|---|---|---|---|---|---|
| #{{e.eventId}}/{{e.entrance}} ▲ ▼ | {{e.scannedCount || 0 | number}} | {{e.deviceCount || 0}} | {{e.ratePerMin || 0}}/min | {{fmtTime(e.lastScan)}} | stale - {{humanizeSeconds(e.secondsSinceLastScan)}} active no scans in the last {{model.flow.rateWindowMinutes}} min |
| No scans yet for this selection. | |||||
↻ refreshing in {{model.countdown}}s