/** * @Name: Common * @Creation Date: July 28 2017 * @Author: sbaireddy * @Version: 1.0 : */ export interface ICreditOption { name: string; description: string; creditType: string; default: boolean; show: boolean; } export interface IRouteInfo { path: string; title: string; icon: string; class: string; } export interface ITabInfo { path: string; title: string; class: string; key: string; } export interface IWCToken { logonId: string; password: string; userId:  number; WCToken:  string; WCTrustedToken:  string; personalizationID: string; logonTime: string; } export interface IChannel { storeId: number; name: string; active: boolean; } export interface IDormantProperties { isAdditionalTerms: boolean; isProjectOne: boolean; isSmartCredit: boolean; isSupplyChain: boolean; } export interface INotification { id: number; title: string; isRead: boolean; notification: string; isCollapsed: boolean; } export interface IAddress { addressId: number; firstName: string; middleName: string; lastName: string; address1: string; address2: string; city: string; state: string; zipCode: string; phone1: string; phone2: string; email1: string; email2: string; } export interface IDeposit { depositType: string; lineId: number; lineType: string; amount: number; } export interface ICreditLine { ecla: number; ecl: number; eclb: number; lca: number; mpec: number; financeEligibleCount: number; hideFinance: boolean; } export interface IOrderList { orders: IOrder[]; totalCount: number; isTotalGreaterThanMax: boolean; } export interface IOrder { orderId: number; fullOrderId: string; firstName: string; lastName: string; customerId: number; storeId: number; refType: string; status: string; logonId: number; createdDate: string; } export interface ISubscriber { phoneNumber: number; firstName: string; lastName: string; emailAddress: string; rateplanId: number; rateplanName: string; rateplanSOC: string; montlyPrice: number; isGSM: boolean; isPooledPlan: boolean; isVirtualDigit: boolean; isDuplicateDigit: boolean; imeiNumber: string; deviceId: number; deviceName: string; deviceSKU: string; devicePrice: number; features: IFeature[]; primaryMsisdn: number; duplicateLineMappingCount: number; isPAH: boolean; isAuthorized: boolean; isSubscriberSelected: boolean; role: string; } export interface IPreferredPrice { reasonCode: number; onTimePayment: number; remainingPayment: number; eligibleDate: string; } export interface IPromotion { promoId: string; promoCode: string; description: string; promoType: string; startDate: string; endDate: string; } // catalog data modals export interface IRateplan { productId: number; productType: string; categoryId: number; categoryName: string; name: string; description: string; rateplanSOC: string; isNCFPlan: boolean; isTaxInclusivePlan: boolean; isPooledPlan: boolean; isVirtualDigit: boolean; isDuplicateDigit: boolean; contractType: string; contractLength: number; minimumLines: number; maximumLines: number; aalFee: number; autoPayCreditLines: number; autoPayCreditAmount: number; monthlyPrice: number; // added for local use selectedLines: number; } export interface IFeature { productId: number; productType: string; categoryId: number; categoryName: string; name: string; description: string; groupName: string; subGroupName: string; featureSOC: string; isPHP: boolean; isPHPWarranty: boolean; isMandatory: boolean; conflicts: number[]; monthlyPrice: number; region: string; altSOC: string; socLevel: string; } export interface IDevice { productId: number; productType: string; categoryId: number; categoryName: string; name: string; manufacturer: string; description: string; descriptions: string[]; startDate: string; endDate: string; newPHPSOC: string; items: IDeviceItem[]; itemList: IDeviceItem[]; // local veriable for angualr2 itemIndex: number; canCompare: boolean; } export interface IAccessory { productId: number; productType: string; categoryId: number; categoryName: string; name: string; manufacturer: string; description: string; startDate: string; endDate: string; items: IAccessoryItem[]; itemList: IAccessoryItem[]; // local veriable for angualr2 itemIndex: number; canCompare: boolean; } export interface IDeviceItem { itemId: number; name: string; description: string; deviceSKU: string; isByos: boolean; sim: string; thumbNail: string; fullImage: string; colorName: string; colorImageUrl: string; isRefurbished: boolean; status: string; shipDateFrom: string; shipDateTo: string; suggestedPrice: number; instantDiscount: number; openBoxDiscount: number; promotionDiscount: number; mailInRebate: number; finalPrice: number; loan: ILoan[]; lease: ILease[]; promotions: IPromotion[]; } export interface IAccessoryItem { itemId: number; name: string; description: string; accessorySKU: string; thumbNail: string; fullImage: string; colorName: string; colorImageUrl: string; isRefurbished: boolean; status: string; shipDateFrom: string; shipDateTo: string; suggestedPrice: number; instantDiscount: number; openBoxDiscount: number; promotionDiscount: number; mailInRebate: number; finalPrice: number; loan: ILoan[]; lease: ILease[]; promotions: IPromotion[]; } export interface ILoan { crp: number; term: number; downPayment: number; monthlyPrice: number; } export interface ILease { crp: number; term: number; downPayment: number; monthlyPrice: number; residualPrice: number; } export interface IInventoryStatus { storeId: number; itemId: number; statusCode: string; quantity: number; shipDateFrom: string; shipDateTo: string; inventoryFlag: number; } export interface IFilterList { type: string; items: IFilter[]; } export interface IFilter { name: string; productIds: number[]; // for local isChecked: boolean; } export interface IMoreInfoList { productId: number; name: string; group: string; items: IMoreInfo[]; itemList: IMoreInfo[]; } export interface IMoreInfo { name: string; value: string; } export interface IException { status: any; statusText: string; type: any; url: string; _body: any; } export interface IErrorList { errors: IError[]; } export interface IError { errorKey: string; errorCode: string; errorMessage: string; errorParameters: string[]; } // cart data modals export interface IOrderItemRateplan { orderItemId: number; parentOrderItemId: number; productId: number; itemId: number; name: string; type: string; rateplanSOC: string; isNCFPlan: boolean; isTaxInclusivePlan: boolean; isPooledPlan: boolean; isVirtualDigit: boolean; isDuplicateDigit: boolean; isVirtualPlan: boolean; isLineLinkPlan: boolean; minimumLines: number; maximumLines: number; autoPayCreditAmount: number; hybridBanCreditAmount:  number; subscriberLineLevelBillCreditAmount: number; nonSubscriberLineLevelBillCreditAmount: number; monthlyPrice: number; origMonthlyPrice: number; } export interface IOrderItemFeature { orderItemId: number; parentOrderItemId: number; productId: number; itemId: number; name: string; type: string; featureSOC: string; isMandatory: boolean; monthlyPrice: number; origMonthlyPrice: number; } export interface IOrderItemFee { orderItemId: number; parentOrderItemId: number; productId: number; itemId: number; name: string; type: string; feeSKU: string; isAddALineFee: boolean; monthlyPrice: number; } export interface IOrderItemDevice { orderItemId: number; parentOrderItemId: number; productId: number; itemId: number; name: string; type: string; deviceSKU: string; activationDate: string; manufacturer: string; thumbNail: string; fullImage: string; suggestedPrice: number; instantDiscount: number; openBoxDiscount: number; promotionDiscount: number; shippingDiscount: number; mailInRebate: number; finalPrice: number; crp: number; term: number; financeType: string; downPayment: number; residualPrice: number; monthlyPrice: number; dueToday: number; minFirstInstallment: number; taxCharge: number; shippingCharge: number; shippingTax: number; sim: string; imei: string; status: string; isTradein: boolean; isSimOnly: boolean; msisdn: string; activationError: string; // local use tradeInInfo: any; } export interface IOrderItemAccessory { orderItemId: number; parentOrderItemId: number; productId: number; itemId: number; name: string; type: string; accessorySKU: string; quantity: number; manufacturer: string; thumbNail: string; fullImage: string; isMandatory: boolean; suggestedPrice: number; instantDiscount: number; openBoxDiscount: number; promotionDiscount: number; shippingDiscount: number; mailInRebate: number; finalPrice: number; crp: number; term: number; financeType: string; downPayment: number; residualPrice: number; monthlyPrice: number; dueToday: number; minFirstInstallment: number; taxCharge: number; shippingCharge: number; shippingTax: number; status: string; isFree: boolean; } export interface IPackage { packageId: number; lineId: number; packageType: string; plan: IOrderItemRateplan; device: IOrderItemDevice; features: IOrderItemFeature[]; accessories: IOrderItemAccessory[]; ppuAddress: IAddress; e911Address: IAddress; numberPorting: INumberPorting; npaNxxType: INpaNxxType; isDuplicateLine: boolean; isVirtual: boolean; primaryLine: number; primaryLineType: string; // added for local use showPackage: boolean; deleteOption: boolean; returnOrderItemId: number; origRatePlanSoc: string; } export interface INumberPorting { numberPortingId: number; phoneNumber: number; accountNumber: number; accountPin: number; } export interface INpaNxxType { npa: string; ngp: string; marketCode: string; nxx: string; zipCode: number; } export interface IPayment { ccAuthCounter: number; paymentType: string; paymentAlias: string; ccAlias: string; paymentMethod: string; cardType: string; lastFour: string; expMonth: string; expYear: string; cvv: number; amount: number; paymentAddress: IAddress; transactionId: string; fraudRequestId: string; fraudReasonCode: string; fraudCheckResult: string; cvvResponseCode: string; avsResponseCode: string; } export interface IShipping { carrier: string; shipCode: string shipModeId: number; shipModeDesc: string; quotedEstDate: string; estShipDateFrom: string; estShipDateTo: string; shippedDate: string; buyersRemorseEligible: boolean; daysPostShipment: number; inboundTracking: string; outboundTracking: string; sameAsBilling: boolean; address: IAddress; trackingStatus: string; isResendTrackingEmail: boolean; returnTracking: string; } export interface IFinance { eSignStatus: string; eSignEmai: string; installmentPlanId: string; totalFinanceMonthly: number; totalAmountFinanced: number; totalAdditionalDownpayment: number; totalDiscounts: number; totalPricingAdjustment: number; totalDownpaymentPaidToday: number; totalMinDownpayment: number; financeTerm: number; totalPurOptAmt: number; financedItems: IFinanceItem[]; } export interface IFinanceItem { financeMonthly: number; downpaymentPaidToday: number; minDownpayment: number; discounts: number; amountFinanced: number; suggestedRetailPrice: number; pricingAdjustment: number; pricePaid: number; purchaseOptAmt: number; name: number; totalItemDiscounts: number; additionalDownpayment: number; } export interface IServiceStatus { code: number; message: string; moreInfo: string; } export interface IUsableShipping { sapDownShippingNoteInfo: string; estimateShipMessage: string; sapDownShippingApology: string; sapDownShippingNote: string; usableShippingMode: IShippingMode[]; preOrderMessage: string; } export interface IShippingMode { defaultShippingEnabled: boolean; promotionMessage: string; shipModeId: number; shipModeCode: string; description: string; orderType: string; } export interface IRealtimeInventory { quoteESDFromDate: string; quoteESDToDate: string; status: string; products: IProductInventory[]; } export interface IProductInventory { mfPartNumber: string; productType: string; shipDateFrom: string; shipDateTo: string; inventoryStatus: string; availableQuantity: number; requestedQuantity: number; availability: boolean; preAuth: boolean; } export interface IOrderNotes { agentId: string; subject: string; description: string; } export interface IZipMarket { npa: string; marketCode: string; marketName: string; regionName: string; ngpNxx: INgpNxx[]; } export interface INgpNxx { ngp: string; city: string; state: string; nxx: string[]; } export interface IOrderBlock { reasonCode: number; description: string; }