File size: 1,830 Bytes
13933bf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from app.database.database import Base
class VisitorLog(Base):
__tablename__ = "visitor_log"
sl_no = Column(Integer, primary_key=True, index=True, autoincrement=True)
full_name = Column(String(255), nullable=False)
email_address = Column(String(255), nullable=False)
phone_number = Column(String(20), nullable=False)
company_name = Column(String(255), nullable=True)
qid_id_number = Column(String(50), nullable=True)
purpose_of_visit = Column(String(500), nullable=False)
person_to_meet = Column(String(255), nullable=False)
preferred_datetime = Column(DateTime, nullable=False)
reference_number = Column(String(50), unique=True, nullable=False, index=True)
# Relationship with MeetingStatus
meeting_status = relationship("MeetingStatus", back_populates="visitor_log")
class MeetingStatus(Base):
__tablename__ = "meeting_status"
sl_no = Column(Integer, primary_key=True, index=True, autoincrement=True)
reference_number = Column(String(50), ForeignKey("visitor_log.reference_number"), nullable=False, unique=True)
status = Column(String(50), nullable=False)
email_send = Column(String(10), nullable=True) # Assuming this is a Yes/No or similar status
# Relationship with VisitorLog
visitor_log = relationship("VisitorLog", back_populates="meeting_status")
class PersonToMeet(Base):
__tablename__ = "person_to_meet"
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
name = Column(String(255), nullable=False)
phone_number = Column(String(20), nullable=False, unique=True)
department = Column(String(255), nullable=False)
email_id = Column(String(255), nullable=False)
|