Spaces:
Paused
Paused
File size: 1,403 Bytes
5111c4b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
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 |