01An order exists in three apps at once — what keeps the status honest?
One order state machine spans all three parties — placed → accepted → preparing → courier assigned → picked up → delivered — and every transition is an appended event, so customer, restaurant, and courier always read the same truth.
02The moment an order is placed, do we send a courier?
No — dispatch is timed to food readiness: predicted prep time minus courier travel time sets the assignment moment, so the courier and the food arrive at the counter together.
03Can one courier carry two orders at once?
Yes, when pickups are close and prep windows overlap — batching is allowed only while the first order’s extra ride time stays under an explicit detour cap.
04What stops a kitchen from accepting more than it can cook?
Capacity throttling — quoted prep times stretch with live queue depth, and past a cap the restaurant is auto-paused in search instead of silently drowning.
05A menu price changes while the cart is open — who wins at checkout?
The cart is re-validated against the current menu at placement: small deltas re-price with a notice, big ones ask the customer to confirm — and once placed, the price snapshot is frozen.
06A delivery fails — what does the customer get, and who pays for it?
A live-tracked order can be cancelled or refunded from any side, and the event log attributes the failure — restaurant, courier, or platform — so the refund comes out of the pocket that caused it.