Two drivers answer the fare proposal; only one can receive the ride
A passenger proposes a fare, receives two counteroffers and selects one as the phone loses connectivity. The second driver changes their price while the first driver accepts another booking. A list of prices cannot resolve this moment. The product needs a current trip request, an identifiable offer, an available driver and one durable commitment that both parties can recover when their screens reconnect. That agreement is the centre of a negotiated-fare marketplace.
An inDrive-style app lets passengers propose journey terms and choose among eligible driver responses rather than accepting an opaque automatic assignment. This is independently branded software, not another platform’s network, proprietary code, licences or support service. Buyers need to decide where negotiation is permitted, which obligations the operator holds and how the accepted terms survive pickup, journey changes and payment disputes. Attractive prices alone do not establish a viable local mobility operation.
Separate a fare suggestion from a passenger proposal
The official inDrive passenger walkthrough describes proposing a fare and choosing a driver response using price, vehicle and rating information. It is a reference for the interaction model, not a specification of your launch market’s fare rules or a guarantee of lower prices. State which information is advisory and which amount becomes part of the accepted trip.
If the interface suggests an amount, explain the relevant assumptions and whether the passenger may change it. Avoid calling a recommendation a guaranteed final price. Validate permitted amounts, currencies and disclosed charge components before broadcasting the request. Toll treatment, waiting charges and payment method should not remain hidden until the driver arrives. A participant must be able to read the same terms on the offer screen and on the confirmed trip receipt.
Attach every counteroffer to a request version and an expiry
A passenger changes the destination after three drivers have responded. Those responses belong to the earlier journey, not the revised route. Preserve request versions and expire or reconfirm affected offers under the agreed rule. Each counteroffer needs its driver, amount, currency, applicable terms and validity time. Keep withdrawn, expired, selected and rejected responses distinguishable so a returning participant does not mistake old interest for present availability.
Use the server’s acceptance decision rather than a device countdown as the authority. A delayed push notification can arrive after an offer expires; opening it must show the current status instead of silently selecting another price. Keep the original response in restricted history for disputes. Test a destination edit, an expired counteroffer and an out-of-order message with the passenger and driver screens open together. The buyer should see exactly why the old response cannot be committed.
Make passenger selection a single ride commitment
Two quick taps or a retried request must not reserve two drivers. At selection, recheck the offer version, validity, driver eligibility and availability before creating one commitment identifier. Close competing offers only after the selection succeeds. If the chosen driver is no longer available, explain the failure and return the passenger to current choices rather than substituting a provider or increasing the fare without approval.
The driver also needs an unambiguous distinction between responding to a request and being selected for it. Define whether their response reserves capacity and for how long; competing requests must use the same availability rule. After reconnecting, both participants should recover the same selected vehicle, journey and fare. Rehearse simultaneous selections and duplicate network retries. A successful animation is not enough if the operations console contains two accepted trips for one passenger request.
Compare drivers without turning the cheapest offer into a safety claim
Price is one selection input, not a measure of professional suitability. Show the vehicle facts, relevant driver eligibility and rating context that the operator can substantiate. Explain sorting and any sponsored placement. Do not imply that a paid provider tier certifies safer conduct or that a high rating replaces local checks. Drivers need enough journey information to respond responsibly without unnecessary access to the passenger’s identity or private routines.
Define what competing drivers can see about each other’s offers. An unrestricted bidding feed can encourage pressure, harassment or coordinated conduct. Review offer limits, withdrawal rules and report handling for the launch market. Keep repeated declined bids distinct from misconduct evidence; not every negotiation failure deserves an account restriction. Operators should explain the basis of a decision and allow appropriate review rather than presenting an unexplained score as proof of fairness.
Protect pickup details before a driver has a confirmed reason to use them
Broadcasting a precise home address to every nearby bidder can disclose more than the negotiation needs. Decide which approximate route information is sufficient before selection and when exact pickup details become available. Restrict telephone numbers, location history and personal notes by participant role. Sensitive details should not leak through notification previews, public ratings or support exports. Retention and lawful access requirements need review for each operating market.
After cancellation, remove access that is no longer needed while preserving restricted evidence required for a legitimate investigation. A driver should not keep live location access because they once submitted an offer. Distinguish a passenger’s manually chosen pickup point from GPS position and show uncertainty where relevant. Test a withdrawn response, a blocked account and a completed ride against location permissions. Privacy failures are difficult to repair after personal data has already been distributed.
Confirm the selected driver and vehicle at pickup
The official inDrive passenger safety guidance advises checking driver and vehicle details and sharing trip information with a trusted contact. These are useful preparation references, not evidence that your app includes that company’s safety team or guarantee. Define your operator’s own incident channels, responsibilities and limits before offering safety controls.
A passenger who sees a different vehicle needs a clear way to stop the pickup and report the mismatch. Preserve the selected vehicle record and the driver’s current eligibility status rather than overwriting them with a later profile edit. The driver also needs a reviewed response to an unexpected passenger or unsafe pickup situation. Document when local emergency services should be contacted. Software can surface information and route reports; it cannot replace emergency responders or guarantee safe travel.