Happy path
Attendee taps the station.
Station resolves the attendee and asks the server for the next available timed-return slot.
Server assigns a slot.
The slot respects capacity and idempotently returns the same slot for repeated taps inside the assignment window.
Attendee receives return instructions.
Station displays the time and queues SMS notification when EF-071 exists.
Failure modes
Socket reconnect resilience
Reconnect restores the current slot assignment.
Out-of-order messages
Older slot deltas cannot overwrite newer assignments.
Concurrent slot allocation
Burst taps do not oversell a slot.
Late join shows prior state
A re-opened station shows already assigned slots and remaining capacity.
Organizer pause or cancel
Pause freezes assignment; cancel releases no-show queue deterministically.
Results visible only after close
Final slot roster is hidden until assignment closes.
Idempotent assignment
Repeated taps return the same current slot.
Cross-station isolation
Slots for one station do not bleed into another station.
Slot capacity edge
Last available slot is assigned once under race.
SMS dependency gap
EF-071 absence is visible and does not block on-screen assignment.
Stable test attributes
Visibility teeth. Each attribute must be effectively visible when active and must match the agent probes.
| data-test | Where | Purpose |
|---|---|---|
fast-pass-station | station shell | timed return station |
fast-pass-socket-status | station shell | socket state |
fast-pass-nfc-tap-target | station shell | NFC tap target |
fast-pass-assignment-card | station shell | assigned slot display |
fast-pass-slot-table | organizer panel | slot capacity table |
fast-pass-pause-cta | organizer panel | pause assignment |
fast-pass-sms-gap-panel | gap panel | SMS dependency gap |
Agent test plan
- fast-pass-opens
- fast-pass-assigns-slot
- socket-reconnect
- out-of-order-slot
- load-stable
- late-join
- organizer-pause
- roster-after-close
- idempotent-assignment
- cross-station-isolation
- slot-capacity-race
- sms-gap