The scanner is designed to work in locations with limited or no internet connectivity. This guide explains the offline mode architecture and sync process.
Offline Capability
Data Pre-Caching
Trigger: Scanner link first accessed
Data cached: All ticket IDs + attendee names
Storage: IndexedDB (browser)
Size: ~50KB per 1,000 tickets
Offline Validation
Check: Ticket ID exists in local cache
Check: Not marked as scanned locally
Result: Green (valid) / Red (duplicate)
Note: Cannot validate against server
Sync Process
When connectivity returns:
- 1Scanner detects network availability
- 2Queued scans sent to server (batch)
- 3Server validates and records all scans
- 4Conflicts resolved (duplicate detection)
- 5Updated ticket list pulled to cache
- 6UI shows "Synced" confirmation
- 7Process is automatic and transparent
Offline sync status indicator
Interactive component coming soon
Conflict Resolution
Same Ticket, Multiple Scanners
Scenario: Two offline scanners scan same ticket
Resolution: First timestamp wins
Result: Second scan marked "Already checked in"
Ticket Modified After Cache
Scenario: Refund issued while scanner offline
Resolution: Server rejects scan on sync
Result: Logged as "Scan attempted on invalid ticket"
Best Practices
For events with limited connectivity:
- Pre-load scanner link while online
- Test offline mode before event
- Assign dedicated scanner per entrance
- Sync periodically if wifi available
- Monitor sync status indicator
- Have backup mobile hotspot ready
Offline mode cannot detect if a ticket was scanned by another device. For high-security events, ensure internet connectivity or use single-scanner configuration.