Spaces:
Paused
Paused
| from pydantic import BaseModel | |
| from typing import List, Optional | |
| from datetime import datetime | |
| from enum import Enum | |
| class OrderStatus(str, Enum): | |
| PENDING = "pending" | |
| PREPARING = "preparing" | |
| READY = "ready" | |
| DELIVERED = "delivered" | |
| CANCELLED = "cancelled" | |
| class OrderItem(BaseModel): | |
| menu_item_id: int | |
| quantity: int | |
| unit_price: float | |
| notes: Optional[str] = None | |
| class Order(BaseModel): | |
| id: Optional[int] = None | |
| customer_id: int | |
| items: List[OrderItem] | |
| total_amount: float | |
| status: OrderStatus | |
| created_at: datetime | |
| updated_at: Optional[datetime] = None | |
| class OrderDetails(Order): | |
| payment_status: str | |
| server_name: str | |
| table_number: Optional[int] = None | |
| class OrderStats(BaseModel): | |
| total_orders: int | |
| total_revenue: float | |
| average_order_value: float | |
| orders_by_status: dict[OrderStatus, int] |