# ✅ Food Delivery System – Module Summary & API Routes

---

## 🧱 Core Modules

### 1. User (Passport Auth)
- POST   `/api/register`
- POST   `/api/login`

---

### 2. Restaurant
- GET    `/api/restaurants`
- POST   `/api/restaurants`
- GET    `/api/restaurants/{id}`
- PUT    `/api/restaurants/{id}`
- DELETE `/api/restaurants/{id}`

---

### 3. Menu Category
- GET    `/api/menu-categories`
- POST   `/api/menu-categories`
- GET    `/api/menu-categories/{id}`
- PUT    `/api/menu-categories/{id}`
- DELETE `/api/menu-categories/{id}`

---

### 4. Menu Item
- GET    `/api/menu-items`
- POST   `/api/menu-items`
- GET    `/api/menu-items/{id}`
- PUT    `/api/menu-items/{id}`
- DELETE `/api/menu-items/{id}`

---

### 5. AddOn
- GET    `/api/item-addons`
- POST   `/api/item-addons`
- GET    `/api/item-addons/{id}`
- PUT    `/api/item-addons/{id}`
- DELETE `/api/item-addons/{id}`

---

### 6. Order
- GET    `/api/orders`
- POST   `/api/orders`
- GET    `/api/orders/{id}`
- POST   `/api/orders/{id}/cancel`

---

### 7. Driver
- GET    `/api/drivers`
- GET    `/api/drivers/{id}`
- POST   `/api/drivers`
- POST   `/api/drivers/{id}/location`
- POST   `/api/drivers/{id}/status`

---

### 8. Dispatch/Assignment
- POST   `/api/orders/{id}/dispatch`
- POST   `/api/orders/queue/process`

---

### 9. Driver Earnings
- GET    `/api/driver/earnings`
- POST   `/api/driver/earnings/{id}/paid`

---

### 10. Admin Dashboard
- GET    `/api/admin/dashboard-summary`

---

## 🔄 Phase 2: Supporting Modules

### 11. Coupon
- POST   `/api/coupons/validate`

---

### 12. Spinning Rewards
- POST   `/api/spin`
- GET    `/api/spin/history`

---

### 13. Promotions
- GET    `/api/promotions`
- GET    `/api/promotions/active`
- POST   `/api/promotions`
- PUT    `/api/promotions/{id}`
- DELETE `/api/promotions/{id}`

---

### 14. Wallet & Transactions
- GET    `/api/wallet/balance`
- GET    `/api/wallet/history`
- POST   `/api/wallet/topup`

---

### 15. Queued Orders
- GET    `/api/queued-orders`
- POST   `/api/queued-orders/queue`
- POST   `/api/queued-orders/assign`
- POST   `/api/queued-orders/cancel`

---

### 16. Reminder Calls
- GET    `/api/reminder-calls`
- POST   `/api/reminder-calls`
- POST   `/api/reminder-calls/{id}/called`
- POST   `/api/reminder-calls/{id}/cancel`

---

✅ All routes are secured under `auth:api` unless public (like register/login).