Uber Capacity Handling
Tracking butts in seats to enable 3 party uberPOOl rides
To enable 3-party uberPOOL rides, I designed a system that would allow Uber to have an accurate understanding of how many people are in a vehicle.
|Team||Mentor, PM, 2 Engineers|
Background and Problem
In order to add a third pickup to POOL rides, Uber needs to get an understanding of how many people are being picked up at each stop. Capacity Handling will allows the system to track if each pickup has 1 person or 2 people.
People may either accidentally or purposefully select 1 rider, but then actually have 2+ people. Uber need to catch this use case and offer some forgiveness in the system.
Solution: Error Handling
The system needs to take into account situations where the user under selects the number of passengrs and the planned uberPOOL trip cannot be completed. How should the system react if the first or second party enters 1 passenger but brings 2 instead?
We need to protect both the driver and rider in this situation, and it’s best to avoid face-to-face confrontation between the driver and rider at the cost of redispatching the third pickup. In the situation below, although the 2nd party misentered the number of passengers, it puts up too much pressure on the driver to tell the 2 passengers, in person, that they cannot be picked up. The best recovery would be to pickup the 2 passengers and redispatch the 3rd pickup.
When the driver changes the number of passengers, the rider is also informed, with clear copy telling the user that if the driver made an incorrect selection, there is support available.
Testing Driver Behaviour
In the initial design of the toggle, the user selection was shown to the driver in the interest of reducing the amount of work needed from the driver. However, we were unsure whether drivers would be comfortable changing the user's input. Therefore, 2 version of the toggle were designed, where version A defaults the toggle to what the user selected, and version B requires the driver to enter the number of passengers at every pick up. If the mismatch rate between rider entry and driver entry is significantly higher in version B, then we know that drivers are resistant to changing rider entry.