One price to anywhere on the route
Get on at the rank and ride to the end, or get off halfway — past the local distance it is the same fare either way. Say R30 for Midrand to Randburg.
Home / Minibus & bus
Most people on this continent travel by minibus taxi or bus, not by hailed car. The software for it did not exist, so we built it.

Midrand to Randburg is one route. The way back is another. You list the stops in the order the vehicle reaches them, and the order does the hard part.
A passenger is only ever offered a vehicle whose route reaches their pickup first and their destination after. Somebody travelling the other way simply never sees it, however close that vehicle is standing. Nobody is put on a taxi going the wrong way.
Not a meter. Three prices, exactly as a rank marshal would explain them.
Get on at the rank and ride to the end, or get off halfway — past the local distance it is the same fare either way. Say R30 for Midrand to Randburg.
Get off within the distance you set — five kilometres by default — and it is the local fare instead. Say R10. Set it to zero and everyone pays the route fare.
Where a particular leg has always cost a particular amount, set that amount. It beats both of the prices above, for that leg only.
They pick the route and confirm how many seats the vehicle has. One route at a time — a driver cannot be on two at once.
From a list of ranks, or by dropping two pins where they are standing and going. They see the fare, how far they will walk to the road, and which vehicles are still behind them.
Two people cannot take the same last seat. A cancellation, a no-show or a drop-off gives the seat back to somebody further down the road.
The system tracks how far along its own route each vehicle has travelled. Once it is past your stop you stop seeing it, instead of waiting for a taxi that has gone.
Their screen shows who to pick up next, in the order they will reach them, and who is on board in the order they get off — and whether there is cash to collect.
When the run ends, nobody is left holding a seat on a vehicle that has gone home.

A formal rank-to-rank bus can take app payments on the same road where the minibuses will only ever take cash. So the choice sits on the route, not on the company.
Put your existing routes and fares into software without changing how the rank works or who owns the vehicles.
Scheduled services with proper stations, seat counts and a fare table, plus the option to sell seats in advance.
A fixed route, a known list of passengers and a driver who can see exactly who is still to be collected.
Set up one route, one vehicle and one fare, and see how it runs.