Price from a route, not a flat zone fareDirections API returns real distance and time for the exact route, so the quote matches what the trip will actually cost.TRADE-OFF Every quote needs a live Mapbox call, so fare pages depend on that uptime.
Quote the fare before the ride, lock it afterRiders see a firm price before they book instead of a range, and the price locks once the trip starts so a reroute doesn't surprise them.TRADE-OFF Needs a clear policy — and UI — for what happens if the actual route differs a lot from the quoted one.
Charge in-app on completion, not after an invoicePayment captures the moment the trip ends, so there's no separate billing step and no unpaid trips to chase.TRADE-OFF Failed payments have to be handled in real time, right as a driver is waiting to be paid.