Initial commit: SIBU 2.0 MISSION
This commit is contained in:
23
backend/app/models/route_stop.py
Normal file
23
backend/app/models/route_stop.py
Normal file
@ -0,0 +1,23 @@
|
||||
"""Route stop junction model."""
|
||||
from sqlmodel import SQLModel, Field, Column
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from uuid import UUID, uuid4
|
||||
from sqlalchemy import DateTime, func
|
||||
|
||||
|
||||
class RouteStop(SQLModel, table=True):
|
||||
"""Route stop junction table connecting routes to their stops."""
|
||||
|
||||
__tablename__ = "route_stops"
|
||||
|
||||
id: Optional[UUID] = Field(default_factory=uuid4, primary_key=True)
|
||||
route_id: UUID = Field(foreign_key="routes.id")
|
||||
stop_id: UUID = Field(foreign_key="bus_stops.id")
|
||||
stop_order: int
|
||||
travel_time_minutes: Optional[int] = None
|
||||
stop_delay_minutes: int = 0
|
||||
is_pickup_point: bool = True
|
||||
is_dropoff_point: bool = True
|
||||
created_at: Optional[datetime] = Field(sa_column=Column(DateTime, server_default=func.now()))
|
||||
|
||||
Reference in New Issue
Block a user