From a03ba7795f983fdfebb61f54b1fa6e87f72d1797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Helm=C3=B8=20Larsen?= Date: Mon, 30 Mar 2026 15:14:06 +0200 Subject: [PATCH 1/4] Update spec according to agreement in Sprint Planning --- ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml | 99 +++++++++++++------------- 1 file changed, 51 insertions(+), 48 deletions(-) diff --git a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml index 60b15f57..df681ad4 100644 --- a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml +++ b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml @@ -784,39 +784,41 @@ components: - '278111222' - '278173294' - '234422543' - UNLocationCodes: + locations: type: array description: | - An array of **UN Location codes** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the values when matching. + An array of **UNLocationCode and/or facilitySMDGCode combinations** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the objects when matching. - If this property is empty, you will be notified for all `UNLocationCodes` that have changes you are authorized to see. + If this property is empty, you will be notified for all `locations` that have changes you are authorized to see. items: - type: string - pattern: ^[A-Z]{2}[A-Z2-9]{3}$ - minLength: 5 - maxLength: 5 + type: object description: | - The UN Location code specifying where the place is located. The pattern used must be + It is possible to provide the `UNLocationCode`, the `facilitySMDGCode` or both when specifying the location. - - 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en) - - 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used + If multiple `UNLocationCodes` or `facilitySMDGCodes` need to be provided - then it is necessary to do this in separate `location` objects. + properties: + UNLocationCode: + type: string + pattern: ^[A-Z]{2}[A-Z2-9]{3}$ + minLength: 5 + maxLength: 5 + description: | + The UN Location code specifying where the place is located. The pattern used must be - More info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download) - example: NLAMS - facilitySMDGCodes: - type: array - description: | - An array of **Facility SMDG codes** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the values when matching. + - 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en) + - 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used - If this property is empty, you will be notified for all `facilitySMDGCodes` that have changes you are authorized to see. - items: - type: string - maxLength: 6 - description: | - The code used for identifying the specific facility. This code does not include the UN Location Code. + More info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download) + example: NLAMS + facilitySMDGCode: + type: string + maxLength: 6 + description: | + The code used for identifying the specific facility. This code does not include the UN Location Code. + + The codeList used by SMDG is the [SMDG Terminal Code List](https://smdg.org/wp-content/uploads/Codelists/Terminals/SMDG-Terminal-Code-List-v20210401.xlsx) + example: ACT - The codeList used by SMDG is the [SMDG Terminal Code List](https://smdg.org/wp-content/uploads/Codelists/Terminals/SMDG-Terminal-Code-List-v20210401.xlsx) - example: ACT required: - subscriptionReference - notificationChannel @@ -979,39 +981,40 @@ components: - '278111222' - '278173294' - '234422543' - UNLocationCodes: + locations: type: array description: | - An array of **UN Location codes** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the values when matching. + An array of **UNLocationCode and/or facilitySMDGCode combinations** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the objects when matching. - If this property is empty, you will be notified for all `UNLocationCodes` that have changes you are authorized to see. + If this property is empty, you will be notified for all `locations` that have changes you are authorized to see. items: - type: string - pattern: ^[A-Z]{2}[A-Z2-9]{3}$ - minLength: 5 - maxLength: 5 + type: object description: | - The UN Location code specifying where the place is located. The pattern used must be + It is possible to provide the `UNLocationCode`, the `facilitySMDGCode` or both when specifying the location. - - 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en) - - 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used + If multiple `UNLocationCodes` or `facilitySMDGCodes` need to be provided - then it is necessary to do this in separate `location` objects. + properties: + UNLocationCode: + type: string + pattern: ^[A-Z]{2}[A-Z2-9]{3}$ + minLength: 5 + maxLength: 5 + description: | + The UN Location code specifying where the place is located. The pattern used must be - More info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download) - example: NLAMS - facilitySMDGCodes: - type: array - description: | - An array of **Facility SMDG codes** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the values when matching. + - 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en) + - 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used - If this property is empty, you will be notified for all `facilitySMDGCodes` that have changes you are authorized to see. - items: - type: string - maxLength: 6 - description: | - The code used for identifying the specific facility. This code does not include the UN Location Code. + More info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download) + example: NLAMS + facilitySMDGCode: + type: string + maxLength: 6 + description: | + The code used for identifying the specific facility. This code does not include the UN Location Code. - The codeList used by SMDG is the [SMDG Terminal Code List](https://smdg.org/wp-content/uploads/Codelists/Terminals/SMDG-Terminal-Code-List-v20210401.xlsx) - example: ACT + The codeList used by SMDG is the [SMDG Terminal Code List](https://smdg.org/wp-content/uploads/Codelists/Terminals/SMDG-Terminal-Code-List-v20210401.xlsx) + example: ACT required: - notificationChannel - weekRange From e0ac778d1866c3cd391dcfd6a392757b555c1bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Helm=C3=B8=20Larsen?= Date: Mon, 30 Mar 2026 15:31:42 +0200 Subject: [PATCH 2/4] Update ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml index df681ad4..532a6652 100644 --- a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml +++ b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml @@ -992,7 +992,7 @@ components: description: | It is possible to provide the `UNLocationCode`, the `facilitySMDGCode` or both when specifying the location. - If multiple `UNLocationCodes` or `facilitySMDGCodes` need to be provided - then it is necessary to do this in separate `location` objects. + If multiple `UNLocationCode` or `facilitySMDGCode` values need to be provided, then they must be specified as separate objects in the `locations` array. properties: UNLocationCode: type: string From 42287c81e7a2783983ab42ba3196a7637df36f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Helm=C3=B8=20Larsen?= Date: Mon, 30 Mar 2026 15:34:24 +0200 Subject: [PATCH 3/4] Update ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml index 532a6652..1dc4e6f6 100644 --- a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml +++ b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml @@ -795,7 +795,7 @@ components: description: | It is possible to provide the `UNLocationCode`, the `facilitySMDGCode` or both when specifying the location. - If multiple `UNLocationCodes` or `facilitySMDGCodes` need to be provided - then it is necessary to do this in separate `location` objects. + If multiple locations need to be provided, specify multiple objects in the `locations` array, each with its own `UNLocationCode` and/or `facilitySMDGCode`. properties: UNLocationCode: type: string From 64d1faf7ef360539754757d0a7bc687fd7628bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Helm=C3=B8=20Larsen?= Date: Mon, 30 Mar 2026 17:31:19 +0200 Subject: [PATCH 4/4] Update according to review comments --- ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml index 1dc4e6f6..a94c6c28 100644 --- a/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml +++ b/ovs_hub_ntf/v1/OVS_HUB_NTF_v1.0.0.yaml @@ -786,6 +786,7 @@ components: - '234422543' locations: type: array + minItems: 1 description: | An array of **UNLocationCode and/or facilitySMDGCode combinations** to match with this subscription filter. If the array consists of more than one item - a logical **OR** is used between the objects when matching. @@ -795,7 +796,9 @@ components: description: | It is possible to provide the `UNLocationCode`, the `facilitySMDGCode` or both when specifying the location. - If multiple locations need to be provided, specify multiple objects in the `locations` array, each with its own `UNLocationCode` and/or `facilitySMDGCode`. + If multiple `UNLocationCode` or `facilitySMDGCode` values need to be provided, then they must be specified as separate objects in the `locations` array. + + **Condition:** At least one of `UNLocationCode` and/or `facilitySMDGCode` **MUST** be specified, both are also allowed. properties: UNLocationCode: type: string @@ -818,7 +821,11 @@ components: The codeList used by SMDG is the [SMDG Terminal Code List](https://smdg.org/wp-content/uploads/Codelists/Terminals/SMDG-Terminal-Code-List-v20210401.xlsx) example: ACT - + example: + - UNLocationCode: NLAMS + facilitySMDGCode: APMT + - UNLocationCode: DEHAM + - facilitySMDGCode: APMT required: - subscriptionReference - notificationChannel @@ -993,6 +1000,8 @@ components: It is possible to provide the `UNLocationCode`, the `facilitySMDGCode` or both when specifying the location. If multiple `UNLocationCode` or `facilitySMDGCode` values need to be provided, then they must be specified as separate objects in the `locations` array. + + **Condition:** At least one of `UNLocationCode` and/or `facilitySMDGCode` **MUST** be specified, both are also allowed. properties: UNLocationCode: type: string @@ -1015,6 +1024,11 @@ components: The codeList used by SMDG is the [SMDG Terminal Code List](https://smdg.org/wp-content/uploads/Codelists/Terminals/SMDG-Terminal-Code-List-v20210401.xlsx) example: ACT + example: + - UNLocationCode: NLAMS + facilitySMDGCode: APMT + - UNLocationCode: DEHAM + - facilitySMDGCode: APMT required: - notificationChannel - weekRange