Delivery & pickup
Order, then track.
Pickup or delivery — the customer chooses. The shopkeeper sets the rules. Both sides see clear order states all the way through.

Order state machine
Every order moves through:
- PENDING — customer placed it, shopkeeper hasn't accepted yet. Customer can cancel.
- ACCEPTED — shopkeeper accepted. They're preparing it.
- READY_FOR_PICKUP or OUT_FOR_DELIVERY — depending on what the customer chose.
- COMPLETED — order is in the customer's hands. Both sides see the final state.
- REJECTED or CANCELLED — terminal alternative paths.
Notifications fire at each transition. Customers don't have to refresh.

Each pasal sets the rules
Service area, delivery times, minimum order — set per pasal. A neighborhood grocer might do a 1-km radius and only deliver after 4pm. A bigger store might cover a full city. The customer sees what's possible before they place the order.
