# ================================================================ # services/data/app/schemas/external.py # ================================================================ """External API response schemas""" from pydantic import BaseModel from datetime import datetime from typing import Optional, List class WeatherDataResponse(BaseModel): date: datetime temperature: Optional[float] precipitation: Optional[float] humidity: Optional[float] wind_speed: Optional[float] pressure: Optional[float] description: Optional[str] source: str class WeatherForecastResponse(BaseModel): forecast_date: datetime generated_at: datetime temperature: Optional[float] precipitation: Optional[float] humidity: Optional[float] wind_speed: Optional[float] description: Optional[str] source: str class TrafficDataResponse(BaseModel): date: datetime traffic_volume: Optional[int] pedestrian_count: Optional[int] congestion_level: Optional[str] average_speed: Optional[float] source: str class LocationRequest(BaseModel): latitude: float longitude: float address: Optional[str] = None class DateRangeRequest(BaseModel): start_date: datetime end_date: datetime class HistoricalTrafficRequest(BaseModel): latitude: float longitude: float start_date: datetime end_date: datetime class HistoricalWeatherRequest(BaseModel): latitude: float longitude: float start_date: datetime end_date: datetime class WeatherForecastRequest(BaseModel): latitude: float longitude: float days: int