Busflow Docs

Internal documentation portal

Skip to content

Visual Seat Planner

Status: Planned Goal: Consolidate the visual seat planner spec — covering the operator layout editor, the passenger-facing seat selection flow, and the real-time concurrent hold mechanics — into a single authoritative project.

Context

The visual seat planner spans three product surfaces:

#SurfaceConsumerPurpose
1Seat Map Layout EditorOperator (Workspace)Define rows, aisles, special seats, and accessibility zones per vehicle
2Passenger Seat SelectionPassenger (Booking Widget)Interactive seat pick during checkout with live hold indicators
3Dispatcher Seat ViewDispatcher (Workspace)View and manually reassign seats on the booking manifest

The SeatMap Vue component in @busflow/ui-domain renders all three surfaces. The backend stores layouts as JSONB in Vehicle.seat_map_layout and manages holds via SeatReservation with TTL alignment (see ADR-013).

Documents

No documents yet — this project is bootstrapping.

Inspirations

SourceRelevance
FareHarbor — Inventory ManagementCustom layout builder for bookable spaces, customer self-service seat selection, and per-seat ticket/pricing tiers. Closest market reference for the operator-side layout editor and passenger-facing pick flow.

Success Criteria

  • [ ] Full UX spec for all three surfaces
  • [ ] SeatMapLayout JSONB schema documented
  • [ ] SeatMap component prop contract and interaction model specified
  • [ ] Real-time concurrent hold flow (WebSocket subscription) defined end-to-end
  • [ ] Vehicle swap seat remapping algorithm integrated into spec

Internal documentation — Busflow