# services/external/app/schemas/city_data.py
"""
City Data Schemas - New response types for city-based operations
"""

from pydantic import BaseModel, Field
from typing import Optional


class CityInfoResponse(BaseModel):
    """Information about a supported city"""
    city_id: str
    name: str
    country: str
    latitude: float
    longitude: float
    radius_km: float
    weather_provider: str
    traffic_provider: str
    enabled: bool


class DataAvailabilityResponse(BaseModel):
    """Data availability for a city"""
    city_id: str
    city_name: str

    weather_available: bool
    weather_start_date: Optional[str] = None
    weather_end_date: Optional[str] = None
    weather_record_count: int = 0

    traffic_available: bool
    traffic_start_date: Optional[str] = None
    traffic_end_date: Optional[str] = None
    traffic_record_count: int = 0
