66 lines
2.7 KiB
Python
66 lines
2.7 KiB
Python
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)
|