Feature Subsets: Modular Go-To-Market Packaging β
Status: ACTIVE // DRAFT
Busflow's Modular Monolith architecture β with strictly segregated Bounded Contexts (Backoffice, Commerce, Operations, Communications) communicating via domain events β natively supports developing and offering independent feature subsets. This document maps each commercial product subset to its authoritative domain documentation, enabling "wedge" sales to Legacy Operators without requiring a full-platform migration on day one.
IMPORTANT
This document is a routing table, not a specification. Each feature links to its authoritative source. Do not duplicate domain definitions here β update the source docs and keep this index in sync.
Subset Overview β
| # | Subset | Primary Context | Wedge Target | Horizon |
|---|---|---|---|---|
| 1 | E-Commerce & Revenue Engine | Commerce | Patchwork Operators lacking online sales | [v0.1]β[v0.2] |
| 2 | Digital Fulfillment & Premium Passenger Experience | Commerce + Communications | Operators sending PDF tickets via email | [v0.1]β[v0.2] |
| 3 | Driver-First Execution Hub | Operations | Operators with clipboard-based fleet execution | [v0.2]β[future] |
| 4 | Crisis Management & Automated Communications | Communications | Operators drowning in WhatsApp/email chaos | [v0.2]β[future] |
| 5 | AI-Powered Backoffice | Backoffice | Operators drowning in manual data entry | [v0.2]β[future] |
| 6 | Kalkulations- & Finance Engine | Backoffice + Commerce | Operators lacking margin visibility and tax automation | [v0.2]β[future] |
Inter-Context Dependencies β
Each subset maps to one primary Bounded Context but may consume events or read models from others. The table below tracks these cross-context requirements so engineering and sales teams understand what ships independently and what requires co-deployment.
| Subset | Required Contexts | Key Domain Events Consumed | Notes |
|---|---|---|---|
| 1. E-Commerce Engine | Commerce, Backoffice (upstream) | TripPublished, PriceMatrixPublished | Backoffice owns product data; Commerce owns checkout. The engine requires published tours to sell. |
| 2. Digital Fulfillment | Commerce, Communications | BookingConfirmed, ServiceLegDelayed | Wallet pass generation is Commerce; dynamic delay updates route through Communications. |
| 3. Driver Hub | Operations, Backoffice (upstream) | TripAssigned, CrewScheduleUpdated | Receives dispatch assignments from Backoffice. Emits ExpenseSubmitted, OnboardSaleRecorded back to Commerce. |
| 4. Crisis Communications | Communications, Operations (upstream) | IncidentCreated, ServiceLegDelayed | Operations produces the incidents; Communications delivers the broadcasts. |
| 5. AI Backoffice | Backoffice | β (self-contained) | Emits TripPublished downstream but does not consume cross-context events. |
| 6. Kalkulations-Engine | Backoffice, Commerce (downstream) | BookingConfirmed, ExpenseSubmitted, OnboardSaleRecorded | Backoffice owns cost planning (CostingSheet) and price generation (PriceMatrix). Commerce owns post-departure actuals (FinancialLedger). |
See event-catalog.md for the full event registry and domain-driven-design.md Β§8 for the context map.
1. E-Commerce & Revenue Engine β
For operators whose legacy software lacks modern online sales capabilities β a "Shopify for Bus Tours" that instantly boosts conversion rates.
Primary Context: Commerce Β· Wedge Target: Patchwork Operators Β· Horizon: [v0.1]β[v0.2]
| Feature | Horizon | Authoritative Source |
|---|---|---|
| High-Conversion Booking Widget β Fast, SEO-optimized, embeddable checkout with frictionless guest checkout. | [v0.1] | PRODUCT_project-scope.md Β§V0.1 Β· differentiators.md Β§1 |
| Interactive Seat Selection β Visual seat maps where seats are database-locked for the duration of the checkout session. | [future] | domain-model.md β SeatReservation Β· ADR-013 |
| Modern Payment Stack β Localized gateways via Mollie handling Apple Pay, Google Pay, Klarna (BNPL), and SEPA, alongside automated deposit and final balance logic. | [v0.1] | PRODUCT_mollie-integration.md Β· domain-model.md β Payment |
| B2B Agency Portal β A white-label API portal allowing partner travel agencies to book directly on commission. | [v0.2] | domain-model.md β Reseller Β· user-journeys.md β Journey 4 |
NOTE
Open item: SB-3 tracks the agency commission β margin interplay β this needs an ADR when channel pricing (Pricing Hierarchy Level 2/3) begins.
2. Digital Fulfillment & Premium Passenger Experience β
Elevates the customer journey to airline standards and drastically reduces inbound support calls.
Primary Context: Commerce + Communications Β· Wedge Target: Operators sending PDF tickets Β· Horizon: [v0.1]β[v0.2]
| Feature | Horizon | Authoritative Source |
|---|---|---|
| Passwordless Passenger Portal β A "Magic Link" hub where passengers retrieve PDFs, manage bookings, and make self-service balance payments. | [v0.2] | STRATEGY_platform-vision.md Β§H1 Β· user-journeys.md β Journey 3 |
| Dynamic Digital Ticketing β Automated Apple and Google Wallet passes that update dynamically on delays. | [v0.1] | domain-model.md β Ticket Β· user-journeys.md β Journey 2 |
| Live ETA Tracking β A secure "Where is my Bus?" web link providing passengers with live maps and exact arrival times. | [v0.2] | domain-model.md β TelemetryPoint, RouteWaypoint Β· event-contracts-operations.md Β§Consumer ETA Tracking |
NOTE
Live ETA Tracking depends on the TelemetryPoint high-frequency GPS ingestion pipeline. See domain-driven-design.md Β§5 for the fast-ingest architecture.
3. Driver-First Execution Hub β
Even if a legacy system handles bookings, this mobile-first ecosystem modernizes fleet execution, eliminates clipboards, and attracts digitally native drivers.
Primary Context: Operations Β· Wedge Target: Operators with clipboard-based execution Β· Horizon: [v0.2]β[future]
| Feature | Horizon | Authoritative Source |
|---|---|---|
| Offline-First Driver PWA β A mobile app functioning fully offline, featuring QR-code boarding and digital passenger manifests. | [v0.2] | domain-model.md β BoardingEvent Β· domain-model.md Β§Offline Sync Β· offline-sync-protocol.md |
| Onboard POS (Bordverkauf) β A tap-to-add interface for selling snacks or upsells mid-trip, utilizing digital payment links or cash. | [v0.2] | domain-model.md β OnboardSale Β· user-journeys.md β Journey 3 |
| AI Receipt Capture β Native camera OCR that extracts fuel and toll receipt data, instantly pushing it back to accounting. | [v0.2] | domain-model.md β ExpenseReceipt Β· event-catalog.md β ExpenseSubmitted |
NOTE
The V0.1 scope (PRODUCT_project-scope.md) defers the full PWA Driver App to V0.2+, recommending "simple mobile web for now if needed." The features above represent the target-state architecture; initial delivery will likely start with a simplified mobile web interface.
4. Crisis Management & Automated Communications β
An intelligent communication wrapper that solves the WhatsApp and email chaos plaguing dispatchers during day-of-departure crises.
Primary Context: Communications Β· Wedge Target: Dispatchers managing crises via personal WhatsApp Β· Horizon: [v0.2]β[future]
| Feature | Horizon | Authoritative Source |
|---|---|---|
| Omnichannel Inbox β Consolidates WhatsApp, Email, and SMS into a single dispatcher UI, utilizing AI to draft contextual responses. | [v0.2] | domain-model.md Β§Communications Β· communications.md |
| 1-Tap Incident Reporting β Drivers drop a GPS pin to report traffic or breakdowns, triggering a high-priority alert to the back office. | [v0.2] | domain-model.md β Incident Β· event-catalog.md β IncidentCreated |
| Proactive Crisis Broadcasts β Incident reports trigger AI-drafted WhatsApp broadcasts to waiting downstream passengers. | [v0.2]β[future] | event-catalog.md β IncidentCreated Β· user-journeys.md β Journey 2 |
| Trigger-Based Automation β Event-driven messages like T-24h pre-trip reminders and automated review requests post-trip. | [v0.2] | domain-model.md β NotificationTemplate Β· workflow-orchestration.md |
NOTE
The broadcast pipeline itself (IncidentCreated β WhatsApp) targets [v0.2]. STRATEGY_platform-vision.md tags the "Crisis Agent" β which AI-drafts messages autonomously β as [future]. Initial delivery requires dispatcher-authored or template-based messages with manual approval.
5. AI-Powered Backoffice β
For operators drowning in manual data entry β AI tools that halve operational overhead without touching their existing booking or accounting systems.
Primary Context: Backoffice Β· Wedge Target: Patchwork Operators doing manual PDF transcription Β· Horizon: [v0.2]β[future]
| Feature | Horizon | Authoritative Source |
|---|---|---|
| "Magic Upload" Parser β An AI engine that ingests unstructured partner PDFs and instantly extracts dates, waypoints, and descriptions to auto-draft structured tours. | [v0.2] | domain-model.md β TourTemplate Β· differentiators.md Β§2 Β· STRATEGY_platform-vision.md β Upload Agent |
| Compliance Copilot β A background engine that monitors EU 561/2006 driving and rest hours, flagging violations before dispatch. | [v0.2]β[future] | domain-model.md β CrewDutyLog Β· domain-model.md Β§Compliance Rules Boundary Β· differentiators.md Β§2 |
IMPORTANT
Compliance Copilot phased delivery: Phase 1 provides heuristic warnings based on the single-timestamp CrewDutyLog model (11h daily rest check). Phase 2 introduces the full DutyActivity entity with duration-based logging and source-agnostic compliance evaluation via a stateless ComplianceEvaluator domain service β enabling deterministic dispatch blocking. See EU-561 research Β§6.
6. Kalkulations- & Finance Engine β
Full-cycle tour profitability β from pre-departure cost planning (Vorkalkulation) through dynamic pricing to post-departure Soll/Ist reconciliation (Nachkalkulation) and tax-compliant export.
Primary Context: Backoffice + Commerce Β· Wedge Target: Operators lacking margin visibility and tax automation Β· Horizon: [v0.2]β[future]
| Feature | Horizon | Authoritative Source |
|---|---|---|
| Cost Planning (Vorkalkulation) β Aggregates own costs and third-party procurement via Supplier/Allotment, applies FX risk buffers, and validates break-even thresholds. | [v0.2] | domain-model.md β CostingSheet Β· kalkulations-engine.md Β· ADR-006 |
| Dynamic Price Generation (Preisgestaltung) β Generates a full PriceMatrix with demographic, seasonal, and early-bird variants from the cost base, applying operator-defined margin rules. | [v0.2] | domain-model.md β PriceMatrix Β· kalkulations-engine.md |
| Β§ 25 UStG Tax Automation β Automatically discriminates Eigenleistung (standard VAT) from Fremdleistung (margin taxation) based on Supplier linkage, producing compliant TaxLedgerEntries. | [v0.2]β[future] | domain-model.md β TaxLedgerEntry Β· ADR-012 |
| Post-Departure Reconciliation (Nachkalkulation) β Auto-creates a per-departure profitability ledger aggregating actual revenues and expenses, computing Soll/Ist deltas for cost, revenue, and margin. | [v0.2]β[future] | domain-model.md β FinancialLedger Β· ADR-002 |
| DATEV Export & Period Locking β Generates DATEV-compliant CSV exports and enforces immutable period locks to prevent post-export mutations. | [future] | domain-model.md β LedgerPeriodLock Β· user-journeys.md β Journey 6 |
GTM Wedge Strategy β
The modular monolith's event-driven boundaries enable selling individual subsets as "wedge" products to legacy operators. The system seamlessly imports existing data while proving the platform's value before a full migration.
| Entry Point | Target Pain | Expansion Path |
|---|---|---|
| E-Commerce Engine (Subset 1) | "We have no online booking" | Operator sees conversion data β adopts Digital Fulfillment (2) β adopts Kalkulations-Engine (6) for margin control |
| Driver Hub (Subset 3) | "Our drivers hate clipboards" | Drivers adopt the app β dispatchers see real-time data β adopt Crisis Communications (4) β full platform |
| Magic Upload (Subset 5) | "We spend 2 hours per tour typing from PDFs" | Backoffice efficiency β operator publishes tours β needs a booking engine (1) β full platform |
| Kalkulations-Engine (Subset 6) | "We don't know our real margins until it's too late" | GF gains margin visibility β wants automated booking (1) β wants automated comms (4) β full platform |
See PRODUCT_migration-and-onboarding.md for the zero-downtime migration pipeline and concierge onboarding strategy that supports wedge-to-platform expansion.