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.
Requested. Staff take a call, or a rider books in the app. Pickup, destination, time, mobility options and one companion are entered.
Needs info. Staff ask for anything missing, such as weight for a stretcher or an oxygen supply, by SMS or in-app message.
Confirmed. A dispatcher confirms. The fare is set and a 6-digit pickup code is texted to the rider or caregiver.
Claimed. The ride is posted to the driver board. The first qualified driver to claim it gets it.
Onboard. At pickup the rider gives the code, the driver enters it, and the server checks it.
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.
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.
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.


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.
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.
| Role | Can do |
|---|---|
| Booking agent | Register riders, book rides, message riders |
| Dispatcher | Confirm rides, assign or reassign drivers, handle exceptions |
| Billing officer | Run government invoices and ledgers, record payments |
| Regional admin | All of the above for one region, plus driver approvals and pricing |
| Principal | Read-only view of every region and all reports |
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 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.

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-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


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.
Cycle closes every 14 days or monthly, as set by a billing officer.
Ride ledger lists every completed, late-cancelled and no-show ride: rider and NHIS number, route, options, driver, verified pickup, GPS arrival and fare.
Invoice sent by email with the ledger as PDF and Excel, plus a MoMo payment link.
Paid. MoMo payments are marked automatically; bank transfers are recorded by staff. Reminders follow unpaid invoices.
| Fare part | How it works (amounts in GH₵, set by Aba) |
|---|---|
| Base fare | Fixed amount per trip |
| Distance | Rate per km from Google route distance |
| Time | Rate per minute of estimated drive time |
| Mobility | Flat surcharge per option |
| Waiting | Per minute after a free grace period |
| Companion | No charge, one allowed |
| No-show | Full 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.
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
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.
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.