Driver
Respond to open request (socket)
Driver socket: driverAcceptRide · driverCounterOffer · driverRejectRide
Customer
Last fare (for find): —
Last request_id: —
Find drivers: matched — · eligible — · notified —
After timeout / no interest — revise offer (HTTP)
POST /ride-requests/:id/revise-offer — only when status is EXPIRED / NO_DRIVER_INTEREST
Pick a driver proposal (HTTP)
POST /ride-requests/:id/select-driver — after driver accept/counter