Repository navigation
v2.0.0
Trip lifecycle and pickup ETA.
- New trip states
arrivedandin_tripbetweenen_routeandcompleted(Alembic0002; the downgrade folds them back intoen_routeand rebuilds the enum type). - The driver_location service advances a busy driver's trip from its position reports: first ping sets
en_route, within 40 m (L1 route distance) of the pickup setsarrived, 120 m away again setsin_trip, within 40 m of the dropoff setscompletedand releases the driver. Each hop is timestamped and recorded inevents. - Driver items carry a smoothed
speed_mpscomputed from consecutive pings. GET /rides/{id}returnsdriver_position(lat, lng, heading, speed, distance to pickup, updated_at) andpickup_eta_s= route distance / observed speed + pull-over time.- Simulated drivers drive to the pickup, wait, and continue to the dropoff; simulated riders follow the trip and only force completion after the ride window.
- Tests: full state progression through the HTTP service, ETA within 15% on a simulated grid drive, migration 0002 up and down, 75 tests total.