Spaces:
Paused
Paused
| from pydantic import BaseModel | |
| from typing import Dict, List | |
| from datetime import datetime | |
| from decimal import Decimal | |
| class TopSellingItem(BaseModel): | |
| item_name: str | |
| quantity_sold: int | |
| total_revenue: float | |
| class DailyReport(BaseModel): | |
| date: str | |
| total_sales: int | |
| total_revenue: float | |
| top_selling_items: List[TopSellingItem] | |
| class DailyBreakdown(BaseModel): | |
| date: str | |
| revenue: float | |
| class WeeklyReport(BaseModel): | |
| period: str | |
| total_sales: int | |
| daily_breakdown: List[DailyBreakdown] | |
| # Future report models | |
| class SalesReport(BaseModel): | |
| total_sales: Decimal | |
| sales_by_category: Dict[str, Decimal] | |
| sales_by_item: Dict[str, Decimal] | |
| sales_by_hour: Dict[int, Decimal] | |
| average_order_value: Decimal | |
| peak_hours: List[int] | |
| period_start: datetime | |
| period_end: datetime | |
| class InventoryReport(BaseModel): | |
| items_in_stock: Dict[str, int] | |
| low_stock_items: List[str] | |
| out_of_stock_items: List[str] | |
| total_inventory_value: Decimal | |
| last_updated: datetime | |
| class PerformanceMetrics(BaseModel): | |
| order_fulfillment_time: Dict[str, float] # avg time in minutes by order type | |
| server_performance: Dict[str, Dict[str, float]] # metrics by server | |
| customer_satisfaction: float | |
| busy_periods: List[Dict[str, str]] | |
| period_start: datetime | |
| period_end: datetime |