From f1f93b217b07d635c5df9cfe0aa99800bef21edd Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Mon, 20 Jul 2026 12:59:10 +0200 Subject: [PATCH 1/6] fix(settings): render same-day settings for carriers with same-day delivery type Carriers that expose same-day as a delivery type (e.g. Trunkrs) instead of a shipment option (e.g. DHL For You) were missing the same-day section in the carrier settings view, so the same-day cutoff time could not be configured. The section now renders for both representations and is the single owner of these fields, which also removes the duplicate same-day toggle that was rendered for shipment-option carriers. Fixes INT-1561 Co-Authored-By: Claude Fable 5 --- src/Frontend/View/CarrierSettingsItemView.php | 24 +- .../View/CarrierSettingsItemViewTest.php | 49 + ...nent_with_data_set_plugin_settings__1.json | 1268 +---------------- ...iew_with_data_set_carrier_settings__1.json | 1268 +---------------- 4 files changed, 138 insertions(+), 2471 deletions(-) diff --git a/src/Frontend/View/CarrierSettingsItemView.php b/src/Frontend/View/CarrierSettingsItemView.php index 5ef5321c5..8856c8785 100644 --- a/src/Frontend/View/CarrierSettingsItemView.php +++ b/src/Frontend/View/CarrierSettingsItemView.php @@ -482,7 +482,17 @@ function (FormOperationBuilder $builder) { */ private function getSameDayDeliverySettings(): array { - if (!$this->carrierValidationService->supportsShipmentOption($this->carrier, SameDayDeliveryDefinition::class)) { + // Same-day is exposed either as a shipment option (e.g. DHL For You) or as a + // delivery type (e.g. Trunkrs), depending on the carrier's contract. This + // section is the single owner of the same-day fields for both representations; + // getDeliveryTypeSettings() and getShipmentOptionsSettings() skip same-day. + $hasSameDayDeliveryType = $this->carrier->deliveryTypes + && in_array(RefTypesDeliveryTypeV2::SAME_DAY, $this->carrier->deliveryTypes, true); + + if ( + ! $hasSameDayDeliveryType + && ! $this->carrierValidationService->supportsShipmentOption($this->carrier, SameDayDeliveryDefinition::class) + ) { return []; } @@ -547,8 +557,10 @@ private function getDeliveryTypeSettings(): array } foreach ($this->carrier->deliveryTypes as $deliveryType) { - // Pickup has its own section in getDeliveryOptionsFields(), so skip it here. - if ($deliveryType === RefTypesDeliveryTypeV2::PICKUP) { + // Pickup has its own section in getDeliveryOptionsFields() and same-day has its + // own section in getSameDayDeliverySettings() (with the cutoff time field), so + // skip both here. + if (in_array($deliveryType, [RefTypesDeliveryTypeV2::PICKUP, RefTypesDeliveryTypeV2::SAME_DAY], true)) { continue; } @@ -575,6 +587,12 @@ private function getShipmentOptionsSettings(): array $settings = []; foreach ($definitions as $definition) { + // Same-day has its own section in getSameDayDeliverySettings() (with the + // cutoff time field), so skip it here to avoid a duplicate toggle. + if ($definition instanceof SameDayDeliveryDefinition) { + continue; + } + $allowKey = $definition->getAllowSettingsKey(); $priceKey = $definition->getPriceSettingsKey(); diff --git a/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php b/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php index b51e8e8e9..8735adc91 100644 --- a/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php +++ b/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php @@ -195,6 +195,18 @@ function () { ], ], + 'delivery type: same day' => [ + function () { + return factory(Carrier::class) + ->withDeliveryTypes([RefTypesDeliveryTypeV2::SAME_DAY]); + }, + [ + (new SameDayDeliveryDefinition())->getAllowSettingsKey(), + SettingKey::priceDeliveryType(RefTypesDeliveryTypeV2::SAME_DAY), + CarrierSettings::CUTOFF_TIME_SAME_DAY, + ], + ], + 'shipment option: insurance' => [ function () { return factory(Carrier::class) @@ -226,6 +238,43 @@ function () { ], ]); +it('renders same day delivery settings exactly once', function (CarrierFactory $carrierFactory) { + $names = getViewSettings($carrierFactory); + $counts = array_count_values(array_filter($names)); + + $sameDayKeys = [ + (new SameDayDeliveryDefinition())->getAllowSettingsKey(), + SettingKey::priceDeliveryType(RefTypesDeliveryTypeV2::SAME_DAY), + CarrierSettings::CUTOFF_TIME_SAME_DAY, + ]; + + foreach ($sameDayKeys as $key) { + expect($counts[$key] ?? 0)->toBe(1); + } +})->with([ + 'as shipment option' => [ + function () { + return factory(Carrier::class) + ->withOptions(['sameDayDelivery' => ['enabled' => true]]); + }, + ], + + 'as delivery type' => [ + function () { + return factory(Carrier::class) + ->withDeliveryTypes([RefTypesDeliveryTypeV2::SAME_DAY]); + }, + ], + + 'as both delivery type and shipment option' => [ + function () { + return factory(Carrier::class) + ->withDeliveryTypes([RefTypesDeliveryTypeV2::SAME_DAY]) + ->withOptions(['sameDayDelivery' => ['enabled' => true]]); + }, + ], +]); + it( 'shows international mailbox settings based on capabilities', function ( diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json index f455f4157..97343e112 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json @@ -3098,57 +3098,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -3378,30 +3327,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -4880,57 +4805,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -5160,30 +5034,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -6662,57 +6512,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -6942,30 +6741,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -8445,7 +8220,7 @@ "description": "settings_carrier_price_delivery_type_evening_description" }, { - "name": "allowSameDayDelivery", + "name": "allowDeliveryTypeExpress", "$builders": [ { "$visibleWhen": { @@ -8465,17 +8240,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" + "label": "settings_carrier_allow_delivery_type_express", + "description": "settings_carrier_allow_delivery_type_express_description" }, { - "name": "priceDeliveryTypeSameDay", + "name": "priceDeliveryTypeExpress", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowSameDayDelivery" + "$target": "allowDeliveryTypeExpress" }, { "$and": [ @@ -8492,11 +8267,11 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" + "label": "settings_carrier_price_delivery_type_express", + "description": "settings_carrier_price_delivery_type_express_description" }, { - "name": "allowDeliveryTypeExpress", + "name": "allowEarlyMorningDelivery", "$builders": [ { "$visibleWhen": { @@ -8516,17 +8291,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_delivery_type_express", - "description": "settings_carrier_allow_delivery_type_express_description" + "label": "settings_carrier_allow_early_morning_delivery", + "description": "settings_carrier_allow_early_morning_delivery_description" }, { - "name": "priceDeliveryTypeExpress", + "name": "priceDeliveryTypeEarlyMorning", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowDeliveryTypeExpress" + "$target": "allowEarlyMorningDelivery" }, { "$and": [ @@ -8543,59 +8318,8 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_express", - "description": "settings_carrier_price_delivery_type_express_description" - }, - { - "name": "allowEarlyMorningDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_early_morning_delivery", - "description": "settings_carrier_allow_early_morning_delivery_description" - }, - { - "name": "priceDeliveryTypeEarlyMorning", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowEarlyMorningDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_early_morning", - "description": "settings_carrier_price_delivery_type_early_morning_description" + "label": "settings_carrier_price_delivery_type_early_morning", + "description": "settings_carrier_price_delivery_type_early_morning_description" }, { "$builders": [ @@ -8724,30 +8448,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -10226,57 +9926,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -10506,30 +10155,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -12008,57 +11633,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -12288,30 +11862,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -13790,57 +13340,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -14070,30 +13569,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -15572,57 +15047,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -15852,30 +15276,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -17354,57 +16754,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -17634,30 +16983,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -19031,62 +18356,11 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_morning", - "description": "settings_carrier_price_delivery_type_morning_description" - }, - { - "name": "allowStandardDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_standard_delivery", - "description": "settings_carrier_allow_standard_delivery_description" - }, - { - "name": "priceDeliveryTypeStandard", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowStandardDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_standard", - "description": "settings_carrier_price_delivery_type_standard_description" + "label": "settings_carrier_price_delivery_type_morning", + "description": "settings_carrier_price_delivery_type_morning_description" }, { - "name": "allowEveningDelivery", + "name": "allowStandardDelivery", "$builders": [ { "$visibleWhen": { @@ -19106,17 +18380,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_evening_delivery", - "description": "settings_carrier_allow_evening_delivery_description" + "label": "settings_carrier_allow_standard_delivery", + "description": "settings_carrier_allow_standard_delivery_description" }, { - "name": "priceDeliveryTypeEvening", + "name": "priceDeliveryTypeStandard", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowEveningDelivery" + "$target": "allowStandardDelivery" }, { "$and": [ @@ -19133,11 +18407,11 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_evening", - "description": "settings_carrier_price_delivery_type_evening_description" + "label": "settings_carrier_price_delivery_type_standard", + "description": "settings_carrier_price_delivery_type_standard_description" }, { - "name": "allowSameDayDelivery", + "name": "allowEveningDelivery", "$builders": [ { "$visibleWhen": { @@ -19157,17 +18431,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" + "label": "settings_carrier_allow_evening_delivery", + "description": "settings_carrier_allow_evening_delivery_description" }, { - "name": "priceDeliveryTypeSameDay", + "name": "priceDeliveryTypeEvening", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowSameDayDelivery" + "$target": "allowEveningDelivery" }, { "$and": [ @@ -19184,8 +18458,8 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" + "label": "settings_carrier_price_delivery_type_evening", + "description": "settings_carrier_price_delivery_type_evening_description" }, { "name": "allowDeliveryTypeExpress", @@ -19416,30 +18690,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -20969,57 +20219,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -21249,30 +20448,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -22751,57 +21926,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -23031,30 +22155,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -24507,64 +23607,13 @@ "description": "settings_carrier_allow_evening_delivery_description" }, { - "name": "priceDeliveryTypeEvening", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowEveningDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_evening", - "description": "settings_carrier_price_delivery_type_evening_description" - }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", + "name": "priceDeliveryTypeEvening", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowSameDayDelivery" + "$target": "allowEveningDelivery" }, { "$and": [ @@ -24581,8 +23630,8 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" + "label": "settings_carrier_price_delivery_type_evening", + "description": "settings_carrier_price_delivery_type_evening_description" }, { "name": "allowDeliveryTypeExpress", @@ -24813,30 +23862,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -26315,57 +25340,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -26595,30 +25569,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -28097,57 +27047,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -28377,30 +27276,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -29879,57 +28754,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -30159,30 +28983,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ diff --git a/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json b/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json index 7770fd356..cd06e107b 100644 --- a/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json +++ b/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json @@ -1351,57 +1351,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -1631,30 +1580,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -3133,57 +3058,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -3413,30 +3287,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -4915,57 +4765,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -5195,30 +4994,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -6698,7 +6473,7 @@ "description": "settings_carrier_price_delivery_type_evening_description" }, { - "name": "allowSameDayDelivery", + "name": "allowDeliveryTypeExpress", "$builders": [ { "$visibleWhen": { @@ -6718,17 +6493,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" + "label": "settings_carrier_allow_delivery_type_express", + "description": "settings_carrier_allow_delivery_type_express_description" }, { - "name": "priceDeliveryTypeSameDay", + "name": "priceDeliveryTypeExpress", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowSameDayDelivery" + "$target": "allowDeliveryTypeExpress" }, { "$and": [ @@ -6745,11 +6520,11 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" + "label": "settings_carrier_price_delivery_type_express", + "description": "settings_carrier_price_delivery_type_express_description" }, { - "name": "allowDeliveryTypeExpress", + "name": "allowEarlyMorningDelivery", "$builders": [ { "$visibleWhen": { @@ -6769,17 +6544,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_delivery_type_express", - "description": "settings_carrier_allow_delivery_type_express_description" + "label": "settings_carrier_allow_early_morning_delivery", + "description": "settings_carrier_allow_early_morning_delivery_description" }, { - "name": "priceDeliveryTypeExpress", + "name": "priceDeliveryTypeEarlyMorning", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowDeliveryTypeExpress" + "$target": "allowEarlyMorningDelivery" }, { "$and": [ @@ -6796,59 +6571,8 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_express", - "description": "settings_carrier_price_delivery_type_express_description" - }, - { - "name": "allowEarlyMorningDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_early_morning_delivery", - "description": "settings_carrier_allow_early_morning_delivery_description" - }, - { - "name": "priceDeliveryTypeEarlyMorning", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowEarlyMorningDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_early_morning", - "description": "settings_carrier_price_delivery_type_early_morning_description" + "label": "settings_carrier_price_delivery_type_early_morning", + "description": "settings_carrier_price_delivery_type_early_morning_description" }, { "$builders": [ @@ -6977,30 +6701,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -8479,57 +8179,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -8759,30 +8408,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -10261,57 +9886,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -10541,30 +10115,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -12043,57 +11593,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -12323,30 +11822,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -13825,57 +13300,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -14105,30 +13529,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -15607,57 +15007,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -15887,30 +15236,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -17284,62 +16609,11 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_morning", - "description": "settings_carrier_price_delivery_type_morning_description" - }, - { - "name": "allowStandardDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_standard_delivery", - "description": "settings_carrier_allow_standard_delivery_description" - }, - { - "name": "priceDeliveryTypeStandard", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowStandardDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_standard", - "description": "settings_carrier_price_delivery_type_standard_description" + "label": "settings_carrier_price_delivery_type_morning", + "description": "settings_carrier_price_delivery_type_morning_description" }, { - "name": "allowEveningDelivery", + "name": "allowStandardDelivery", "$builders": [ { "$visibleWhen": { @@ -17359,17 +16633,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_evening_delivery", - "description": "settings_carrier_allow_evening_delivery_description" + "label": "settings_carrier_allow_standard_delivery", + "description": "settings_carrier_allow_standard_delivery_description" }, { - "name": "priceDeliveryTypeEvening", + "name": "priceDeliveryTypeStandard", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowEveningDelivery" + "$target": "allowStandardDelivery" }, { "$and": [ @@ -17386,11 +16660,11 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_evening", - "description": "settings_carrier_price_delivery_type_evening_description" + "label": "settings_carrier_price_delivery_type_standard", + "description": "settings_carrier_price_delivery_type_standard_description" }, { - "name": "allowSameDayDelivery", + "name": "allowEveningDelivery", "$builders": [ { "$visibleWhen": { @@ -17410,17 +16684,17 @@ } ], "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" + "label": "settings_carrier_allow_evening_delivery", + "description": "settings_carrier_allow_evening_delivery_description" }, { - "name": "priceDeliveryTypeSameDay", + "name": "priceDeliveryTypeEvening", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowSameDayDelivery" + "$target": "allowEveningDelivery" }, { "$and": [ @@ -17437,8 +16711,8 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" + "label": "settings_carrier_price_delivery_type_evening", + "description": "settings_carrier_price_delivery_type_evening_description" }, { "name": "allowDeliveryTypeExpress", @@ -17669,30 +16943,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -19222,57 +18472,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -19502,30 +18701,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -21004,57 +20179,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -21284,30 +20408,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -22760,64 +21860,13 @@ "description": "settings_carrier_allow_evening_delivery_description" }, { - "name": "priceDeliveryTypeEvening", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowEveningDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_evening", - "description": "settings_carrier_price_delivery_type_evening_description" - }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", + "name": "priceDeliveryTypeEvening", "$builders": [ { "$visibleWhen": { "$if": [ { - "$target": "allowSameDayDelivery" + "$target": "allowEveningDelivery" }, { "$and": [ @@ -22834,8 +21883,8 @@ } ], "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" + "label": "settings_carrier_price_delivery_type_evening", + "description": "settings_carrier_price_delivery_type_evening_description" }, { "name": "allowDeliveryTypeExpress", @@ -23066,30 +22115,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -24568,57 +23593,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -24848,30 +23822,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -26350,57 +25300,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -26630,30 +25529,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ @@ -28132,57 +27007,6 @@ "label": "settings_carrier_price_delivery_type_evening", "description": "settings_carrier_price_delivery_type_evening_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, - { - "name": "priceDeliveryTypeSameDay", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$target": "allowSameDayDelivery" - }, - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "CurrencyInput", - "label": "settings_carrier_price_delivery_type_same_day", - "description": "settings_carrier_price_delivery_type_same_day_description" - }, { "name": "allowDeliveryTypeExpress", "$builders": [ @@ -28412,30 +27236,6 @@ "label": "settings_carrier_price_priority_delivery", "description": "settings_carrier_price_priority_delivery_description" }, - { - "name": "allowSameDayDelivery", - "$builders": [ - { - "$visibleWhen": { - "$if": [ - { - "$and": [ - { - "$target": "deliveryOptionsEnabled" - }, - { - "$target": "allowDeliveryOptions" - } - ] - } - ] - } - } - ], - "$component": "ToggleInput", - "label": "settings_carrier_allow_same_day_delivery", - "description": "settings_carrier_allow_same_day_delivery_description" - }, { "name": "allowSaturdayDelivery", "$builders": [ From 423b26e87bff0b588440f240f339757755ef6018 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Mon, 20 Jul 2026 14:44:47 +0200 Subject: [PATCH 2/6] fix(carrier): ensure required customer information is always provided to trunkrs --- .../General/CustomerInformationCalculator.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/App/Order/Calculator/General/CustomerInformationCalculator.php b/src/App/Order/Calculator/General/CustomerInformationCalculator.php index 821ac22b2..451ba6156 100644 --- a/src/App/Order/Calculator/General/CustomerInformationCalculator.php +++ b/src/App/Order/Calculator/General/CustomerInformationCalculator.php @@ -13,6 +13,15 @@ final class CustomerInformationCalculator extends AbstractPdkOrderOptionCalculator { + /* + * These carriers *requires* customer information to be shared, ignore any global setting. + * There is no API exposing this type of requirement at this point in time (july 2026) + */ + private const CARRIERS_WITH_MANDATORY_CUSTOMER_INFO = [ + RefTypesCarrierV2::DPD, + RefTypesCarrierV2::TRUNKRS + ]; + public function calculate(): void { $orderCarrier = $this->order->deliveryOptions->carrier; @@ -46,8 +55,7 @@ public function calculate(): void protected function sharingCustomerInformation(Carrier $carrier): bool { // @TODO this is a specific carrier check as there is currently no endpoint exposing this information - if ($carrier->carrier === RefTypesCarrierV2::DPD) { - // DPD *requires* customer information to be shared, ignore any global setting + if (\in_array($carrier->carrier, self::CARRIERS_WITH_MANDATORY_CUSTOMER_INFO, true)) { return true; } From a6386dfb683bdbbac08769cfb3af8d4c45db96f6 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Tue, 21 Jul 2026 14:57:33 +0200 Subject: [PATCH 3/6] fix(settings): keep the same-day toggle read-only when the carrier requires it Moving same-day into its own settings section skipped the read-only guard for carriers that mark same-day as required in their capabilities. Apply makeReadOnlyWhenRequired in the same-day section too, and split the representation checks into two named booleans for readability. Co-Authored-By: Claude Fable 5 --- src/Frontend/View/CarrierSettingsItemView.php | 28 +++++++++++----- .../View/CarrierSettingsItemViewTest.php | 33 +++++++++++++++++++ 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/src/Frontend/View/CarrierSettingsItemView.php b/src/Frontend/View/CarrierSettingsItemView.php index 8856c8785..08fa42d1e 100644 --- a/src/Frontend/View/CarrierSettingsItemView.php +++ b/src/Frontend/View/CarrierSettingsItemView.php @@ -486,21 +486,33 @@ private function getSameDayDeliverySettings(): array // delivery type (e.g. Trunkrs), depending on the carrier's contract. This // section is the single owner of the same-day fields for both representations; // getDeliveryTypeSettings() and getShipmentOptionsSettings() skip same-day. + $definition = new SameDayDeliveryDefinition(); + $hasSameDayDeliveryType = $this->carrier->deliveryTypes && in_array(RefTypesDeliveryTypeV2::SAME_DAY, $this->carrier->deliveryTypes, true); - if ( - ! $hasSameDayDeliveryType - && ! $this->carrierValidationService->supportsShipmentOption($this->carrier, SameDayDeliveryDefinition::class) - ) { + $hasSameDayShipmentOption = $this->carrierValidationService->supportsShipmentOption( + $this->carrier, + SameDayDeliveryDefinition::class + ); + + if (! $hasSameDayDeliveryType && ! $hasSameDayShipmentOption) { return []; } + $elements = $this->createSettingWithPriceFields( + $definition->getAllowSettingsKey(), + SettingKey::priceDeliveryType(RefTypesDeliveryTypeV2::SAME_DAY) + ); + + $capabilitiesKey = $definition->getCapabilitiesOptionsKey(); + + if ($capabilitiesKey) { + $this->makeReadOnlyWhenRequired($elements[0], $capabilitiesKey); + } + return array_merge( - $this->createSettingWithPriceFields( - (new SameDayDeliveryDefinition())->getAllowSettingsKey(), - SettingKey::priceDeliveryType(RefTypesDeliveryTypeV2::SAME_DAY) - ), + $elements, [new InteractiveElement(CarrierSettings::CUTOFF_TIME_SAME_DAY, Components::INPUT_TIME)] ); } diff --git a/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php b/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php index 8735adc91..afc77832b 100644 --- a/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php +++ b/tests/Unit/Frontend/View/CarrierSettingsItemViewTest.php @@ -374,6 +374,39 @@ function () { expect($hasReadOnly)->toBeTrue('required option form element must be readOnly'); }); +it('marks a required same-day option as readOnly', function () { + $carrier = factory(Carrier::class) + ->withOptions(['sameDayDelivery' => ['enabled' => true]]) + ->withOptionRequired('sameDayDelivery') + ->store() + ->make(); + + $view = new CarrierSettingsItemView($carrier); + $elements = $view->toArray()['elements']; + + $allowKey = (new SameDayDeliveryDefinition())->getAllowSettingsKey(); + $element = null; + + foreach ($elements as $el) { + if (isset($el['name']) && $el['name'] === $allowKey) { + $element = $el; + break; + } + } + + expect($element)->not->toBeNull(); + + $hasReadOnly = false; + + foreach ($element['$builders'] ?? [] as $builder) { + if (array_key_exists('$readOnlyWhen', $builder)) { + $hasReadOnly = true; + } + } + + expect($hasReadOnly)->toBeTrue('required same-day form element must be readOnly'); +}); + it('adds afterUpdate logic to delivery options enabled toggle', function () { $carrier = factory(Carrier::class)->make(); $view = new CarrierSettingsItemView($carrier); From 0010a464344fd8fec3e5359d254bdc1086fc9d18 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Tue, 21 Jul 2026 15:18:00 +0200 Subject: [PATCH 4/6] docs: fix grammar nit in dockblock Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Calculator/General/CustomerInformationCalculator.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/App/Order/Calculator/General/CustomerInformationCalculator.php b/src/App/Order/Calculator/General/CustomerInformationCalculator.php index 451ba6156..9cae992cc 100644 --- a/src/App/Order/Calculator/General/CustomerInformationCalculator.php +++ b/src/App/Order/Calculator/General/CustomerInformationCalculator.php @@ -14,8 +14,8 @@ final class CustomerInformationCalculator extends AbstractPdkOrderOptionCalculator { /* - * These carriers *requires* customer information to be shared, ignore any global setting. - * There is no API exposing this type of requirement at this point in time (july 2026) + * These carriers *require* customer information to be shared; ignore any global setting. + * There is no API exposing this type of requirement at this point in time (July 2026). */ private const CARRIERS_WITH_MANDATORY_CUSTOMER_INFO = [ RefTypesCarrierV2::DPD, From d72213beb10e9e384b01a421926b917667174d1d Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Tue, 21 Jul 2026 15:18:18 +0200 Subject: [PATCH 5/6] style: fix codestyle nit Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Order/Calculator/General/CustomerInformationCalculator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App/Order/Calculator/General/CustomerInformationCalculator.php b/src/App/Order/Calculator/General/CustomerInformationCalculator.php index 9cae992cc..6b78f0e42 100644 --- a/src/App/Order/Calculator/General/CustomerInformationCalculator.php +++ b/src/App/Order/Calculator/General/CustomerInformationCalculator.php @@ -19,7 +19,7 @@ final class CustomerInformationCalculator extends AbstractPdkOrderOptionCalculat */ private const CARRIERS_WITH_MANDATORY_CUSTOMER_INFO = [ RefTypesCarrierV2::DPD, - RefTypesCarrierV2::TRUNKRS + RefTypesCarrierV2::TRUNKRS, ]; public function calculate(): void From 8ad7455f897fdd9588f7686a93005bf3b91f04f1 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Fri, 7 Aug 2026 15:04:37 +0200 Subject: [PATCH 6/6] fix(checkout): allow same day delivery on future dates fixes an issue where same day delivery was blocked for any date in the future if the current hour was past the configured "cutoff time sameDay" or if the "drop off delay" was more than 0 the delivery options widget decides which dates are available for same day delivery now remember: same day delivery means shipment and delivery happen on the same day, not if the customer can expect their shipment on the same day as ordering. Whether thats possible is decided by a combination of "cut off time" and "drop off days". "drop off delay" only indicates how long it takes to process an order: it doesnt mean that the merchant can't drop off their shipment on the same day it will be delivered if that delivery is planned ex. 2 days in the future (past the drop off delay). the merchant can still opt-out of same day delivery but simply not enabling the delivery type - and it's off by default. reverts the changes from #356 --- .../Service/DeliveryOptionsService.php | 7 --- .../Service/DeliveryOptionsServiceTest.php | 49 +++++++++++++++++++ 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/App/DeliveryOptions/Service/DeliveryOptionsService.php b/src/App/DeliveryOptions/Service/DeliveryOptionsService.php index fb6480d28..15b56b8e6 100644 --- a/src/App/DeliveryOptions/Service/DeliveryOptionsService.php +++ b/src/App/DeliveryOptions/Service/DeliveryOptionsService.php @@ -150,10 +150,6 @@ private function createCarrierSettings(Carrier $carrier, PdkCart $cart, string $ ->pluck('weekday') ->toArray(); - // Always use Europe/Amsterdam timezone for cutoff checks, because cutoff times are meant as local shop time. - // This prevents bugs when the server runs in a different timezone (e.g. UTC). - $now = new DateTimeImmutable('now', new DateTimeZone('Europe/Amsterdam')); - $minimumDropOffDelay = -1 === $cart->shippingMethod->minimumDropOffDelay ? $carrierSettings['dropOffDelay'] : $cart->shippingMethod->minimumDropOffDelay; @@ -173,9 +169,6 @@ private function createCarrierSettings(Carrier $carrier, PdkCart $cart, string $ [ 'deliveryDaysWindow' => $carrierSettings->deliveryDaysWindow, 'dropOffDelay' => max($minimumDropOffDelay, $carrierSettings->dropOffDelay), - 'allowSameDayDelivery' => ($settings['allowSameDayDelivery'] ?? false) - && 0 === $minimumDropOffDelay - && $now->format('H:i') <= ($carrierSettings['cutoffTimeSameDay'] ?? '00:00'), 'cutoffTime' => $dropOff->cutoffTime ?? null, 'cutoffTimeSameDay' => $carrierSettings['cutoffTimeSameDay'] ?? null, 'dropOffDays' => $dropOffDays, diff --git a/tests/Unit/App/DeliveryOptions/Service/DeliveryOptionsServiceTest.php b/tests/Unit/App/DeliveryOptions/Service/DeliveryOptionsServiceTest.php index cefa4e69d..1eb6cb821 100644 --- a/tests/Unit/App/DeliveryOptions/Service/DeliveryOptionsServiceTest.php +++ b/tests/Unit/App/DeliveryOptions/Service/DeliveryOptionsServiceTest.php @@ -339,3 +339,52 @@ function ( $carrierId = FrontendData::getLegacyCarrierIdentifier($fakeCarrier->carrier); expect($result['carrierSettings'][$carrierId]['pricePackageTypeMailbox'])->toBe(1.05); }); + +it('passes allow* for deliveryTypes without looking at the cutoff times', function () { + $fakeCarrier = factory(Carrier::class)->withCarrier('POSTNL')->make(); + + // Same-day is switched on, and conditions are applied that in the past would block sameDayDelivery globally. + // Whether same-day is still achievable today is the widget's call, so the settings have to arrive as + // the merchant set them rather than pre-judged here. + factory(CarrierSettings::class, $fakeCarrier->carrier) + ->withDeliveryOptions() + ->withAllowSameDayDelivery(true) + ->withAllowMorningDelivery(true) + ->withAllowEveningDelivery(true) + ->withCutoffTimeSameDay('02:00') + ->withDropOffDelay(2) + ->store(); + + factory(Shop::class) + ->withCarriers(factory(CarrierCollection::class)->push(factory(Carrier::class)->withCarrier('POSTNL'))) + ->store(); + + /** @var \MyParcelNL\Pdk\App\DeliveryOptions\Contract\DeliveryOptionsServiceInterface $service */ + $service = Pdk::get(DeliveryOptionsServiceInterface::class); + + $result = $service->createAllCarrierSettings(new PdkCart([ + 'lines' => [ + [ + 'quantity' => 1, + 'product' => [ + 'weight' => 1, + 'isDeliverable' => true, + 'settings' => [ + ProductSettings::DROP_OFF_DELAY => 5, + ], + ], + ], + ], + ])); + + $carrierId = FrontendData::getLegacyCarrierIdentifier($fakeCarrier->carrier); + $settings = $result['carrierSettings'][$carrierId]; + + // dropOffDelay proves the delay really reached the service, so the same-day assertion cannot pass + // just because nothing was delaying drop-off in the first place. + expect($settings['dropOffDelay'])->toBe(5) + ->and($settings['allowSameDayDelivery'])->toBeTrue() + ->and($settings['allowMorningDelivery'])->toBeTrue() + ->and($settings['allowEveningDelivery'])->toBeTrue() + ->and($settings['cutoffTimeSameDay'])->toBe('02:00'); +});