A ride progresses through states:
Requested: Rider asks for pickup.
Matched: Driver assigned.
Driver en route: Driver heading to pickup.
Arrived: Driver at pickup location.
In progress: Ride happening.
Completed: Destination reached, payment processed.
Each transition triggers events: notifications, location tracking mode changes, payment authorization. Use a state machine pattern with clear transitions.