from sqlalchemy import Column, Integer, String, Boolean, DECIMAL, TIMESTAMP, DATE, TEXT, VARCHAR, JSON from . import Base class Customer_Customer(Base): __tablename__ = 'customer_customer' __table_args__ = {"schema": "public"} id = Column(Integer, primary_key=True, autoincrement=True, unique=False) auth_net_profile_id = Column(String, unique=True, index=True, nullable=True) account_number = Column(VARCHAR(25)) customer_last_name = Column(VARCHAR(250)) customer_first_name = Column(VARCHAR(250)) customer_town = Column(VARCHAR(140)) customer_state = Column(Integer) customer_zip = Column(VARCHAR(25)) customer_first_call = Column(TIMESTAMP()) customer_email = Column(VARCHAR(500)) customer_automatic = Column(Integer) customer_phone_number = Column(VARCHAR(25)) customer_home_type = Column(Integer) customer_apt = Column(VARCHAR(140)) customer_address = Column(VARCHAR(1000)) company_id = Column(Integer) customer_latitude = Column(VARCHAR(250)) customer_longitude = Column(VARCHAR(250)) correct_address = Column(Boolean) class Customer_Description(Base): __tablename__ = 'customer_description' __table_args__ = {"schema": "public"} id = Column(Integer, primary_key=True, autoincrement=True, unique=False) customer_id = Column(Integer) account_number = Column(VARCHAR(25)) company_id = Column(Integer) fill_location = Column(Integer) description = Column(VARCHAR(2000)) class Customer_Tank_Inspection(Base): __tablename__ = 'customer_tank' __table_args__ = {"schema": "public"} id = Column(Integer, primary_key=True, autoincrement=True, unique=False) customer_id = Column(Integer) last_tank_inspection = Column(DATE) tank_status = Column(Boolean) outside_or_inside = Column(Boolean) tank_size = Column(Integer) tank_images = Column(Integer, default=0) # Number of image sets uploaded (each set = 3 images) tank_image_upload_dates = Column(JSON, default=list) # List of upload dates for each set class Customer_Stats(Base): __tablename__ = 'stats_customer' __table_args__ = {"schema": "public"} id = Column(Integer, primary_key=True, autoincrement=True, unique=False) customer_id = Column(Integer) total_calls = Column(Integer, default=0) service_calls_total = Column(Integer, default=0) service_calls_total_spent = Column(DECIMAL(6, 2), default=0.00) service_calls_total_profit = Column(DECIMAL(6, 2), default=0.00) oil_deliveries = Column(Integer, default=0) oil_total_gallons = Column(DECIMAL(6, 2), default=0.00) oil_total_spent = Column(DECIMAL(6, 2), default=0.00) oil_total_profit = Column(DECIMAL(6, 2), default=0.00)