vendor-selector / models.py
MakPr016
Updated
81931f5
raw
history blame contribute delete
993 Bytes
from pydantic import BaseModel
from typing import List, Optional, Dict
class SelectedVendor(BaseModel):
vendor_id: str
vendor_name: str
total_cost: float
items_count: int
item_ids: List[str]
avg_quality_score: float
class StrategyResult(BaseModel):
strategy_name: str
total_cost: float
avg_delivery_days: float
vendor_count: int
savings: float
score: float
quality_score: float
allocations: List[SelectedVendor]
class AnalysisResponse(BaseModel):
rfq_id: str
currency: str
strategies: Dict[str, StrategyResult]
recommended_strategy: str
class RFQItem(BaseModel):
id: str
inn_name: str
quantity: int
class QuoteOffer(BaseModel):
rfq_item_id: str
unit_price: float
delivery_days: int
brand: Optional[str] = None
manufacturer: Optional[str] = None
class VendorOffer(BaseModel):
vendor_id: str
vendor_name: str
rating: float
is_verified: bool
offers: List[QuoteOffer]