From 6e0609f8c1bbafe5bbfe89a7d368edc4bbfef4ec Mon Sep 17 00:00:00 2001 From: Chris Redelinghuys Date: Tue, 20 Jan 2026 10:38:26 -0500 Subject: [PATCH 1/2] CASH-2183: Conditional PIA --- src/constants/experiments.js | 3 ++ src/layouts/payment-method/payment-method.vue | 44 ++++++++++++++++++- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/constants/experiments.js b/src/constants/experiments.js index a2a648a65..1d689d727 100644 --- a/src/constants/experiments.js +++ b/src/constants/experiments.js @@ -12,6 +12,9 @@ const experimentSettings = { SUPPRESS_VIN_CAPTURE: "SuppressVinCapture", DISPLAY_AVAILABILITY_INDICATORS: "DisplayAvailabilityIndicators", PIA_EXPERIENCE: "PIA Experience", + CONDITIONAL_PROVIDER_NUMBERS: "ConditionalProviderNumbers", + CONDITIONAL_PROVIDER_NUMBERS_2: "ConditionalProviderNumbers2", + CONDITIONAL_PROVIDER_SHUTOFF_DATE: "ConditionalProviderShutoffDate", PIA_INSURANCE: "DisplayPIAInsurance", SUBMIT_ORDER_ENABLE_PIA: "SubmitOrder_Enable_PIA", IS_EMAIL_OPTIONAL: "isEmailOptional", diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 0fa02e80a..bd4b8212b 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -810,11 +810,51 @@ export default { const piaInsurance = this.getSettingValue(experimentSettings.PIA_INSURANCE); if (this.isInsurance) { - return piaInsurance === "true" && this.currentDeductible > 0; + return ( + (piaInsurance === "true" || this.isConditionalPIAEnabled) && + this.currentDeductible > 0 + ); } else { - return piaExperience === "PIA Optional" || piaExperience === "PIA Required"; + if (piaExperience.includes("PIA Disabled")) { + return this.isConditionalPIAEnabled; + } else { + return piaExperience === "PIA Optional" || piaExperience === "PIA Required"; + } } }, + isConditionalPIAEnabled() { + const conditionalProviderNumbers = this.getSettingValue( + experimentSettings.CONDITIONAL_PROVIDER_NUMBERS + ); + const conditionalProviderNumbers2 = this.getSettingValue( + experimentSettings.CONDITIONAL_PROVIDER_NUMBERS_2 + ); + const conditionalProviderShutoffDate = this.getSettingValue( + experimentSettings.CONDITIONAL_PROVIDER_SHUTOFF_DATE + ); + + const allConditionalProviderNumbers = [ + conditionalProviderNumbers, + conditionalProviderNumbers2, + ] + .filter(Boolean) + .join(","); + const providerNumber = + this.$store.getters.order.serviceLocation.provider.providerNumber; + const appointmentDate = new Date(this.$store.getters.order.schedule.date); + const shutoffDate = new Date(conditionalProviderShutoffDate); + if (allConditionalProviderNumbers && conditionalProviderShutoffDate) { + const providerNumbersArray = allConditionalProviderNumbers + .split(",") + .map((num) => num.trim()); + if (!providerNumbersArray.includes(providerNumber)) { + return false; + } else { + return appointmentDate <= shutoffDate; + } + } + return false; + }, paymentMethod() { if (!this.isPiaEnabled) { return paymentMethods.LATER; From 2914a508781ac8448b3429523fdb4a464f190a10 Mon Sep 17 00:00:00 2001 From: Chris Redelinghuys Date: Tue, 20 Jan 2026 10:56:01 -0500 Subject: [PATCH 2/2] CASH-2183: Null check --- src/layouts/payment-method/payment-method.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index bd4b8212b..2a6d1d9ed 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -815,7 +815,7 @@ export default { this.currentDeductible > 0 ); } else { - if (piaExperience.includes("PIA Disabled")) { + if (piaExperience?.includes("PIA Disabled")) { return this.isConditionalPIAEnabled; } else { return piaExperience === "PIA Optional" || piaExperience === "PIA Required";