Aba·Transport

Proposal · Pixel Media Solutions · 30 September 2026

Scheduled medical transport for Ghana, run from one dispatch room

A closed booking and dispatch platform for Aba Transport. Staff take bookings by phone, confirm every detail, and post rides to qualified drivers. Every pickup is verified with a code and tracked by GPS, so each ride on the government invoice can be proven.

Launch region
Greater Accra
Starting scale
~100 riders, ~50 drivers
Operating hours
9am – 11pm
Booking window
1–7 days, recurring to 14

Four components, one shared backend

How a ride works

Every ride passes through staff review, and only a verified code starts the trip

Each status change is timestamped with the person or driver who made it. That trail is what makes a government invoice defensible.

missing detailsNeeds infoSMS or in-app threadCancelled4+ hours ahead: freeNo-show / lateBilled full fareRequestedStaff or rider appConfirmedFare + pickup codeDriver claimsTracking link sentEn route, arrivedGPS pickup zoneOnboardCode verifiedCompletedDestination reachedOn the ledgerNext government invoicePaidMoMo or transfer
Dashed arrows are exits. Cancelling 4 or more hours before pickup is free; later cancellations and no-shows are billed at the full fare.
  1. Requested. Staff take a call, or a rider books in the app. Pickup, destination, time, mobility options and one companion are entered.

  2. Needs info. Staff ask for anything missing, such as weight for a stretcher or an oxygen supply, by SMS or in-app message.

  3. Confirmed. A dispatcher confirms. The fare is set and a 6-digit pickup code is texted to the rider or caregiver.

  4. Claimed. The ride is posted to the driver board. The first qualified driver to claim it gets it.

  5. Onboard. At pickup the rider gives the code, the driver enters it, and the server checks it.

  6. Completed. GPS confirms arrival, the driver completes the ride, and it joins the next government invoice.

Why the driver enters the code

The rider holds the code and reads it out. Because the driver has to type it in, the server records a verified pickup, a trip can't start without the rider present, and the code still works if the ride is reassigned.

1

Component 1 of 4 · For staff

Booking console

Every phone booking enters here. An agent types the caller's phone or NHIS number, and the rider's home address, caregiver and mobility needs load already filled in.

Aba Transport · Booking consolesample dataPhone or NHIS number:024 555 0142Find riderRider profile (prefilled)Ama Mensah, 74NHIS no. 0123456789Phone 024 555 0142Home GA-183-8164 (pinned on map)Caregiver handles bookingKofi Mensah (son) · 020 555 0199Standing needsWheelchairWalkerActive riderNew ridePickupHome · GA-183-8164DestinationKorle Bu Teaching HospitalPickup and appointmentThu 8 Oct · 08:00Appointment 09:30Mobility optionsWheelchairOxygenStretcher+ moreCompanion (max 1): Kofi Mensah, caregiverFare estimate from rate cardSave request
Booking console with sample data. Home addresses use GhanaPostGPS digital addresses with a pin on the map.

Rider registry

Keyed on NHIS number and phone: name, date of birth, digital address, standing mobility needs and status.

Caregivers

Required when a rider's disability prevents them from booking. The caregiver's phone gets the code, messages and tracking link.

Booking rules

At least 1 day ahead, same day if pickup is 4 or more hours away, up to 7 days ahead, or 14 for a recurring series. Within 9am–11pm.

Options and companion

Wheelchair, stretcher, oxygen, walker, cane, neck brace, and more added by admins. One companion rides free.

Booking agent wearing a headset in a call centre
Staff member with a headset smiling at her screen
2

Component 2 of 4 · For dispatchers and principals

Admin and dispatch panel

The control room. Pending requests sit beside a live map of every on-shift vehicle, and each ride has its own message thread and a Confirm button.

Aba Transport · Dispatch · Greater Accrasample dataRide queueLive mapMessagesDriversPricingBillingReportsSettingsGulf of Guineaillustrative mapYaw K. · GT 4471-22To pickup: Ama MensahETA 6 min · wheelchair vanIdleTo pickupWith riderToday's pickupPending requestsPending 3Needs info 1Today 1808:00 · WheelchairAma Mensah to Korle Bu09:15 · Stretcher, oxygenKwame Asante to 37 Military10:30 · WalkerEfua Boateng to Ridge HospitalAma Mensah · Thu 8 OctCaregiver: Kofi MensahThread: 2 messages, answeredFare set from rate cardMessageConfirm ride
Dispatch panel with sample data. Vehicle positions come from the driver's phone or the vehicle's tracker, whichever is freshest.

