# Hanbit Delivery Requirements

Hanbit Delivery is a food delivery service that connects neighborhood restaurants with customers.

## 1. Orders
- Customers must be able to pick menu items from a store, put them in a cart, and place an order
- Customers must be able to cancel an order until the store accepts it
- Customers must be able to check the order status (waiting for acceptance, cooking, out for delivery, delivered)

## 2. Stores and menus
- Store owners must be able to register menu items and edit their prices and descriptions
- Store owners must be able to mark a menu item as sold out when its ingredients run out
- Store owners must be able to accept or reject incoming orders
- Cooking starts when the store owner accepts an order

## 3. Payment
- The system must process payment when an order is placed
- When an order is cancelled or rejected, the payment must be refunded automatically

## 4. Delivery
- When cooking is finished, the system must assign the delivery to a nearby rider
- Riders must be able to record food pickup and delivery completion

## 5. Notifications
- When an order is accepted, the customer must be notified
- When delivery starts, the customer must be told the estimated arrival time
