export declare enum TRANSACTION_TYPE { SALE = "SALE", REFUND = "REFUND", SALE_REFUND = "SALE_REFUND", SALE_EXCHANGE = "SALE_EXCHANGE", VOID = "VOID", WEB_RETURNS = "WEB_RETURNS" } export interface ItemDiscount { trnDiscountsPortion: number; trnPromotionsPortion: number; refundPortion: number; currentRefundPortion?: number; } export declare enum DELIVERY_METHODS { DELIVERY = 1, DROP_SHIP = 2, COLLECT_FROM_STORE = 3, SHIP_TO_STORE = 4 } export interface ProductChange { itemLineId?: number; SKU: string; quantity: number; selectedPrice?: number; lineDiscount?: LineDiscount; linePromotions?: LinePromotions; exchange?: Exchange; refundedQuantity?: number; refundPromotionalQuantity?: number; refunded?: boolean; refundedTotal?: number; refundedReason?: string; refundedReasonDescription?: string; isChecked?: boolean; sealed?: boolean; isLastExchanged?: boolean; } /** * Product */ export interface Product extends ProductChange { itemLineId?: number; status: number; subGroup: number; brand: string; currency: string; category: string; countryofOrigin: string; productId: string; productType: number; name?: string; imageUrls: [string]; isImageFailToLoad?: boolean; size: string; type: string; season: number; productGroup: number; styleCode: string; nodeStructure: NodeStructure[]; barcode: string; price: Price[]; colour: string; description: string; totalLinePrice: number; total: number; addedInBasket?: boolean; selectedVAT?: number; selectedVATCode?: string; selectedRRPPrice?: number; lineDiscount?: LineDiscount; exchange?: Exchange; refundPromotionalQuantity?: number; exchangeReason?: string; exchangeQuantity?: number; itemDiscounts: ItemDiscount; giftCardNumberIssued?: string; giftCardAmount?: number; giftCardRecipientEmail?: string; giftCardExpiryDate?: string; giftCardRecipientName?: string; giftCard?: boolean; discountable: boolean; excludePromotion: boolean; categories: Categories[]; descriptions: Descriptions[]; barcodes: string[]; externalId: string; createdDate: string; updatedDate: string; createdBy: string; updatedBy: string; attributes: CoreAttribute[]; id: string; long_description: string; isWebOrder?: boolean; fullfilmentId: string; fullfilmentLocationName?: string; deliveryMethod?: string; deliveryGroup?: string; selectedInventory?: InventoryInfo; leadTime?: leadTime; availableQuantity?: number; } export interface leadTime { type: string; value: string; } export interface Exchange { exchangeId: number; lineItemId: number; reason: string; quantity: number; newItems: Product[]; } export interface Categories { id: string; parentId: string; name: string; categoryId: string; status: boolean; } export interface Descriptions { name: string; countryCode: string; value: string; } export interface CoreAttribute { name: string; value: string; searchable: boolean; countryCode: string; } /** * Basket */ export interface Basket { subsidiaryId?: string; products: Product[]; transactionDiscount: any[]; quantity: number; total: number; saleTotal: number; discountTotal?: number; transactionId?: string; offlineTransactionId?: string; baseCurrency: string; basketTotal?: number; refundTotal?: number; transactionPromotion?: TransactionPromotion[]; customer?: any; exchange?: Exchange[]; inStoreFlag?: boolean; } /** * Price */ export interface Price { VAT: number; VATCode: string; salesPrice: number; currencyCode: string; RRPPrice: number; } /** * Node structure */ interface NodeStructure { status: boolean; name: string; nodeType: string; isOverride: boolean; nodeId: string; parentId: string; } /** * Line Discount */ export interface LineDiscount { itemLineId: string; discountAmount: number; discountType: string; name?: string; unitPrice: number; discountedLinePrice?: number; priceManagerOverride?: UserOverride; priceOverrideReasonCode?: string; priceOverrideReasonName?: string; priceOverrideAmount?: number; percentageDiscountManagerOverride?: UserOverride; percentageDiscountReasonCode?: string; percentageDiscountReasonName?: string; percentageDiscountValue?: number; } /** * User Override */ export interface UserOverride { userId: string; automaticApprove: string; originalUserId: string; } /** * line Promotions */ export interface LinePromotions { trigger: Trigger[]; itemLineId: number; promotionId: string; displayText: string; promotionType: string; promotionAmount: number; name: string; promotionInfo: string; promotionLinePrice: number; refunded?: boolean; } /** * trigger */ export interface Trigger { itemLineId: string; quantity?: number; totalQuantity?: number; linePromotionAmount?: number; promotionAmount?: number; refundedReason?: string; refundedReasonDescription?: string; promotionId?: string; } /** * Transaction Promotion */ export interface TransactionPromotion { displayText: string; name: string; promotionAmount: number; promotionId: string; promotionInfo: string; promotionType: string; itemLineIds: number[]; type?: string; subLevelType?: PROMOTION_LEVEL; trigger?: Trigger[]; couponCode?: string; } export interface RefundProductChange { itemLineId?: number; refundedQuantity?: number; refundedPromotionalQuantity?: number; refundTotal?: number; refundedReason?: string; refundedReasonDescription?: string; refundWithPromotion: boolean; isLastExchanged?: boolean; } export interface InventoryInfo { storeName: string; storeId: string; quantityAvailable: number; quantityRequired: number; } export interface InventoryRequestInfo extends InventoryInfo { requestedQuantity: number; requestedAction: DELIVERY_METHODS; } export interface DeliveryInfo { groups: DeliveryGroupInfo[]; } export interface DeliveryGroupInfo { groupNumber: number; items: Product[]; estimate?: Estimate; } export interface Estimate { type: string; value: string; } export interface TransactionDocument { transactionId?: string; subsidiaryId?: string; offlineTransactionId?: string; transactionRef?: string; dateTime?: string; orgCode: string; storeId: string; storeNodeId: string; storeNodeStructure: string; deviceId: string; terminalId: string; initiatingModule: string; export: boolean; userId?: string; userName?: string; customer?: Customer; basket: any; basketSummary: BasketSummary; baseCurrency: string; splitPayment?: boolean; isPaymentCompleted?: boolean; paymentDetails?: any; type?: string; operationStatus?: string; createdAt?: string; updatedAt?: string; transCompletedAt?: string; id?: string; saleTotal?: number; reasonCode?: string; reasonDescription?: string; override?: UserOverride; originalTransId?: string; originalExternalId?: string; apiResponse?: APIResponse; unreferencedRefund?: boolean; giftedReceipt?: boolean; currentTransactionDetails?: any; isChecked?: boolean; externalTransactionDetails?: externalTransactionDetails[]; refundRequest?: any[]; isInStoreOrder?: boolean; } export interface APIResponse { internalId?: number; tranid?: string; } export interface CurrentTransactionDetails { products: Product[]; lineDiscount?: LineDiscount[]; linePromotion?: LinePromotions[]; transactionPromotion?: TransactionPromotion[]; transactionDiscount?: TransactionDiscount[]; basketSummary?: BasketSummary; taxBreakdown?: TaxBreakdown; totalTaxSummary?: TotalTaxSummary[]; } export interface BasketSummary { totalItems?: number; saleTotal?: number; VATTotal?: number; discountTotal?: number; basketTotal?: number; refundTotal?: number; shippingTotal?: number; basketTotalWithShippingTotal?: number; inStore?: BasketSummaryDetails; webOrder?: BasketSummaryDetails; cnc?: BasketSummaryDetails; } export interface BasketSummaryDetails { totalItems?: number; saleTotal?: number; VATTotal?: number; discountTotal?: number; basketTotal?: number; refundTotal?: number; shippingTotal?: number; basketTotalWithShippingTotal?: number; } export interface TransactionDiscount { discountAmount: number; discountType: String; reasonCode: string; override?: UserOverride; itemLineIds?: number[]; } export interface TBasket { products: TProduct[]; lineDiscount: LineDiscount[]; exchange: Exchange[]; linePromotion: LinePromotions[]; transactionPromotion?: TransactionPromotion[]; transactionDiscount?: TransactionDiscount[]; taxBreakdown?: TaxBreakdown; totalTaxSummary?: TotalTaxSummary[]; } export interface TExchange { exchangeId?: number; lineItemId?: number; reason?: string; quantity?: number; newItems?: TNewItems[]; } export interface TNewItems { lineItemId: number; Quantity: number; } export interface TProduct { itemLineId: string; SKU: string; description: string; imageUrls: [string]; price: number; taxCode?: string; taxPercent?: string; quantity: number; refundedQuantity?: number; refundedPromotionalQuantity?: number; refunded?: boolean; refundedTotal?: number; refundedReason?: string; refundedReasonDescription?: string; selectedRRPPrice?: number; totalLinePrice: number; barCode?: string; barcodes?: string[]; flagged?: boolean; exchange?: Exchange; excludePromotion: boolean; discountable?: boolean; itemDiscounts?: ItemDiscounts; isLastExchanged?: boolean; fullfilmentId: string; fullfilmentLocationName: string; deliveryMethod?: string; deliveryGroup?: string; giftCardNumberIssued?: string; giftCardAmount?: number; giftCardRecipientEmail?: string; giftCardExpiryDate?: string; giftCardRecipientName?: string; giftCard?: boolean; currency?: string; isWebOrder?: boolean; leadTime?: leadTime; lineDiscount?: any; attributes?: CoreAttribute[]; } export interface ItemDiscounts { trnDiscountsPortion: number; trnPromotionsPortion: number; refundPortion: number; } export interface Customer { id: string; customerId?: string; title?: string; firstName: string; lastName: string; email: string; postCode: string; telephone?: string; billingAddress?: Address | Address[] | any; shippingAddress?: Address | Address[] | any; shipmentDetails?: ShipmentDetails[]; addressDetail?: string; noCustomerSelected?: boolean; externalId?: string; } export interface Address { id?: string; countryCode?: string; address1?: string; address2?: string; address3?: string; city?: string; county?: string; postCode?: string; country?: string; } export interface ShipmentDetails { id?: string; deliveryGroup?: string; } export interface PaymentDetails { cardNumber?: any; sqNo?: number; result?: string; currency: string; amount: string; authcode?: string; pan?: string; cardType?: string; transactionDate?: string; mid?: string; tid?: string; cvm?: string; hostReferenceId?: string; aid?: string; receiptNo?: string; expirydate?: string; transactionReference: string; applicationVersion?: string; entryMethod?: string; transactionType: string; totalamount: string; paymentType?: string; } export interface TaxBreakdown { taxLines: TaxLine[]; totalTaxableAmount: number; } export interface TotalTaxSummary { VATCode: string; VAT: number; PreTaxSum: number; TaxSum: number; TXrateSum: number; } export interface TaxLine { itemLineId: number; taxableAmount: number; taxLineTotal: number; VAT: number; VATCode: string; PreTax: number; } export declare enum DISCOUNTTYPE { PERCENT = "Percent", AMOUNT = "AMOUNT" } export interface TransactionInfo { shippingId?: string; externalShippingId?: string; invoiceId?: string; } export interface Coupons { name?: string; id?: string; } export interface externalTransactionDetails { uniqueId?: string; providerType?: string; details?: TransactionInfo; coupons?: Coupons[]; } export declare enum INITIATING_MODULE { EBASKET = "eBasket" } export interface pendingMethod { _type?: string; type?: string; message?: string; path?: string; details?: ShipmentId; } export interface ShipmentId { shipmentId?: string; } export interface CustomerAddress { _type?: string; email?: string; address1?: string; city?: string; country_code?: string; first_name?: string; full_name?: string; id?: string; last_name?: string; phone?: string; salutation?: string; c_area?: string; c_email?: string; c_phoneWhatsApp?: string; c_strValue?: string; postal_code?: string; } export interface CustomerInfo { _type?: string; customer_id?: string; email?: string; } export interface GroupedTaxItem { _type?: string; tax_rate?: number; tax_value?: number; } export interface additionalNotes { _type?: string; link?: string; } export interface ProductItem { _type?: string; adjusted_tax?: number; base_price?: number; bonus_product_line_item?: boolean; gift?: boolean; item_id?: string; item_text?: string; price?: number; price_adjustments?: PriceAdjustment[]; price_after_item_discount?: number; price_after_order_discount?: number; product_id?: string; product_name?: string; quantity?: number; shipment_id?: string; tax?: number; tax_basis?: number; tax_class_id?: string; tax_rate?: number; c_osuObjectData?: string; } export interface ShippingMethod { _type?: string; description?: string; id?: string; name?: string; price?: number; c_approachingThresholdMessage?: string; c_estimatedArrivalTime?: string; c_isEmail?: boolean; c_storePickupEnabled?: boolean; c_thresholdValue?: number; } export interface shipment { _type?: string; adjusted_merchandize_total_tax?: number; adjusted_shipping_total_tax?: number; gift?: boolean; merchandize_total_tax?: number; product_sub_total?: number; product_total?: number; shipment_id?: string; shipment_total?: number; shipping_address?: CustomerAddress; shipping_method?: ShippingMethod; shipping_status?: string; shipping_total?: number; shipping_total_tax?: number; tax_total?: number; c_fromStoreId?: string; } export interface ShippingItem { _type?: string; adjusted_tax?: number; base_price?: number; item_id?: string; item_text?: string; price?: number; price_after_item_discount?: number; shipment_id?: string; tax?: number; tax_basis?: number; tax_class_id?: string; tax_rate?: number; } export interface AppliedDiscount { _type?: string; amount?: number; percentage?: number; type?: string; } export interface PriceAdjustment { _type?: string; applied_discount?: AppliedDiscount; coupon_code?: string; creation_date?: string; custom?: boolean; item_text?: string; last_modified?: string; manual?: boolean; price?: number; price_adjustment_id?: string; promotion_id?: string; promotion_link?: string; } export interface OrderDetails { _v?: string; _type?: string; _resource_state?: string; _flash?: pendingMethod[]; adjusted_merchandize_total_tax?: number; adjusted_shipping_total_tax?: number; agent_basket?: boolean; basket_id?: string; billing_address?: CustomerAddress; channel_type?: string; creation_date?: string; currency?: string; customer_info?: CustomerInfo; grouped_tax_items?: GroupedTaxItem[]; last_modified?: string; merchandize_total_tax?: number; notes?: additionalNotes; order_price_adjustments?: PriceAdjustment[]; order_no?: string; order_total?: number; product_items?: ProductItem[]; product_sub_total?: number; product_total?: number; shipments?: shipment[]; shipping_items?: ShippingItem[]; shipping_total?: number; shipping_total_tax?: number; taxation?: string; tax_rounded_at_group?: boolean; tax_total?: number; c_isInStoreOrder?: boolean; created_by?: string; } export declare enum PROVIDERS { SALESFORCE = "Salesforce", MAGENTO = "Magento", MAGENTO2 = "Magento2", SALESFORCE_OSU = "SalesforceOSU", SALESFORCE_XML = "SalesforceXML" } export declare enum PROMOTION_LEVEL { LINE = "LINE", TRANSACTION = "TRANSACTION" } export declare enum PROMOTION_TYPE { COUPON = "COUPON" } export {}; //# sourceMappingURL=mapper-library.model.d.ts.map