slot_snapshot.py 797 B

12345678910111213141516171819202122232425
  1. from sqlalchemy import Column, Integer, String, DateTime, Enum, JSON
  2. from datetime import datetime
  3. from app.core.database import Base
  4. class VasSlotSnapshot(Base):
  5. __tablename__ = "vas_slot_snapshot"
  6. id = Column(Integer, primary_key=True, autoincrement=True)
  7. country = Column(String(100), nullable=False)
  8. city = Column(String(100), nullable=False)
  9. visa_type = Column(String(100), nullable=False)
  10. routing_key = Column(String(255), nullable=False)
  11. availability_status = Column(
  12. Enum('None','Available','Waitlist'),
  13. nullable=False
  14. )
  15. earliest_date = Column(DateTime)
  16. availability = Column(JSON, nullable=False)
  17. snapshot_source = Column(Enum('worker','manual','sync'), nullable=False)
  18. snapshot_at = Column(DateTime, nullable=False)