Busflow Docs

Internal documentation portal

Skip to content
Reviewed 10 May 2026

Surface 4: App (xtoura-app) ​

Goal Conflict: High | Synergy: Low (currently)

DimensionAssessment
Goal ConflictHigh
SynergyLow (currently)
Busflow TouchpointBranded Passenger Portal, Digital Wallet Passes, Live ETA, Trigger-Based Automation, Passenger-facing PWA
RiskPartner feels "tricked" / sees competition

Analysis ​

This is the hard one. The xtoura-app is a "marketing app transitioning to a digital trip experience." Busflow's H1 roadmap includes a Branded Passenger Portal (PWA) and multiple passenger-facing features that directly overlap:

xtoura-app (aspiration)Busflow equivalentBusflow horizon
Digital trip experienceBranded Passenger Portal[v0.2]
Push notifications / updatesTrigger-Based Automation + Dynamic Wallet Passes[v0.2]
Trip informationLive ETA Tracking[v0.2]
Marketing content / operator brandingWhite-label configuration (accent color, logo, custom domain)[v0.1]

The overlap is real and undeniable. The partner invested significantly in a product that covers a subset of what Busflow will deliver as a built-in platform feature.

Why This Conflict is Ultimately Beneficial for the Partner ​

  1. The xtoura-app is unfinished and underfunded β€” the partner cannot afford to build it out to the level Busflow delivers as standard
  2. Busflow's passenger features are deeply integrated with the operational backend (real-time booking data, live GPS, automated communications). A standalone marketing app can never achieve this depth without rebuilding the entire backend
  3. The xtoura-app has no revenue model tied to transactions β€” it generates no direct booking revenue for the operator. Busflow's Commerce context does

The Ex-Employee Solution β€” Assessment ​

  • Handing the xtoura-app to an ex-employee is a clean exit that:
    • Removes you from the competitive narrative ("we're not competing, we gave it away")
    • Gives the partner a known, trusted person to continue the relationship
    • Frees your engineering resources for Busflow
  • Risk: the ex-employee might fail, and the partner blames you anyway
  • Mitigation: frame the handoff as "giving the product the dedicated attention it deserves" rather than "abandoning it"

Integration Strategy ​

Core question: Instead of sunsetting xtoura-app, can we keep it alive (for all operators, including non-Busflow customers) while selectively surfacing Busflow capabilities to Busflow-powered operators through the xtoura-app?

The Hybrid Model ​

The idea splits the app's feature set into three tiers:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Tier 1: xtoura-only features (all operators)        β”‚
β”‚   Interactive Catalog, Checklist, Office Finder,    β”‚
β”‚   Surveys, Newsletter                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Tier 2: Busflow-enhanced features (Busflow ops)     β”‚
β”‚   Booking via Busflow widget (replaces redirect),   β”‚
β”‚   Real-time trip data from Busflow API,             β”‚
β”‚   Wallet pass deep-links                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Tier 3: Busflow-exclusive features (Busflow only)   β”‚
β”‚   Live ETA, driver GPS tracking, self-service       β”‚
β”‚   rebooking β€” these stay in Busflow Passenger Portalβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

How It Works ​

  1. xtoura-app stays alive as a standalone product for operators still using it.
  2. For Busflow operators: The xtoura-app detects (via tenant config) that the operator runs on Busflow and activates Tier 2 integrations β€” replacing the legacy booking redirect with Busflow's widget URL, pulling trip data from Busflow's API, and linking to Busflow wallet passes.
  3. The deep operational features (Live ETA, driver tracking, automated rebooking) stay exclusively in Busflow's own Passenger Portal. These require tight integration with Busflow's real-time backend and cannot be surfaced through a loosely-coupled API integration.

Integration Touchpoints (Tier 2) ​

These are the concrete integration points between xtoura-app and Busflow, ordered by effort:

1. Booking Widget URL Swap (Effort: ~1 day) ​

Current state: xtoura's BookingBlock.vue opens an external booking_url in an in-app browser. The URL is configurable per operator via the admin configurator.

Integration: For Busflow operators, set the booking_url to the Busflow booking widget URL. No code change required β€” just a configuration change in the admin interface.

Impact: Passengers browse trips in xtoura β†’ tap "Zur Buchung" β†’ land in Busflow's checkout flow β†’ Busflow handles payment, confirmation, and ticketing.

Current state: The interactive catalog has hotspots with tripId and tripDateId fields that link to xtoura's internal trip detail pages. There is also an external field for arbitrary URLs.