Ride queue

Pending, Needs info, Confirmed, Today, In progress and Exceptions, such as late pickups, unclaimed rides and failed codes.

Dispatch rules

Confirmed rides go straight to the driver board. Wheelchair and stretcher rides show only to capable vans. Unclaimed rides come back to staff.

Drivers and vehicles

Sign-up approvals after in-person document checks, vehicle capabilities, tracker devices and each driver's trip history.

Reports

Ride volume, on-time pickups, riders served, invoices issued and paid, and exceptions, by region and date, with Excel and PDF export.

RoleCan do
Booking agentRegister riders, book rides, message riders
DispatcherConfirm rides, assign or reassign drivers, handle exceptions
Billing officerRun government invoices and ledgers, record payments
Regional adminAll of the above for one region, plus driver approvals and pricing
PrincipalRead-only view of every region and all reports
3

Component 3 of 4 · For drivers

Driver app

An Android app that records each ride from claim to completion. Drivers sign up in the app, then bring their documents to Aba in person to be approved.

Ride boardFirst driver to claim gets itThu 8 Oct · 08:00 pickupFrom: GA-183-8164To: Korle Bu HospitalWheelchairCompanionFare: from rate cardSkipClaim rideAt pickupArrival confirmed by GPSBooking ref ABA-10482Ask the rider or caregiverfor their 6-digit code482The trip starts only whenthe server confirms a matchStart tripTrip in progressPhone + tracker GPS recordingTo Korle Bu HospitalETA and distance from GoogleAma Mensah + 1 companionEnabled at the destinationComplete ride
Driver app screens with sample data: the ride board, pickup code entry, and a trip in progress.

Ride board

Shows confirmed rides the driver qualifies for. The first to claim a ride gets it, and the server prevents double claims and overlapping rides.

Drivers finishing a ride

Can claim a same-day ride once their drop-off is within 10–15 minutes. Idle drivers see it first.

Pickup and completion

Arrival is recorded by GPS, the trip starts only with a matching code, and Complete unlocks at the destination.

Two GPS sources

The phone and a vehicle tracker both record each trip. If a phone is switched off, the tracker still covers it, and gaps are flagged.

Wheelchair-accessible van with its side ramp lowered
4

Component 4 of 4 · For riders and caregivers

Rider app

A mobile web app riders can save to their home screen, with no app store download. Phone calls stay the main channel, and every online booking still goes through staff review.

Sign inAba Transport ridesNHIS number0123456789Phone number020 555 0199Match found, code sentNothing shows until the codesent to this phone is entered391705Sign inHello, KofiCaregiver for 1 riderAma MensahNHIS 0123456789Born 12 Mar 1952Home GA-183-8164WheelchairWalkerUpcoming rideThu 8 Oct · 08:00Confirmed · Korle BuPickup code in SMS and hereBook a rideBook a rideFor Ama MensahPickupHome · GA-183-8164DestinationKorle Bu HospitalDate and timeFri 9 Oct · 10:00Mobility optionsWheelchairOxygenCompanion: Kofi MensahStaff review before confirmingSend request
Rider app screens with sample data: sign-in, a caregiver's view of their rider, and a booking request.

Sign-in protects rider records

A rider or caregiver enters the NHIS number and phone. If both match, a one-time code is texted to that phone, and nothing is shown until it is entered. Requests are rate-limited and every sign-in is logged.

  • Book a ride with pickup prefilled from home
  • Reply to staff questions about a ride
  • See upcoming rides, pickup codes and the assigned driver
  • Track the driver live on the day
  • Cancel, with the 4-hour rule shown before confirming
  • Self-register, then wait for staff to verify the NHIS number before booking
A caregiver and an older man looking at a phone together
A woman smiling at her phone at home

Billing and pricing

The government is billed on a fixed cycle, with every ride listed as proof

Riders never pay. Each bi-weekly or monthly invoice goes to the government programme with a full ride ledger and a MoMo payment link to Aba's account.

  1. Cycle closes every 14 days or monthly, as set by a billing officer.

  2. Ride ledger lists every completed, late-cancelled and no-show ride: rider and NHIS number, route, options, driver, verified pickup, GPS arrival and fare.

  3. Invoice sent by email with the ledger as PDF and Excel, plus a MoMo payment link.

  4. Paid. MoMo payments are marked automatically; bank transfers are recorded by staff. Reminders follow unpaid invoices.

