from sqlalchemy import Column, Integer, String, Boolean, Float, ForeignKey from sqlalchemy.orm import relationship from database import Base class TableGroup(Base): __tablename__ = "table_groups" id = Column(Integer, primary_key=True, index=True) name = Column(String, nullable=False, unique=True) prefix = Column(String, nullable=True) sort_order = Column(Integer, default=0) color = Column(String, nullable=True) tables = relationship("Table", back_populates="group") waiter_zones = relationship("WaiterZone", back_populates="group") class Table(Base): __tablename__ = "tables" id = Column(Integer, primary_key=True, index=True) number = Column(Integer, nullable=False) label = Column(String, nullable=True) group_id = Column(Integer, ForeignKey("table_groups.id"), nullable=True) is_active = Column(Boolean, default=True, nullable=False) floor_x = Column(Float, nullable=True) floor_y = Column(Float, nullable=True) group = relationship("TableGroup", back_populates="tables") orders = relationship("Order", back_populates="table")