Table: Customer (Personal Info.) - Account, (string) [primary key] // specified by the user creating account - Name, (string) - Street1, (string) - Street2, (string) - City, (string) - State, (string) - Zip, (number) - Phone1, (string with specific format [ Nation Code ] + [ Local Number ]) - Phone2, (string with specific format [ Nation Code ] + [ Local Number ]) - Fax, (string with specific format 3-3-4 or fixed length number) - Email, (string) - CreateDate, (date) - Status, (string, ACTIVE|INACTIVE) - Country, (string) Table: User - Login, (string), [primary key: login] // specified by user creating login - Password, (string with fixed length) - Account, (string), [foreign key: to Customers table] Table: Invoice - Invoice_Id (number, primary key) - Account (string, foreign key to Customer) - Product_Id (number, foreign key to Product or Service_Product) - Amount (number) - Bill_Date (date) - Due_Date (date) - Payment_Status(string, DUE|PAID) Table: Payment - Payment_Id (number, primary key) // counter that is incremented automatically whenever a payment is made - Invoice_Id (number, foreign key to Invoice) - Payment_Type (string, CHECK|CREDITCARD|ONLINE|OTHER) - Date (date) // date that payment was made - CreditCardNum (number) - ExpirationDate (date) - CheckNumber (number) - BankName (string) - OnlinePayementCo (string) - OnlineRefNum (string) // may consist of alphabetic as well Table: Product - Product_Id (number, primary key) // counter that is incremented automatically whenever a Product is created - Name (string) - Description (string) - Price (number) Table: Service_Detail - Product_Id (numebr, foreign key to Product) {Any service specific fields - to be determined - would go here) Table: Order - Order_Id (number, primary key) // counter that is incremented automatically whenever an order is placed - Customer_Id (string, foreign key to Customer) - Service_Id (string, foreign key to Service) - Scheduled_Date (date) // for when a service is scheduled - Completed_Date (date) // when the service event actually took place - Order_Date (date) - Shipping_Id (string) Table: LineItem: - LineItem_Id (number, primary key) // counter that is incremented automatically whenever an order is placed - Order_Id (number, foreign key to Product) - Product_Type (string, PRODUCT|SERVICE) - Quantity (number) - Amount (number) // Quantity * price of Product Table: Shipping - Shipping_Id ( string, primary key ) - Tracking_Number (string) //tracking number may be null - Shipping_Method (string ) //for example: ground shipping, 2nd air, express, or etc. - Ship_Date (date) - Arrival_Date (date) - Status (string) - Shipping_Fee (number) - Name (string) - Street (string) - City (string) - State (string) - Country (string) - Zipcode (number) - Phone (string)