Busflow Docs

Internal documentation portal

Skip to content

B2B Dashboard Screen Requirements โ€‹

1. Initialization & Onboarding (The Concierge Flow) โ€‹

  • Intent: Guide Segment 1 ("Patchwork Operator") through their fear of software via a frictionless setup wizard, replacing standard empty states.
  • Components:
    • Welcome Wizard: Step-by-step modal flow for first-time login (e.g., "Add your first Vehicle," "Connect Mollie," "Upload your first PDF").
    • Empty States: Contextual, action-oriented placeholders across all modules to prompt engagement (e.g., "No trips scheduled yet. Click here to use Magic Upload.")

2. Global Navigation & Layout โ€‹

  • Intent: Provide a persistent UX skeleton for dispatcher module switching.
  • Elements: Navigation links (Home, Magic Upload, Trips & Tours, Bookings, Fleet & Staff, Settings).
  • Utilities: Universal "Create New" action (defaults to Magic Upload), User Profile, Logout.

3. Dashboard Overview (Dispatcher Hub) โ€‹

  • Intent: Surface immediate operational states and actionable blockers for the dispatcher.
  • Components:
    • Metrics: Aggregated data on active trips today, recent Bookings, and missing resources (e.g., unassigned drivers).
    • Imminent Departures: List of upcoming Trips with status indicators (Green/Yellow) for staffing and booking completion.
    • Activity Feed: Log of recent system events, including newly approved TourTemplates and incoming Bookings.

4. "Magic Upload" Workspace โ€‹

  • Intent: Core MVP workflow handling the transition from unstructured PDF data to structured database entities (TourTemplate, Trip).
  • State 1: Dropzone UI: Drag-and-drop file ingestion.
  • State 2: Processing UI: Transitional loading state indicating AI extraction progress.
  • State 3: Split-Screen Review (Template Creation):
    • View: Left pane (original PDF) vs. Right pane (editable extracted data).
    • Data Binding: Form fields map directly to the TourTemplate entity (Title, Dates, Stops, Base Price).
    • Upsell/Add-on Management: Input fields to define optional extras (e.g., "Wine Tasting", "Extra Luggage") mapped to the template.
    • Validation: Surface EG 561/2006 compliance flags.
    • Action: Approve and save the abstract TourTemplate.
  • State 4: Scheduling & Publishing (Trip Instantiation):
    • Resource Linking: Dropdowns to assign a Vehicle (automatically linking its SeatMapLayout) and a User (Driver role).
    • Action: Publish the instantiated Trip, generate the unique booking link, and activate the B2C integration.

5. Tour & Trip Manager โ€‹

  • Intent: CRUD interface for catalog management and schedule oversight.
  • Views:
    • Templates List: Data table of abstract TourTemplates.
    • Active Trips List: Data table of scheduled Trips mapped to specific dates and resources.
  • Actions: Edit itinerary attributes (overriding AI data), adjust linked Upsells/Add-ons, toggle publish status, and retrieve B2C widget integration links.

6. Booking & Passenger CRM โ€‹

  • Intent: Financial oversight and customer service management.
  • Views:
    • Master Bookings: Table of all Bookings filtered by Trip, Date, and Mollie/Klarna payment status.
    • Passenger Manifest: Per-trip sub-view mirroring the Driver App. Displays Passenger entities, assigned seats, and Ticket QR check-in status.
    • Visual Seat Map (Dispatcher View): Interactive graphical representation of the SeatMapLayout overlaying current bookings.
  • Actions: Initiate manual refunds, execute manual seat reassignments via the visual map interface, and trigger transactional communications.

7. Fleet & Staff Management โ€‹

  • Intent: Manage foundational operational entities required for trip instantiation.
  • Vehicles: Manage Vehicle records (license plates, internal names) and link them to specific SeatMapLayout models.
  • Staff: Manage User records, contact information, and RBAC assignments (Admin vs. Dispatcher vs. Driver).

8. Settings & Integrations โ€‹

  • Intent: Operator tenant configuration, external service connections, and API surface management.
  • Components:
    • Company Profile: Branding and support endpoints injected into the B2C Widget.
    • Payments: Mollie and Klarna API key configurations and connection status.
    • Communications Connection: WhatsApp Business API connection status.
    • Communication Templates: Text editors to configure the specific content and variables of automated Email and WhatsApp notifications (e.g., booking confirmations, departure reminders).
    • Developer API Management: Interface for generating, rolling, and revoking the Operator's own system API keys to enable incoming data connections/migrations from legacy ERPs (e.g., Kuschick/Turista).

