invy/backend/models.py
2025-12-29 05:49:05 +02:00

35 lines
1.2 KiB
Python

from sqlalchemy import Boolean, Column, Integer, String, DateTime
from sqlalchemy.sql import func
from database import Base
class Guest(Base):
__tablename__ = "guests"
id = Column(Integer, primary_key=True, index=True)
first_name = Column(String, nullable=False)
last_name = Column(String, nullable=False)
email = Column(String, unique=True, index=True)
phone_number = Column(String)
# RSVP status: pending, accepted, declined
rsvp_status = Column(String, default="pending")
# Meal preferences
meal_preference = Column(String) # vegetarian, vegan, gluten-free, no-preference, etc.
# Plus one information
has_plus_one = Column(Boolean, default=False)
plus_one_name = Column(String, nullable=True)
# Owner tracking (who added this guest)
owner = Column(String, nullable=True) # e.g., 'me', 'fiancé', or specific name
# Additional notes
notes = Column(String, nullable=True)
table_number = Column(Integer, nullable=True)
# Timestamps
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())