slot_snapshot.py 845 B

12345678910111213141516171819202122232425
  1. from sqlalchemy import Column, Integer, String, DateTime, Enum, JSON, Text
  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. website = Column(Text, nullable=False)
  16. earliest_date = Column(DateTime)
  17. availability = Column(JSON, nullable=False)
  18. snapshot_source = Column(Enum('worker','manual','sync'), nullable=False)
  19. snapshot_at = Column(DateTime, nullable=False)