Companies migrating to EventKit may already have existing barcode/label schemes. EventKit supports dual scanning — both legacy barcodes and new QR codes are recognised:
Feature
Description
Legacy barcode import
Import existing barcode-to-asset mappings during onboarding
Dual scanning
Scan either a legacy barcode or an EventKit QR code — both resolve the asset
Gradual migration
No need to re-label everything at once; legacy barcodes remain valid
Barcode format support
Code 128, Code 39, EAN-13, UPC-A, QR — any standard 1D/2D format
QR Code Design
Data Format
Each QR code encodes a URL pointing to the owning instance:
e.g. Zebra TC-series — built-in scanner, drop-resistant
Fixed scanner
Check-in/check-out desk
Mounted scanner at warehouse dispatch point
Default: Phone camera (web or native). Power-user option: Bluetooth barcode scanner paired to phone/tablet for bulk warehouse operations.
Recommended Setup
Role
Device
Warehouse staff
Bluetooth scanner + tablet (mounted on cart)
On-site crew
Phone app (PWA or native)
Office / planning
Web UI (no scanning needed)
Dispatch desk
Fixed USB scanner + desktop
Label Printing
Method
Description
PDF generation
Default — generate PDF sheets for any label printer (Avery sheets, etc.)
Direct printing
Optional — integration with label printers (Brother QL, DYMO, Zebra)
Users can also print QR codes however they prefer — EventKit provides the QR data and a printable format.
Scanning Workflows
Check-Out (Dispatch to Event)
sequenceDiagram
participant User as Warehouse Staff
participant App as EventKit App
participant API as API Server
User->>App: Open Event Pull List
App-->>User: Show items to dispatch
loop For each item/case
User->>App: Scan QR code
App->>API: POST /scan/checkout {asset_uuid, event_id}
API-->>App: ✅ Asset status → "Checked Out"
App-->>User: ✅ Item confirmed on list
end
App-->>User: Pull list complete: 47/47 items scanned
Check-In (Return from Event)
sequenceDiagram
participant User as Warehouse Staff
participant App as EventKit App
participant API as API Server
User->>App: Open Event Return
loop For each returning item
User->>App: Scan QR code
App-->>User: Prompt: Condition? [OK / Damaged]
User->>App: Select condition + optional note/photo
App->>API: POST /scan/checkin {asset_uuid, condition, notes}
API-->>App: ✅ Asset status → "Checked In" or "Damaged"
end
App-->>User: Return complete. 2 items flagged as damaged.
Stocktake / Audit
sequenceDiagram
participant User as Warehouse Staff
participant App as EventKit App
participant API as API Server
User->>App: Start Stocktake for Location "Shelf B3"
User->>App: Scan location QR code
loop For each item on shelf
User->>App: Scan asset QR code
App->>API: POST /scan/stocktake {asset_uuid, location_id}
API-->>App: ✅ Asset found at expected location
end
App->>API: POST /stocktake/complete {location_id}
API-->>App: Report: 3 missing, 1 unexpected item found
App-->>User: Stocktake discrepancy report
Case Packing
sequenceDiagram
participant User as Warehouse Staff
participant App as EventKit App
participant API as API Server
User->>App: Scan Case QR code
App-->>User: Show case contents (expected packing list)
loop For each item going into case
User->>App: Scan asset QR code
App->>API: POST /scan/pack {asset_uuid, case_uuid}
API-->>App: ✅ Item added to case
end
App-->>User: Case packed: 8/8 items ✅
Sub-hire Receive (Federated)
sequenceDiagram
participant User as Company B Staff
participant B_App as Company B App
participant B_API as Company B API
participant A_API as Company A API
User->>B_App: Scan QR code on received item
Note over B_App: URL domain = company-a.com → federated asset
B_App->>B_API: POST /scan/subhire-receive {url, condition}
B_API->>A_API: GET /federation/asset/{uuid}
A_API-->>B_API: Asset details (Shure SM58, SN: 00142)
B_API->>A_API: POST /federation/asset/{uuid}/checkin
B_API-->>B_App: ✅ Sub-hired asset received from Company A
B_App-->>User: Show asset details + "Owned by Company A"
Quick Lookup
Scan any QR code outside of a workflow to instantly see: