ifixkart-backend/app/models/ServiceQuoteModel.py

21 lines
1.1 KiB
Python

from sqlalchemy import Column, String, DateTime, Integer, Numeric, ForeignKey
from sqlalchemy.sql import func
from app.core.database.db_session import Base
class ServiceJobQuote(Base):
__tablename__ = "service_job_quotes"
quote_id = Column(String(26), primary_key=True)
service_job_id = Column(String(26), ForeignKey("service_jobs.job_id"), nullable=False, index=True)
version = Column(Integer, default=1)
subtotal = Column(Numeric(10, 2), nullable=False)
tax = Column(Numeric(10, 2), default=0.00)
additional_damage_amount = Column(Numeric(10, 2), default=0.00)
total = Column(Numeric(10, 2), nullable=False)
status = Column(String(20), default="PENDING_CUSTOMER") # DRAFT, PENDING_CUSTOMER, ACCEPTED, REJECTED, EXPIRED, SUPERSEDED
reason = Column(String(500), nullable=True)
expires_at = Column(DateTime, nullable=True)
accepted_at = Column(DateTime, nullable=True)
rejected_at = Column(DateTime, nullable=True)
created_by = Column(String(26), nullable=True)
created_at = Column(DateTime, server_default=func.now())