class OrderProduct(db.Model): __tablename__ = 'orderProducts' orderProductID = db.Column(db.Integer(), primary_key=True) orderID = db.Column(db.Integer(), db.ForeignKey('orders.orderID')) productID = db.Column(db.Integer(), db.ForeignKey('products.productID')) productQuantity = db.Column(db.Integer(), nullable=False, default=0) productStatus = db.Column(db.String(20), nullable=True)
class Product(db.Model): __tablename__ = 'products' productID = db.Column(db.Integer(), primary_key=True) productName = db.Column(db.String(64), nullable=False) productCostPrice = db.Column(db.Numeric(12, 2), nullable=False) productSellPrice = db.Column(db.Numeric(12, 2), nullable=False) productQuantity = db.Column(db.Integer(), nullable=False, default=0) productDiscount = db.Column(db.Numeric(12, 2), nullable=True, default=0)
class CashReceipt(db.Model): __tablename__ = 'cashReceipts' cashReceiptID = db.Column(db.Integer(), primary_key=True) dueOrderID = db.Column(db.Integer(), db.ForeignKey('orders.orderID')) receptionistID = db.Column(db.Integer(), db.ForeignKey('receptionists.receptionistID')) duePaidDate = db.Column(db.Date(), default=datetime.utcnow, nullable=True) duePaidAmount = db.Column(db.Numeric(12, 2), nullable=False) duePaidMode = db.Column(db.String(16), nullable=False) dueReceivedFrom = db.Column(db.String(64), nullable=False)
class Order(db.Model): __tablename__ = 'orders' orderID = db.Column(db.Integer(), primary_key=True) customerID = db.Column(db.Integer(), db.ForeignKey('customers.customerID')) orderDate = db.Column(db.Date(), default=datetime.utcnow, nullable=True) orderDiscount = db.Column(db.Numeric(12, 2), nullable=True, default=0) orderTotal = db.Column(db.Numeric(12, 2), nullable=False) orderNetPaid = db.Column(db.Numeric(12, 2), nullable=False) orderStatus = db.Column(db.String(20), nullable=True)
class Receptionist(db.Model): __tablename__ = 'receptionists' receptionistID = db.Column(db.Integer(), primary_key=True) receptionistName = db.Column(db.String(64), nullable=False) receptionistEmail = db.Column(db.String(128), unique=True, nullable=False) receptionistContact = db.Column(db.String(11), nullable=False) receptionistPassword = db.Column(db.String(128), nullable=False) receptionistDigitalSign = db.Column(db.String(64), nullable=False) receptionistRole = db.Column(db.String(64), nullable=False, default='CASHIER') receptionistStatus = db.Column(db.String(64), nullable=False, default='DEACTIVE')
class Customer(db.Model): __tablename__ = 'customers' customerID = db.Column(db.Integer(), primary_key=True) customerName = db.Column(db.String(64), nullable=False) customerEmail = db.Column(db.String(128), unique=True, nullable=False) customerContact = db.Column(db.String(11), nullable=False) customerZip = db.Column(db.String(10), nullable=False) customerCity = db.Column(db.String(20), nullable=False) customerDistrict = db.Column(db.String(20), nullable=False) customerState = db.Column(db.String(20), nullable=False) customerCountry = db.Column(db.String(20), nullable=False) customerDues = db.Column(db.Numeric(12, 2), nullable=True, default=0) customerDiscount = db.Column(db.Numeric(12, 2), nullable=True, default=0)