from typing import List, Optional from pydantic import BaseModel class StationBase(BaseModel): station_hash: str operator: str station_name: str address: Optional[str] coord_x: Optional[float] coord_y: Optional[float] current_price: Optional[float] class CompetitorStation(BaseModel): station_hash: str operator: str station_name: str distance_km: float current_price: Optional[float] class GeoCompetitionResponse(BaseModel): base_station: StationBase competitors: List[CompetitorStation] ylt_price: Optional[float] min_competitor_price: Optional[float] max_competitor_price: Optional[float] cheaper_count: int same_count: int more_expensive_count: int class GeoCompetitionSummary(BaseModel): summary: str class PriceSeries(BaseModel): operator: str series: List[Optional[float]] class PriceComparisonResponse(BaseModel): hours: List[int] ylt: PriceSeries competitors: List[PriceSeries] min_diff: Optional[float] max_diff: Optional[float] avg_diff: Optional[float] class PriceComparisonSummary(BaseModel): summary: str