DoorDash orchestrates three parties: customer orders, restaurant prepares, Dasher picks up + delivers. Real-time optimization at every step.
Three-sided matching
Order timing, restaurant prep time, Dasher availability. All must align. Wrong = cold food or waiting Dasher.
Three-sided matching
Order timing, restaurant prep time, Dasher availability. All must align. Wrong = cold food or waiting Dasher.
Assignment optimization
Dasher assignment considers distance, current load, batching potential (multi-order pickups). Sub-second decisions.
ETA prediction
Restaurant prep time + Dasher travel + drop-off. Model per restaurant per hour of day. Customer-visible.
Batching
Same restaurant, similar dropoff → same Dasher picks up multiple orders. Higher earnings, lower cost, longer waits.
Real-time comms
Customer ↔ Dasher chat. Restaurant order updates. Push notifications for every state change.