Omevision · Unification Plan for Sunbenc
Platform Unification Plan · Sunbenc × Omevision

Unifying Eswatini's Travel Operations

How Omevision is bringing Sunbenc's travel operations together — collapsing three disconnected applications and two databases into a single, role-aware platform built for buses, shuttles, and conductor-led commute services.

3 → 1
Applications consolidated
2 → 1
Databases unified
5
Operator roles, one app
2
Operating modes built in
The Current State

Operations are fragmented across multiple systems.

Each part of the operation lives in its own tool, with its own login, its own database, and its own engineering pipeline. That fragmentation has a real cost — in maintenance, in onboarding, and in the data you can't see across.

The Whole Plan, in One Picture

Before and after.

This single diagram is the entire programme. Three operator apps and two databases collapse into one role-aware mobile app, one web dashboard, and one unified Postgres. Your existing Keshless customer and vendor apps stay connected to the same database they already use today — nothing on their side changes.

TODAY Three apps, two databases Independent codebases, separate logins, no unified reporting. Owner App Flutter · fleet & drivers Conductor App Flutter · NFC · onboard tickets Association Dashboard React · taxi association web MongoDB transport ops PostgreSQL shuttle bookings Keshless Customer App passenger bookings Keshless Vendor App counter ticket sales Already integrated with PostgreSQL today CONSOLIDATE onto Postgres AFTER One unified platform One backend. One app. One source of truth — for every operator. Operator Mobile App role-aware · Expo / RN Owner Driver Conductor Assoc Web Dashboard desktop workflows fleet · compliance · admin PostgreSQL unified source of truth Keshless Customer App passenger bookings Keshless Vendor App counter ticket sales ✓ UNCHANGED — no disruption
TODAY

Three apps, two databases.

Each piece of the operation lives in its own tool with its own data store.

  • Owner App — Flutter mobile, fleet & drivers
  • Conductor App — Flutter mobile, NFC & onboard tickets
  • Association Dashboard — React web, taxi association admin
  • MongoDB — transport operations data
  • PostgreSQL — shuttle booking data
AFTER

One app. One database.

Built on a single platform that already powers Keshless Travels today.

  • Operator Mobile App — built once, knows every role: Owner, Driver, Conductor, Association Admin
  • Web Dashboard — the existing Keshless Travels dashboard, extended for fleet, compliance and live tracking
  • PostgreSQL — single unified source of truth: vehicles, trips, payments, baggage, GPS, compliance — all in one schema

What stays the same

The Keshless Customer App and the Keshless Vendor App continue to talk to PostgreSQL exactly as they do today. The API contracts they depend on stay backwards-compatible. No customer-side changes. No vendor retraining. The consolidation happens entirely on the operator side.

Inside the Unified App

One app, four operator views.

The unified mobile app isn't four apps stitched together — it's a single codebase that recognises who's logging in and shows them only what they need. Every operator, their own focused experience.

OWNER Home dashboard Fleet & vehicles Drivers & conductors Revenue & withdrawals Compliance alerts Analytics Manages the business DRIVER Today on the road Today's trip Route & next stop Live GPS check-in Profile & vehicle Drives the trip CONDUCTOR Onboard, mode-aware Open / close trip NFC tap-to-pay Manifest (Cross-Border) Boarding QR scan Baggage tag & incident The most-used role ASSOC ADMIN Association overview Member fleets Taxi ranks Compliance overview Live tracking Alerts & reports Oversees the association ONE OPERATOR APP role-aware login · single codebase · the same Postgres backend PostgreSQL
Two Modes, Two Lifecycles

The same app, two very different journeys.

A daily-commute trip and a cross-border trip share almost no operational steps. The unified app handles both natively — the conductor's screen rearranges itself to match the kind of route they're working.

MODE 01 · DAILY COMMUTE Pick-and-drop · NFC tap-and-go Short, repeated trips. No pre-booking. Conductor opens the trip when leaving the rank, takes payments onboard, closes the trip at the end of the route. START Open trip Conductor leaves rank Tap NFC or cash Each passenger pays onboard · repeats N times Close trip Auto-reconcile cash + NFC MODE 02 · CROSS-BORDER Scheduled · pre-booked · with baggage Pre-book seat Manifest ready Boarding QR Baggage tag Trip & arrive
Same app, same login. The mode flips automatically based on the route the conductor opens.
Daily commute stays offline-capable; payments queue locally and sync when connectivity returns.
Cross-border uses pre-booking, manifests, baggage QR — same data model, different surface.
Two Operating Modes

One platform. Two very different ways your operators work.

Daily commuter routes and cross-border long-distance services have nothing in common operationally — and yet they share owners, vehicles, drivers, and compliance. The unified platform handles both, natively.

MODE 01

Daily Commute

