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