import uuid from datetime import datetime from app.extensions import db class VisitRequest(db.Model): __tablename__ = "visit_requests" id = db.Column(db.String(36), primary_key=True, default=lambda: str(uuid.uuid4())) user_id = db.Column( db.String(36), db.ForeignKey("client_users.id", ondelete="SET NULL"), nullable=True, index=True, ) property_id = db.Column( db.UUID(as_uuid=True), db.ForeignKey("properties.id", ondelete="SET NULL"), nullable=True, index=True, ) message = db.Column(db.Text, nullable=False) status = db.Column(db.String(20), nullable=False, default="pending") scheduled_at = db.Column(db.DateTime, nullable=True) created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) user = db.relationship( "ClientUser", backref=db.backref("visit_requests", lazy="select") ) property = db.relationship("Property", foreign_keys=[property_id], lazy="joined")