How fare is calculated
The driver app shows a current fare that is built from trip base price, distance (when the ride is in progress), and waiting time charges. Configure base prices and waiting time rules below so the meter and completed bookings use the correct amounts.
Formula
- Estimated fare (before ride): from service type and journey (base + distance).
- Running fare (during ride):
base_price + (actual_distance_km × price_per_km) + total_waiting_charge. - Waiting charges: pre-ride and during-ride waiting use the rules defined in Waiting Time settings.
Service types (base & rate)
Base price modifier and price multiplier per service. Bookings store base_price and price_per_km; the driver app uses these for the live meter when the ride is in progress.
| Service | Base mod. | Multiplier |
|---|---|---|
| Airport Transfer | 0.00 | 1.00 |
| Hotel Transfer | 0.00 | 1.00 |
| Holiday & Event Transfer | 0.00 | 1.05 |
| Business Transfer | 15.00 | 1.15 |
| Local Taxi Service | 0.00 | 1.00 |
Waiting time
Free minutes and charge per minute for pre-ride (at pickup) and during-ride (customer stops). The driver app starts/stops waiting from the booking screen; charges are applied using these rules.
Waiting time settingsDriver app behaviour
- Compact meter (booking details): polls
GET /api/driver/bookings/{id}/current-fareevery 10 seconds. - Live meter: sends
POST /api/driver/bookings/{id}/update-distancewithactual_distance_km; backend updates distance and can recalculate total_fare from base + distance + waiting. - After Complete ride, the booking shows trip total, waiting time summary, and charges; final total is stored on the booking.