Surfaces
Offline Snapshot
Export and import event snapshots for LAN fallback and offline operations.
First created Last updated
Overview
Offline Snapshot moves event operational data between the online dashboard and an EMS LAN environment. It is used when a venue needs an offline fallback for check-in, inclusion claim, inventory, POS, roster work, or shop order pickup release.
This page is powerful because imports can update online event state. Treat every snapshot file as an operational record, not a casual backup. Export creates the package the LAN app uses onsite. Import brings the LAN app’s returned state back into the online event.
Dashboard route
/ems/manage/offline-snapshot?id=:eventId
The page only works when opened from a signed-in dashboard session with an event ID. Without an event ID, it shows No event ID in URL. Without dashboard auth, it sends the operator to sign in.
Page header and event identity
| Element | What it shows or changes | Operational impact | Check before using |
|---|---|---|---|
| Event title | Loads the event public name from the event API. | Confirms which event will be exported or imported. | Stop if the visible event name does not match the onsite event. |
| Event subtitle | Shows the internal name when available, otherwise the slug and status. | Helps staff distinguish tests, draft events, and similarly named events. | Confirm the status and slug are the expected event before sharing files. |
| Manage navigation links | The SPA runtime attaches the current id query value to Event Management sidebar links. | Keeps operators inside the same event when moving to Check-In, Inventory, POS, or history pages. | If navigation loses the event ID, return from the event list instead of manually guessing an ID. |
Export controls
The export card builds a point-in-time snapshot for the same event. The source implementation describes the ZIP export as containing attendee rego details, Dealers Den regos, check-in state, HR roster state, inventory stock, POS history, and confirmed shop order pickup data.
| Control | Type | What it does | Result or status | Check before using |
|---|---|---|---|---|
| Download LAN snapshot ZIP | Button | Requests /api/events/:eventId/check-in/offline-snapshot?format=zip and downloads the returned blob. | The button changes to Preparing…, the status says it is preparing a ZIP snapshot, then reports the downloaded filename. | Use this as the normal handoff package for the airgapped LAN app. Confirm the event name and export timing before sending it to onsite staff. |
| Download GZIP JSON | Button | Requests the same snapshot endpoint with format=gzip. | The status says it is preparing GZIP JSON and the fallback filename is event-:eventId-offline-snapshot.json.gz. | Use only when the LAN workflow or support process asks for the raw compressed JSON format. |
| Export status | Generated status text | Reports preparation, success, or failure for the latest export attempt. | Success shows Downloaded filename. Failure shows the API or runtime error in red. | Keep the message visible until the operator knows whether the file was actually downloaded. |
| Downloaded filename | Browser download metadata | Uses Content-Disposition from the API when present, otherwise falls back to event-:eventId-offline-snapshot.zip or .json.gz. | Helps staff identify which event file was produced. | Do not rename files in a way that hides event identity or export timing from the LAN operator. |
Import controls
Import is the dangerous half of the page. The returned LAN snapshot can update attendee regos, Dealers Den regos, check-in records, inventory stock, POS transactions, HR roster tracking, and LAN shop order claim actions for the same event.
| Control | Type | What it does | Result or status | Check before using |
|---|---|---|---|---|
| File picker | File input | Accepts .zip, .json, .gz, and .fphlan files. | The selected file is held in the browser until Import LAN snapshot is pressed. | Pick only the returned snapshot generated by the trusted LAN system for this exact event. |
| Import LAN snapshot | Button | Posts the selected file as snapshot form data to /api/events/:eventId/check-in/offline-snapshot/import. | If no file is selected, status says Choose a LAN snapshot file first. If confirmed, the button changes to Importing… until the API returns. | Confirm with the onsite lead before importing. Imports overwrite live check-in, inventory/POS, and roster-tracking state for the same event. |
| Confirmation dialog | Confirmation control | Asks whether to import the selected file into this event. | Uses the dashboard confirm dialog when available, otherwise the browser confirm dialog. | Read the filename and warning before confirming. Cancel if the event, file, or source is uncertain. |
| Import status | Generated status text | Reports selected filename, failure, or the applied counts returned by the API. | Success includes attendee regos, Dealers Den regos, check-in records, POS transactions, roster rows, and shop claim actions applied or skipped. Failure shows the API/runtime error in red. | Keep the message for closeout notes, especially when imported counts differ from what the LAN team expected. |
Import result counts
| Count | Meaning | Why it matters |
|---|---|---|
| Attendee regos | Number of attendee registration records applied from the returned snapshot. | Confirms attendee registration state moved back into the online event. |
| Dealers Den regos | Number of dealer registration records applied. | Confirms dealer check-in or dealer-side registration state was reconciled. |
| Check-in records | Number of check-in records applied. | Confirms event-day entry activity was returned from LAN. |
| POS transactions | Number of POS transactions applied. | Confirms onsite sales activity was returned from LAN. |
| Roster rows | Number of HR roster tracking rows applied. | Confirms staff or shift tracking state was returned from LAN. |
| Shop claim actions | Number of LAN shop order release, exception, or reversal actions applied or skipped. | Confirms merch pickup activity was reconciled and highlights conflicts for review. |
Operational notes shown on the page
| Note | Meaning | Operator response |
|---|---|---|
| Use this only for the same event ID. | The API rejects cross-event imports, but operators should still verify before uploading. | Match the event name, event ID, filename, and onsite handoff notes before importing. |
The returned LAN snapshot is the authoritative offline export format used by the airgapped fph-lan-checkin app. | LAN export/import is a system handoff, not a spreadsheet-style manual edit process. | Do not modify snapshot files by hand unless a maintainer explicitly directs it. |
| Shop order data is for onsite pickup/release only. | LAN does not replace online checkout, payment review, or buyer account management. | Review skipped duplicates and conflicts in Sync History before closing the shop queue. |
| Imported HR data currently applies event-level HR settings plus roster and shift tracking state. | Import does not replace all HR-related records. | Do not expect it to rebuild volunteer application history or department membership tables. |
Flowchart context
Run Check-In uses Offline Snapshot when staff prepare backup access before doors open. Close Out an Event uses this page when LAN-side changes must be reconciled before final reporting.
Related pages: Check-In, Inclusion Claim, Inventory Tracking, Offline Snapshot History.
Common mistakes
- Do not import a snapshot just because it is the newest file in a folder. Verify that it belongs to the same event and came from the trusted LAN environment used onsite.
- Do not use GZIP JSON unless the LAN process calls for it. ZIP is the normal operator handoff format.
- Do not treat export as reconciliation. Export prepares LAN operations; import is what brings returned onsite changes back.
- Do not close the tab during import. Wait for the applied-count status or an error message.