← All stories

BRANCH · ef-080-reservation-queueing

Reservation / Meeting Queueing

EF-080Persona: AttendeeRoots in: efx-station-shellMatrix: Partial

Attendees join a public-facing meeting queue, see position, receive callback messaging when available, and can abandon and rejoin while preserving the server-authoritative position contract. SMS callback depends on EF-071.

Happy path

  1. Attendee joins the queue.

    The public station resolves attendee identity and places them at the server-authoritative FIFO position.

  2. Queue position updates live.

    The attendee and organizer display receive queue deltas over the event station socket.

  3. Organizer calls the next attendee.

    The attendee is marked called, SMS callback is queued where available, and queue position shifts for everyone else.

Failure modes

Socket reconnect resilience

Reconnect restores queue position from server.

Out-of-order messages

Position deltas apply only in sequence.

Concurrent join load

FIFO remains stable under a join burst.

Late join shows prior state

New queue display sees current queue length and called attendee.

Organizer pause/cancel

Paused queue blocks new joins and freezes call-next.

Results visible only after close

Final queue outcome report is hidden until close.

Idempotent join

Same attendee cannot occupy two positions.

Cross-station isolation

Meeting queue A never receives queue B calls.

Abandon and rejoin

Configured grace period restores the prior position.

SMS callback gap

EF-071 absence is explicit and does not corrupt queue state.

Stable test attributes

Visibility teeth. Each attribute must be effectively visible when active and must match the agent probes.

data-testWherePurpose
reservation-queue-stationstation shellqueue station
reservation-queue-socket-statusstation shellsocket state
reservation-queue-join-ctaattendee surfacejoin queue
reservation-queue-positionattendee surfaceposition display
reservation-queue-listorganizer surfacequeue list
reservation-queue-call-next-ctaorganizer surfacecall next
reservation-queue-sms-gap-panelgap panelSMS callback gap

Agent test plan

- reservation-queue-opens
- reservation-queue-joins
- socket-reconnect
- out-of-order-position
- load-stable
- late-join
- organizer-pause
- queue-report-after-close
- idempotent-join
- cross-station-isolation
- abandon-rejoin
- sms-gap