Order batching and courier assignment
Your task
Design the order-batching and courier-assignment engine for a food-delivery marketplace handling 500k concurrent orders at dinner peak. The engine must assign couriers to orders (and batch multiple orders onto one courier) while balancing delivery time, courier earnings, and food freshness, recomputing assignments every few seconds as new orders and couriers arrive. Cover the data model, the assignment algorithm, and how you avoid thrashing already-committed assignments.
It covers
- Batching
- Assignment
- Optimization