Technical documentation
System Architecture
How JoyLanes Ops connects three guest-facing channels to one real-time reservation and inventory engine, and out to the legacy point-of-sale and payment network at Mr Joy centers.
Multi-channel system overview
Every channel writes through the same reservation engine, so a lane can never be double-booked.
Web Reservation Portal
Advance booking, up to 7 days
Self-Service Kiosks
On-site totems with pinpad
Admin / Counter Panel
Host & ops dashboards
Reservation & Inventory Engine
Slot allocation, stock ledger, QR issuance
State Store
Lanes · reservations · shoe stock · activity log
JJA Systems POS
Legacy ticketing integration
Payment Gateways / Pinpads
Counter & kiosk terminals
Reservation business flow
Identical logic runs whether the guest is on the web, at a kiosk, or at the counter.
1. Guest selects date & party size
2. Engine computes free 35-min cycles
30 min play + 5 min cleanup
3. Shoe stock reserved
Concurrency-safe hold
4. Dual QR issued
Turnstile + lane access
Data flow: check-in to check-out
Reservation created
Lane hold placed; shoe stock decremented by requested size/quantity.
Guest arrives
Turnstile QR scanned; combined-admission timer starts.
Lane access QR scanned
Counter host or kiosk confirms party at the assigned lane.
Play window (30 min)
Lane state = active; a 25-minute mark triggers the host warning.
Cleanup buffer (5 min)
Lane state = cleanup; next reservation cannot start until this elapses.
Session closed
Shoes marked returned; stock automatically released back to the wall.
Rule engine — overbooking prevention
Applied identically to every channel before a slot is confirmed.
Rule 1 — Lane exclusivity: a lane cannot hold two reservations whose [start, cleanup-end) windows overlap.
Rule 2 — Mandatory buffer: every 30-minute play window carries a fixed 5-minute cleanup buffer that blocks the next booking.
Rule 3 — Stock ceiling: a shoe size can only be assigned up to (total − in-use); requests beyond that are rejected before payment.
Rule 4 — Combined admission: wristband validity is computed independently of the lane slot, so admission time and lane time can differ per package.
Rule 5 — Manual override: counter hosts may force a lane's state (e.g. maintenance); overrides are logged and reversible.
User journeys
Three entry points, one shared outcome.
Web guest
- 1. Chooses a date within 7 days
- 2. Picks a slot & admission package
- 3. Pays via web checkout
- 4. Receives dual QR confirmation
Walk-in at kiosk
- 1. Touches “Book a Lane” on the totem
- 2. Selects party size & shoes
- 3. Taps card on the pinpad
- 4. Prints/shows QR at the lane
Counter host
- 1. Monitors the live lane timeline
- 2. Checks guests in, assigns shoes
- 3. Applies overrides when needed
- 4. Closes sessions, releasing stock