Integration: For Busflow operators, set hotspot external URLs to Busflow booking widget URLs (e.g., https://operator.busflow.app/book/trip-123). This lets passengers tap on catalog pages and land directly in Busflow's booking flow.

Impact: The partner's physical catalog becomes a direct acquisition funnel for Busflow bookings.

3. My Trip Data from Busflow API (Effort: ~2–4 weeks) ​

Current state: The "My Trips" feature pulls booking data from Kuschick/Turista ERPs via dedicated backend modules. This is the most complex integration.

Integration: Add a new NestJS backend module (busflow) alongside the existing kuschick and turista modules. This module calls Busflow's API to fetch booking data, documents, and trip details for passengers whose operator runs on Busflow.

Prerequisite: Busflow must expose a passenger-facing read API (GraphQL or REST) that xtoura's backend can call with a passenger token. This aligns with Busflow's API-first architecture β€” the API already exists for the Busflow Passenger Portal; xtoura reuses the same endpoints.

Impact: Busflow operators' passengers see real-time booking data in xtoura, replacing the stale Kuschick/Turista data pull.

Current state: xtoura offers PDF downloads for booking confirmations and vouchers.

Integration: For Busflow operators, replace the "Vorgangsdruck herunterladen" and "Voucherdruck herunterladen" buttons with "Zum Apple Wallet hinzufΓΌgen" and "Zum Google Wallet hinzufΓΌgen" deep links pointing to Busflow's pass generation endpoint.

Impact: A taste of Busflow's superior passenger experience β€” inside the xtoura-app.

Why This Works Strategically ​

For the Partner (Short-Term Good Faith) ​

  1. Their app investment survives. We enhance it rather than ask them to abandon it.
  2. The app improves for free. Busflow-powered operators get a better experience inside the xtoura-app without the partner writing any new code (Tier 2 integrations require minimal xtoura changes).
  3. Non-Busflow operators keep working. Operators on other systems continue using xtoura as before. No disruption.
  4. The partner controls the narrative. They tell operators: "Our app now works with Busflow too β€” you get the best of both worlds."

For Busflow (Long-Term Natural Selection) ​

  1. Low effort, high signal. The integrations above cost 1–4 weeks total. This is negligible compared to the relationship value.
  2. Busflow becomes visible inside the partner's ecosystem. Every Busflow-enhanced feature in the xtoura-app is a silent demo of Busflow's capabilities.
  3. The sunset happens naturally. Once operators experience Busflow's Passenger Portal directly (Live ETA, wallet passes, self-service rebooking), they will ask: "Why do I need two apps?" The partner does not need to be told to sunset β€” the operators will pull.
  4. The app becomes a legacy wrapper. Over 12–24 months, the xtoura-app's value proposition narrows to the unique features (Interactive Catalog, Office Finder, Surveys). These are niche β€” the ex-employee can maintain them profitably without competing with Busflow.

The Natural Evolution Timeline ​

Phase 1 (Now β†’ +3 months): Configuration-Only Integration
β”œβ”€ Swap booking_url to Busflow widget for Busflow operators
β”œβ”€ Update interactive catalog hotspots to Busflow booking URLs
└─ Effort: ~3 days, zero xtoura code changes

Phase 2 (+3 β†’ +9 months): API Integration
β”œβ”€ Add Busflow backend module to xtoura-backend-nest
β”œβ”€ Replace legacy ERP data with Busflow API data for Busflow ops
β”œβ”€ Replace PDF downloads with Wallet Pass deep links
β”œβ”€ Dependency: requires xtoura developer (ex-employee) cooperation
└─ Effort: ~2–4 weeks xtoura development

Phase 3 (+9 β†’ +18 months): Natural Sunset
β”œβ”€ Busflow Passenger Portal ships (Live ETA, self-service, etc.)
β”œβ”€ Operators compare: xtoura shows booking data; Busflow shows live GPS
β”œβ”€ Partner organically deprioritizes xtoura-app investment
└─ xtoura-app handed to ex-employee for niche maintenance

What Busflow Must Build (Our Side) ​

For this hybrid model to work, Busflow needs:

RequirementStatusNotes
Public booking widget URL (per operator, per trip)Planned (H1)Already in the Commerce pillar roadmap
Passenger-facing read API (booking data, trip details)Planned (API-first)The Passenger Portal will consume this same API
Wallet Pass generation endpoint (public URL)Planned (H1)Part of the Digital Wallet Passes feature

None of these require building anything for xtoura. They are all features Busflow builds for itself. xtoura simply consumes the public surface.

Integration Risk Assessment ​

RiskProbabilityImpactMitigation
Partner interprets Tier 2 as "Busflow taking over our app"LowMediumFrame as enhancement, not takeover. Partner controls which operators activate Busflow integration.
xtoura-app development slows to zero before Busflow Portal shipsMediumLowPhase 1 requires zero xtoura code changes. Phase 2 can wait until Busflow API is ready.
Operators prefer xtoura's familiar UI over Busflow's new portalLowLowNatural user migration takes time, which is acceptable. Both apps serve the same data.
Ex-employee refuses or fails to maintain xtouraMediumMediumOffer 6-month maintenance SLA. Document everything during Phase 2.
Partner demands Busflow features only surface through xtoura (no standalone portal)LowHighNon-negotiable: Busflow's Passenger Portal ships independently. xtoura gets the API, not exclusivity.

Feature Audit ​

For the full codebase-level technical analysis of the xtoura-app β€” system architecture, mobile app features, admin interface, backend integrations, and feature overlap assessment with Busflow β€” see the standalone reference document:

β†’ xtoura App β€” Feature Audit

Internal documentation β€” Busflow