From 3ffc2192a7fc7cd595d6047e8738a4a4135fa847 Mon Sep 17 00:00:00 2001 From: credelinghuys Date: Mon, 15 Jun 2026 11:26:24 -0400 Subject: [PATCH] CASH-2872: Add QPD and Replace Fee to cart/products datalayer objects --- src/mixins/analytics-mixin.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 1a9df51f7..7ff1fcd51 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -605,8 +605,13 @@ export default { [part], false ); + let isQuotePageDiscount = productType == partTypeStrings.QUOTE_PAGE_DISCOUNT; - if (productSku == "DISCOUNT" || productType == "SERVICE PACKAGE DISCOUNT") { + if ( + productSku == "DISCOUNT" || + productType == "SERVICE PACKAGE DISCOUNT" || + isQuotePageDiscount + ) { if (coupon) { coupon += ","; } @@ -617,6 +622,7 @@ export default { } discount += productPrice * -1; + subTotal += isQuotePageDiscount ? productPrice : 0; } else { products.push({ productType: productType, @@ -666,6 +672,12 @@ export default { var repairFee = supportingItems.filter(function (lineItem) { return lineItem.partType.indexOf("REPAIR FEE") !== -1; }); + var replaceFee = supportingItems.filter(function (lineItem) { + return lineItem.partType.indexOf("REPLACE FEE") !== -1; + }); + var quotePageDiscount = supportingItems.filter(function (lineItem) { + return lineItem.partType.indexOf(partTypeStrings.QUOTE_PAGE_DISCOUNT) !== -1; + }); var vaps = submittedOrder.lineItems && submittedOrder.lineItems.vaps @@ -704,6 +716,12 @@ export default { if (rainRepel) { combinedLineItems = combinedLineItems.concat(rainRepel); } + if (replaceFee) { + combinedLineItems = combinedLineItems.concat(replaceFee); + } + if (quotePageDiscount) { + combinedLineItems = combinedLineItems.concat(quotePageDiscount); + } //Remove child Parts if any combinedLineItems.forEach((lineItem) => {