/** * @Name: Cart * @Creation Date: July 28 2017 * @Author: sbaireddy * @Version: 1.0 : */ import { IPackage, IPayment, IShipping, IFinance, IPromotion, IRealtimeInventory, IServiceStatus, IOrderBlock } from './common'; import { Customer } from './customer'; /** Class representing the customer cart(order) data. */ export class Cart { orderId: number; prefix: number; status: string; refType: string; fullOrderId: string; sapOrderId: number; webOrderId: number; relatedOrderId: number; originalOrderId: number; dealerCode: string; agentDealerCode: string; companyName: string; corpNode: string; storeId: number; retailStoreId: number; createdBy: string; createdByDate: string; submittedBy: string submittedByDate: string; lastModifiedBy: string; lastModifiedByDate: string; // totals totalDueToday: number = 0; totalDueMonthly: number = 0; totalDevicesDueToday: number = 0; totalAccessoriesDueToday: number = 0; totalSSKDueToday: number = 0; totalRateplansDueMonthly: number = 0; totalFeaturesDueMonthly: number = 0; totalFinanceDueMonthly: number = 0; totalShippingDueToday: number = 0; totalDiscountDueToday: number = 0; totalAutopayDiscountDueMonthly: number = 0; totalHybridBandDiscountDueMonthly: number = 0; totalDiscountDueMonthly: number = 0; totalPromotionDueToday: number = 0; totalPromotionDueMonthly: number = 0; totalDepositDueToday: number = 0; totalTaxDueToday: number = 0; totalShippingTaxDueToday: number = 0; totalLineLevelCreditAmountDueMonthly: number = 0; totalTradeinPromotionDueMonthly: number = 0; totalFinanceAmount : number = 0; totalAdjustedDiscountDueToday: number = 0; totalAdjustedDiscountDueMonthly: number = 0; isFinancedOrder: boolean; isShopifyOrder: boolean; isBYOSOrder: boolean; isDashOrder: boolean; // customer customer: Customer; // products packages: IPackage[]; paymentInfo: IPayment; shippingInfo: IShipping; financeInfo: IFinance; promotionInfo: IPromotion[]; orderBlockInfo: IOrderBlock; realTimeInventory: IRealtimeInventory; serviceStatus: IServiceStatus; // local use activePackageId: number; activeLineId: number; taxRate: number = 0; esigEmail: string isHomeInternetOrder: boolean; }