Fare partHow it works (amounts in GH₵, set by Aba)
Base fareFixed amount per trip
DistanceRate per km from Google route distance
TimeRate per minute of estimated drive time
MobilityFlat surcharge per option
WaitingPer minute after a free grace period
CompanionNo charge, one allowed
No-showFull fare if cancelled under 4 hours ahead

Uber's Accra pricing structure is the starting shape, priced higher for specialised vehicles and trained drivers. Rate cards are versioned by date and region, and any fare can be overridden with a logged reason.

Platform

One API in Aba's own AWS account serves staff, drivers and riders

Hosted in Cape Town, the AWS region closest to Ghana, and approved by Aba under the Data Protection Act. Containers are added automatically as load grows.

HTTPSHTTPS + live GPSHTTPS + SMSStaff (15–20)Booking console + admin panelReact web app on AmplifyDriversAndroid app (React Native)Phone GPS + vehicle trackerRiders and caregiversRider web app + SMSLive tracking linkAWS · Cape Town (af-south-1) · Aba Transport's own accountSign-in (Cognito)Staff roles by regionDriver and rider accountsAPIFastAPI on ECS FargateAdds containers as load growsLive updatesWebSockets + RedisPositions, ride statusPostgreSQLRDS, Multi-AZRides, ledgersS3 filesDriver papersInvoice PDFsJob queuesSQS + workersRide board, SMSSchedulerEventBridgeBilling cyclesEmail (SES)Invoice emailsAba's accountoutbound callsGoogle MapsRoutes and PlacesFares, ETAs, searchSMS gatewayGhana providerCodes and alertsVehicle trackersVendor adapterBrand to be chosenMTN MoMoCollections APIPayment links
Outside services are called only from the backend, so their keys never leave AWS.

Vehicle trackers plug in when chosen

The tracker brand isn't decided yet, so a vendor-neutral intake layer is built now. Whichever tracker Aba picks needs only one adapter. Dispatch, the map, billing and reports don't change.

Until then, a simulator feeds realistic tracker data so everything can be tested.

  • Data rich enough for audits: device, vehicle, time, position, speed, heading, ignition
  • An admin screen links each tracker to its vehicle
  • Alerts when a phone goes silent while the tracker moves, or the two disagree
  • Rider data encrypted, every access logged, admins sign in with two factors
Vendor webhookVendor platform pushesVendor APIPolled on a timerDirect device feedDecoded by TraccarDriver phoneApp GPS while on shiftVendor adapterOne per tracker brandOutputs one standardlocation recordSimulator for testingLocation mergeStores both sourcesFreshest drives mapRuns cross-checksLive mapFreshest positionRide recordProof for the ledgerAlertsPhone off, mismatch
Trackers can push data, be polled, or report directly through Traccar, an open-source gateway for hundreds of device types.

Roadmap

Phases 1 and 2 make the Accra launch

Every ride is priced and recorded from the first pilot ride, so the first invoice covers the whole pilot. Phase 0 starts now, because MTN business verification and SMS sender registration take time.

Phase 0 · SetupAWS account in Cape Town, MTN MoMo Collections registration and verification, SMS sender ID,Google Maps key, rate card numbers from Aba, tracker vendor shortlistGate: MoMo test keys issued, rate card and open questions agreedPhase 1 · Core operations (Accra pilot)Rider registry, booking console, dispatch panel with live map, driver app with ride board,pickup codes, phone GPS plus the tracker adapter layer, SMS and tracking links; every ride pricedGate: pilot rides completed end to end with verified pickup codesPhase 2 · Billing, reports and rider appVersioned rate cards, government invoices with ride ledgers, MoMo payment links, reminders,rider web app with self-registration, principal's dashboard with Excel and PDF exportsGate: first government invoice cycle issued and paidPhase 3 · GrowthContractor sign-up at scale, chosen vehicle tracker plugged in, WhatsApp messages,caller-ID rider lookup once the call centre opensGate: call centre staffed and contractor requirements setPhase 4 · National rolloutNHIS integration for rider lookup and eligibility; next regions: Ashanti, Western, NorthernEach region is added as configuration: its own admins, rate card, and drivers

Still to decide

Open questions

Billing

Start invoicing bi-weekly or monthly? Will the government pay through the MoMo link, by bank transfer, or both?

Dispatch

Post a return trip only after the outbound ride is claimed, or both at once? How long can a ride stay unclaimed before staff are alerted?

Drivers and reports

The final document list for in-person checks, the tracker brand, and the government's report template.