From 52ad9c46ac44cc2bda41ab19e34b5925f85bbfae Mon Sep 17 00:00:00 2001 From: Andrej Tibaut Date: Fri, 10 Jul 2026 00:06:10 +0200 Subject: [PATCH 1/6] Add correctly spelt Exchangeable* components, deprecate misspelt Exchangable* forms --- .../netex_entity_support.xsd | 12 +++ .../netex_fareConditionSummary_version.xsd | 9 +- ...netex_usageParameterAfterSales_support.xsd | 12 ++- ...netex_usageParameterAfterSales_version.xsd | 85 +++++++++++++++---- 4 files changed, 98 insertions(+), 20 deletions(-) diff --git a/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd b/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd index a06fa9282..be9b2c238 100644 --- a/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd +++ b/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd @@ -17,6 +17,8 @@ 2010-11-05 + 2026-07-09Add correctly spelt Exchangeable* / IsExchangeable values to NameOfClass alongside deprecated misspelt forms. +

NeTEx - Network Exchange. This subschema defines data Modification base types.

@@ -949,6 +951,15 @@ Rail transport, Roads and Road transport + + + + + + + + + @@ -1376,6 +1387,7 @@ Rail transport, Roads and Road transport + diff --git a/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd b/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd index 22f5a1416..e480aab20 100644 --- a/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd +++ b/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd @@ -25,6 +25,8 @@ Add __RequiresDepost__ and __noCashPayment__ to CommercialCondition summary. Add __VehicleCOlelction_ + 2026-07-09Add correctly spelt IsExchangeable; deprecate misspelt IsExchangable. +

NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.

This sub-schema describes the CONDITION SUMMARY types.

@@ -222,9 +224,14 @@ Rail transport, Roads and Road transport Whether the ticket can be refunded. + + + Whether the ticket can be exchanged. +v2.1 + + - Whether the ticket can be exchanged. + DEPRECATED - misspelt, use IsExchangeable instead. -v2.1 diff --git a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd index 373de9388..007a82a35 100644 --- a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd +++ b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd @@ -34,6 +34,8 @@ 2019-03-12NORWAY-103 *FARES* Add purchaseGracePeriod new enum value to Reselling \ ResellWhen + 2026-07-09Add correctly spelt ExchangeableToEnumeration; deprecate misspelt ExchangableToEnumeration. +

NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.

This sub-schema describes the After Sales USAGE PARAMETER types.

@@ -226,9 +228,9 @@ Rail transport, Roads and Road transport - + - Allowed values for Exchangeable to. + Allowed values for Exchangeable to. +v2.1 @@ -244,6 +246,12 @@ Rail transport, Roads and Road transport + + + DEPRECATED - misspelt, use ExchangeableToEnumeration instead. -v2.1 + + + diff --git a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd index c8c1ea1fc..6690b0a41 100644 --- a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd +++ b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd @@ -32,6 +32,8 @@ 2019-03-26NL-27 CD #58 Add default TypeOfProductCategory and TypeOfService to Line: Move TypeOfProductCategory amnd TypeOfService from netex_journey_version to Framework reusable components (netex_travelRights_version) so they are visible from part 1 Can therefore drop include of netex_travelRights_version from File netex_usageParameterAfterSales_version.xsd. + + 2026-07-09Add correctly spelt Exchangeable* elements; deprecate misspelt Exchangable* forms.

NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.