Pick-and-drop. No pre-booking. Passengers tap an NFC card or pay cash onboard, and the conductor opens the trip when leaving the rank and closes it at the end of the route — exactly like Malaysia's Touch-n-Go experience, purpose-built for khumbi operations.

  • NFC tap-to-pay or cash, recorded in real time
  • Open / close trip workflow keyed to the rank
  • Works offline, syncs when connectivity returns
  • Bluetooth thermal-printer receipts onboard
MODE 02

Cross-Border

Pre-booked seats, manual on-the-spot bookings at the terminal, baggage tagged with QR codes, passenger manifests, real-time GPS, and compliance tracking — built for the long-distance bus services running to South Africa and Mozambique.

  • Online and counter-side seat reservation
  • QR boarding scans + baggage tracking
  • Passenger manifests & incident reporting
  • Live GPS tracking visible on the dashboard
What's Being Built

Everything in the unified platform, end to end.

The programme spans backend platform, mobile application, web dashboard extensions, shared infrastructure, and the migration itself. Each line below is a concrete piece of work being delivered.

01

Backend Platform

  • Unified PostgreSQL data model spanning vehicles, operators, routes, trips, seats, bookings, passengers, payments, baggage, incidents, GPS tracking, taxi associations, ranks, and compliance & violations
  • End-to-end data migration from the existing MongoDB system, with deterministic identity preservation and rollback safety
  • Role-based access control across five operator roles and two trip modes
  • Daily compliance monitoring — license, permit, medical-certificate, roadworthy and insurance expiry tracking with proactive alerts
  • Live GPS ingestion pipeline and denormalised tracking for real-time dashboards
02

Mobile Operator Application

  • Custom-compiled mobile app supporting advanced device hardware — NFC, Bluetooth thermal printers, secure offline storage
  • NFC tap-to-pay integration on Android with Keshless-issued cards
  • Bluetooth thermal-printer support for onboard receipts (ESC/POS, matching existing field hardware)
  • QR code scanning for boarding and baggage handling
  • Full offline-first payment queue with intelligent sync, built for low-connectivity rural routes
  • Role-aware navigation — each user sees only the screens their role needs
  • Secure credential storage (device keychain) and OTP-based phone login
  • Branded to match the Keshless Travels visual identity
03

Web Operator Dashboard

  • Extension of the existing Keshless Travels dashboard to surface fleet management, compliance, association admin, and live GPS tracking
  • Owner-facing analytics, withdrawals, vehicle and driver assignment
  • Role-aware desktop workflows for every operator persona
04

Shared Platform Layer

  • Extraction of a shared SDK so the mobile app, web dashboard, and integrations all consume one source of truth for types, contracts, and authentication
  • Backwards-compatible API design — existing Keshless customer and vendor apps continue to operate with zero changes
  • Engineering documentation, internal runbooks, and operational dashboards
05

Migration, Cutover & Go-Live

  • Parallel run where legacy and new systems coexist for safety
  • Field testing with selected pilot operators and conductors
  • Operator and conductor training materials and walkthroughs
  • Cutover plan with rollback contingencies
  • Go-live support and stabilisation
  • Handover documentation and post-launch monitoring
Phased Delivery

Delivered in seven structured phases.

Each phase has a clear deliverable and a clear handover. The work moves quickly — the platform being built on is mature, the team has shipped consolidations like this before, and the programme runs against the existing Keshless Travels infrastructure rather than starting from scratch.

1
Discovery & Architecture

Confirm operational requirements with the client team, finalise the unified data model, and lock down role definitions and trip-mode behaviour.

2
Unified Backend Foundation

Build the PostgreSQL schema, migrate data from MongoDB, and ship the new API surface area covering vehicles, passengers, payments, baggage, GPS, compliance, and association management.

3
Mobile Operator Application

Build the role-aware mobile app and integrate the device-side capabilities — NFC tap-to-pay, QR scanning, Bluetooth thermal printing, and offline sync.

4
Dashboard Extensions

Surface fleet, compliance, association administration, and live tracking on the web dashboard for desktop users.

5
Pilot & Field Testing

Roll out to a hand-picked group of pilot operators and conductors. Gather real-world feedback, harden offline edge cases, refine flows that only show up in the field.

6
Training & Cutover

Train operators, drivers, conductors, and association administrators on the new platform. Run the parallel period and execute the cutover.

7
Go-Live Support

Stabilisation, support, and handover. Your team takes over with full documentation, runbooks, and monitoring already in place.

FOR YOUR BUSINESS

What it looks like for your team day-to-day.

One mobile app to install. One login per role. One unified source of truth across every operator, vehicle, and trip. Onboarding new associations and operators becomes a single workflow instead of three. The whole platform is easier to evolve once it sits on a single codebase and a single database.

1
App to install
1
Source of truth
5
Roles, all served
Operators ready to scale
STILL CONNECTED

Your existing Keshless apps don't change.

The Keshless customer app still books trips. The Keshless vendor app still sells tickets at the counter. The consolidation happens behind the scenes — the apps your customers and vendors already know stay exactly as they are today.

  • No customer-side disruption
  • Vendors keep selling tickets without retraining
  • API contracts are fully backwards-compatible