9. Out of Scope (V1.1+) โ€‹

  • Parked Features:
    • AI Copilot Chat Interface โ†’ Integrated into Dispatch Board contextual assistance (ยง10).
    • Automated CSV/DATEV Accounting Exports โ†’ Part of Financial Reconciliation module (ยง13).
    • Advanced Dynamic Compliance Resolution โ†’ Part of Dispatch Board conflict blocking (ยง10).
    • Micro-Mobility Integration (E-scooters, Uber last-mile).
    • Predictive Maintenance (IoT/OBD2).
    • Gamified driver eco-driving.

10. Intelligent Dispatch Board (Resource Roster) โ€‹

  • Intent: Provide a visual Gantt timeline for dispatchers to assign vehicles and crew to service legs, with real-time conflict detection and proactive compliance enforcement.
  • Full Specification: โ†’ dispatch-board.md
  • Components:
    • Gantt Timeline: Horizontal timeline with resource rows (vehicles, crew). Blocks represent ServiceLeg assignments with capacity badges.
    • Drag-and-Drop Assignment: Assign vehicles and drivers by dragging onto timeline gaps. System validates compliance (EG 561/2006 rest times, qualifications, maintenance) before confirming.
    • Conflict Highlighting: Real-time red/yellow indicators for rest time violations, qualification mismatches, capacity overflows, maintenance alerts, and leave conflicts.
    • Contextual Driver Warnings (Dispohinweise): Proactive badges when dragging a crew member (e.g., "Auto only", "No UK visa", "License expiring").
    • Live Updates: Hasura subscriptions push booking changes, incident alerts, ETA updates, and duty log changes to the board in real-time.

11. Passenger Reassignment View ("Umbesetzung") โ€‹

  • Intent: Enable dispatchers to move passengers between vehicles during capacity conflicts or breakdowns without losing financial or CRM data.
  • Components:
    • Split-Screen Manifest: Left panel shows source vehicle's passenger list + seat map; right panel shows target vehicle.
    • Drag-and-Drop Transfer: Individual passengers, booking groups, or entire boarding points can be dragged to the target.
    • Automatic Remapping: SeatReservation entries are re-mapped to equivalent positions on the target vehicle's seat_map_layout. All Booking, Payment, and PassengerProfile references are preserved.
    • Notification Queue: Affected passengers receive automated WhatsApp/Email notifications with updated boarding details.
    • Audit Trail: All reassignments are logged in change_events.
  • Bulk Actions: "Move Boarding Point" (transfer all pax from a stop), "Swap Vehicles" (exchange full manifests).

12. Charter Quote Pipeline (Anmietverkehr) โ€‹

  • Intent: Visual sales funnel for B2B charter requests, from inquiry to scheduled operation.
  • Components:
    • Kanban Board: Columns map to CharterQuote.status enum: DRAFT โ†’ SENT โ†’ ACCEPTED โ†’ REJECTED.
    • Quote Builder: Dispatcher enters waypoints โ†’ routing service calculates distance, travel time, and Leerkilometer (empty runs). Costing engine pulls real-time diesel costs and applies B2B markup.
    • Automated UID Check: For B2B quotes, system validates the reseller's VAT ID against the EU VIES database for reverse-charge compliance.
    • PDF Generation: Polished quote document generated from CharterQuote + CostingSheet data.
    • Auto-Conversion: When a quote status moves to ACCEPTED, the system generates a TourOffering and places it on the Dispatch Board for resource assignment.

13. Financial Reconciliation & Bank Import โ€‹

  • Intent: Automate payment matching and provide Soll/Ist margin analysis per departure.
  • Components:
    • Bank Statement Import: MT940/CAMT/SEPA file upload. Parser extracts transaction data (amount, reference, date, counterparty).
    • Auto-Matching Algorithm: System matches incoming payments to Booking or Invoice entities by reference number (Verwendungszweck). Unmatched transactions surface in a review queue.
    • Margin Dashboard (Soll/Ist): Per-departure comparison of CostingSheet projections vs. FinancialLedger actuals. Surfaces delta for diesel, driver costs, and procurement.
    • DATEV Export: Automated CSV export of reconciled data in DATEV-compliant format for the tax advisor.
    • Color-Coded Booking Source: Booking overview uses color indicators for origin channel: ๐ŸŸข B2C Widget, ๐ŸŸก B2B Agency, ๐ŸŸ  Manual Entry, ๐Ÿ”ต Phone/CTI.

Internal documentation โ€” Busflow