@@ -161,49 +163,93 @@ Rail transport, Roads and Road transport
+ + + Special value - Can be resold from any point after purchase. +v2.1 + + + + + Duration to start of period before (negative) or after (positive) the trigger point (i.e. either Start of Validity or First Use ) after which ticket may be resold. +v2.1 + + + + + Can be resold once a certain percentage of duration or use has been achieved. +v2.1 + + - Special value - Can be resold from any point after purchase. + DEPRECATED - misspelt, use ExchangeableFromAnyTime instead. -v2.1 - Duration to start of period before (negative) or after (positive) the trigger point (i.e. either Start of Validity or First Use ) after which ticket may be resold. + DEPRECATED - misspelt, use ExchangeableFromDuration instead. -v2.1 - Can be resold once a certain percentage of duration or use has been achieved. +v1.1 + DEPRECATED - misspelt, use ExchangeableFromPercentUse instead. -v2.1 - - - Reference to arbitrary TimeInterval determining period from which reselling can be done relative to trigger point. - - + + + Reference to arbitrary TimeInterval determining period from which reselling can be done relative to trigger point. +v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableFromIntervalRef instead. -v2.1 + + + + + + + Can be resold anyTime. +v2.1 + + + + + Duration to end of period before (negative) or after (positive) the trigger point (i.e. either Start of Validity or First Use ) or that ticket. +v2.1 + + + + + Can be resold until a certain percentage of duration or use has been achieved. +v2.1 + + - Can be resold anyTime. + DEPRECATED - misspelt, use ExchangeableUntilAnyTime instead. -v2.1 - Duration to end of period before (negative) or after (positive) the trigger point (i.e. either Start of Validity or First Use ) or that ticket. + DEPRECATED - misspelt, use ExchangeableUntilDuration instead. -v2.1 - Can be resold until a certain percentage of duration or use has been achieved. +v1.1 + DEPRECATED - misspelt, use ExchangeableUntilPercentUse instead. -v2.1 + + + + + + + Reference to arbitrary TimeInterval determining period up until which reselling can be done relative to trigger point. +v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableUntilIntervalRef instead. -v2.1 - - - Reference to arbitrary TimeInterval determining period up until which reselling can be done relative to trigger point. - - Constraint on when change can be made +v1.1 @@ -315,9 +361,14 @@ Rail transport, Roads and Road transport Fare class to which can exchange, if specifically limited. + + + Type of fare for which product can be exchanged. +v2.1 + + - Type of fare for which product can be exchanged. + DEPRECATED - misspelt, use ExchangeableTo instead. -v2.1 From 46508de52d6b2789b85bb80376504a53af62647a Mon Sep 17 00:00:00 2001 From: Andrej Tibaut Date: Fri, 10 Jul 2026 00:28:10 +0200 Subject: [PATCH 2/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../part3_fares/netex_usageParameterAfterSales_version.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd index 6690b0a41..1afd254b0 100644 --- a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd +++ b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd @@ -214,7 +214,7 @@ Rail transport, Roads and Road transport - Duration to end of period before (negative) or after (positive) the trigger point (i.e. either Start of Validity or First Use ) or that ticket. +v2.1 + Duration to end of period before (negative) or after (positive) the trigger point (i.e. either Start of Validity or First Use ) of that ticket. +v2.1 From 0fa971ba461dbc7cb9995491048754a7af5d564d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 9 Jul 2026 22:32:50 +0000 Subject: [PATCH 3/6] Wrap ExchangeableTo/ExchangableTo in xsd:choice to prevent both spellings appearing simultaneously --- ...netex_usageParameterAfterSales_version.xsd | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd index 1afd254b0..c454c718b 100644 --- a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd +++ b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd @@ -361,16 +361,18 @@ Rail transport, Roads and Road transport Fare class to which can exchange, if specifically limited. - - - Type of fare for which product can be exchanged. +v2.1 - - - - - DEPRECATED - misspelt, use ExchangeableTo instead. -v2.1 - - + + + + Type of fare for which product can be exchanged. +v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableTo instead. -v2.1 + + + From 65ce9b53cc2bae35b6a44a09aacb99a7ada95b0f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 9 Jul 2026 22:33:28 +0000 Subject: [PATCH 4/6] fix: wrap IsExchangeable/IsExchangable in xsd:choice in fareConditionSummary --- .../netex_fareConditionSummary_version.xsd | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd b/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd index e480aab20..f8856641d 100644 --- a/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd +++ b/xsd/netex_part_3/part3_fares/netex_fareConditionSummary_version.xsd @@ -224,16 +224,18 @@ Rail transport, Roads and Road transport Whether the ticket can be refunded. - - - Whether the ticket can be exchanged. +v2.1 - - - - - DEPRECATED - misspelt, use IsExchangeable instead. -v2.1 - - + + + + Whether the ticket can be exchanged. +v2.1 + + + + + DEPRECATED - misspelt, use IsExchangeable instead. -v2.1 + + + Whether there is a charge for exchanges. From 8d264e92f82add1f2b68132e0e0a2f12e58262ce Mon Sep 17 00:00:00 2001 From: Andrej Tibaut Date: Fri, 10 Jul 2026 00:59:11 +0200 Subject: [PATCH 5/6] Rename misspelt enumeration type outright instead of deprecating (type names are not visible in instance documents) --- .../netex_usageParameterAfterSales_support.xsd | 8 +------- .../netex_usageParameterAfterSales_version.xsd | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd index 007a82a35..4f307cb94 100644 --- a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd +++ b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_support.xsd @@ -34,7 +34,7 @@ 2019-03-12NORWAY-103 *FARES* Add purchaseGracePeriod new enum value to Reselling \ ResellWhen - 2026-07-09Add correctly spelt ExchangeableToEnumeration; deprecate misspelt ExchangableToEnumeration. + 2026-07-09Rename misspelt ExchangableToEnumeration to ExchangeableToEnumeration.

NeTEx is a European CEN standard for the exchange of Public Transport data including timetables.

@@ -246,12 +246,6 @@ Rail transport, Roads and Road transport - - - DEPRECATED - misspelt, use ExchangeableToEnumeration instead. -v2.1 - - - diff --git a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd index c454c718b..0f7e71244 100644 --- a/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd +++ b/xsd/netex_part_3/part3_fares/netex_usageParameterAfterSales_version.xsd @@ -367,7 +367,7 @@ Rail transport, Roads and Road transport Type of fare for which product can be exchanged. +v2.1
- + DEPRECATED - misspelt, use ExchangeableTo instead. -v2.1 From 9b5b2abbb1dc5a2afeea1e4d98da11a8e6ba4016 Mon Sep 17 00:00:00 2001 From: Andrej Tibaut Date: Fri, 10 Jul 2026 01:19:13 +0200 Subject: [PATCH 6/6] Annotate misspelt NameOfClass enumeration values as DEPRECATED --- .../netex_entity_support.xsd | 60 +++++++++++++++---- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd b/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd index be9b2c238..40c6c4b51 100644 --- a/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd +++ b/xsd/netex_framework/netex_responsibility/netex_entity_support.xsd @@ -942,15 +942,51 @@ Rail transport, Roads and Road transport - - - - - - - - - + + + DEPRECATED - misspelt, use ExchangeableFromAnyTime instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableFromDuration instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableFromIntervalRef instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableFromPercentUse instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableTo instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableUntilAnyTime instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableUntilDuration instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableUntilIntervalRef instead. -v2.1 + + + + + DEPRECATED - misspelt, use ExchangeableUntilPercentUse instead. -v2.1 + + @@ -1386,7 +1422,11 @@ Rail transport, Roads and Road transport - + + + DEPRECATED - misspelt, use IsExchangeable instead. -v2.1 + +