from pydantic import BaseModel from typing import Optional class Sector(BaseModel): id: str name: str = "Alpha" power: float = 43.0 gain: float = 8.0 height: float = 30.0 frequency: float = 1800.0 azimuth: float = 0.0 beamwidth: float = 65.0 tilt: float = 0.0 antenna_type: str = "directional" class Site(BaseModel): id: str name: str lat: float lon: float height: float = 30.0 power: float = 43.0 gain: float = 8.0 frequency: float = 1800.0 antenna_type: str = "omni" azimuth: Optional[float] = None beamwidth: Optional[float] = None tilt: Optional[float] = None color: str = "#ef4444" visible: bool = True notes: Optional[str] = None equipment: Optional[str] = None sectors: list[Sector] = []