"""Bus schedule model.""" from sqlmodel import SQLModel, Field, Column from datetime import datetime, time from typing import Optional from enum import Enum from uuid import UUID, uuid4 from sqlalchemy import DateTime, func class BusScheduleType(str, Enum): """Schedule type enumeration.""" WEEKDAY = "weekday" WEEKEND = "weekend" HOLIDAY = "holiday" class BusSchedule(SQLModel, table=True): """Bus schedule model.""" __tablename__ = "bus_schedules" id: Optional[UUID] = Field(default_factory=uuid4, primary_key=True) route_id: UUID = Field(foreign_key="routes.id") departure_time: time frequency_minutes: Optional[int] = 30 schedule_type: BusScheduleType = BusScheduleType.WEEKDAY is_active: bool = Field(default=True) is_published: bool = Field(default=False) notes: Optional[str] = None created_at: Optional[datetime] = Field(sa_column=Column(DateTime, server_default=func.now()))