Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .stoplight/styleguide.json

Large diffs are not rendered by default.

99 changes: 5 additions & 94 deletions bkg/v2/BKG_v2.0.5.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4582,27 +4582,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
address:
$ref: '#/components/schemas/PartyAddress'
Expand Down Expand Up @@ -4673,27 +4653,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
address:
$ref: '#/components/schemas/PartyAddress'
Expand Down Expand Up @@ -4872,28 +4832,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the transaction party.
The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the transaction party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).

**Condition:** Only applicable when `isElectronic=true` and `transportDocumentTypeCode=BOL`. The property **MUST** be absent for paper B/Ls (`isElectronic=false`)
example: BOLE
Expand Down Expand Up @@ -5014,41 +4953,13 @@ components:
type: object
title: Identifying Code
description: |
A code and value that uniquely identifies a party.
Code-based identifier for a party. Includes the provider, code, and list name.
properties:
codeListProvider:
type: string
maxLength: 100
description: |
A list of codes identifying a party. Possible values are:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
- `GSBN` (Global Shipping Business Network)
- `WISE` (WiseTech)
- `GLEIF` (Global Legal Entity Identifier Foundation)
- `W3C` (World Wide Web Consortium)
- `DNB` (Dun and Bradstreet)
- `FMC` (Federal Maritime Commission)
- `DCSA` (Digital Container Shipping Association)
- `ZZZ` (Mutually defined)
DCSA code identifying a party code list provider. Possible values are those in the latest version 1.* of the [DCSA list of party code list providers](https://reference.dcsa.org/content/standards/dcsa-code-lists/party-code-list-providers).
example: W3C
partyCode:
type: string
Expand Down
192 changes: 14 additions & 178 deletions ebl/v3/EBL_v3.0.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5763,27 +5763,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. Platform constraint weakened 🐞 Bug ≡ Correctness

Multiple eblPlatform/sendToPlatform fields now say “Possible values are …” instead of preserving
the explicit “value MUST be one of …” requirement, making the normative restriction ambiguous
(especially since these fields are not constrained by enum). This risks divergent interpretations
across versions and implementations about whether non-registry codes are allowed.
Agent Prompt
## Issue description
Several schemas changed from an explicit normative constraint ("The value **MUST** be one of") to a looser phrasing ("Possible values are those in …"). Because these constraints are expressed only in prose (no `enum`), the new wording makes it unclear whether values outside the referenced registry are allowed.

## Issue Context
Earlier contract versions in this repo still use the explicit MUST language for these same fields, so the change introduces cross-version inconsistency and reduces conformance clarity.

## Fix Focus Areas
- ebl/v3/EBL_v3.0.4.yaml[5761-5767]
- ebl/v3/issuance/EBL_ISS_v3.0.4.yaml[624-630]
- bkg/v2/BKG_v2.0.5.yaml[4580-4586]
- pint/v3/EBL_PINT_v3.0.0.yaml[852-858]

## Suggested fix
Update the descriptions to retain normative language, e.g.:
- "The value **MUST** be one of the codes defined in the latest version 1.* of the DCSA … registry …"
Do the same for `sendToPlatform` and other touched occurrences in this PR to keep wording consistent across specs.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

example: BOLE
typeOfPerson:
type: string
Expand Down Expand Up @@ -5886,27 +5866,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
typeOfPerson:
type: string
Expand Down Expand Up @@ -6132,27 +6092,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
typeOfPerson:
type: string
Expand Down Expand Up @@ -6336,27 +6276,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
typeOfPerson:
type: string
Expand Down Expand Up @@ -6511,27 +6431,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
address:
$ref: '#/components/schemas/PartyAddress'
Expand Down Expand Up @@ -6613,27 +6513,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the party. The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).
example: BOLE
address:
$ref: '#/components/schemas/PartyAddress'
Expand Down Expand Up @@ -6748,28 +6628,7 @@ components:
pattern: ^\S+$
maxLength: 4
description: |
The eBL platform of the transaction party.
The value **MUST** be one of:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
The eBL platform of the transaction party. Possible values are those in the latest version 1.* of the [DCSA list of eBL Platforms](https://reference.dcsa.org/content/standards/dcsa-code-lists/ebl-solution-providers).

**Condition:** Only applicable when `isElectronic=true` and `transportDocumentTypeCode=BOL`. The property **MUST** be absent for paper B/Ls (`isElectronic=false`)
example: BOLE
Expand Down Expand Up @@ -7610,47 +7469,23 @@ components:
type: object
title: Identifying Code
description: |
A code and value that uniquely identifies a party.
Code-based identifier for a party (or a placeholder when no identifying code is available). Includes the provider, code, and list name.
properties:
codeListProvider:
type: string
maxLength: 100
description: |
A list of codes identifying a party. Possible values are:
- `WAVE` (Wave)
- `CARX` (CargoX)
- `ESSD` (EssDOCS - This value has been **deprecated**. Please use `IDT`)
- `IDT` (ICE Digital Trade)
- `BOLE` (Bolero)
- `EDOX` (EdoxOnline)
- `IQAX` (IQAX)
- `SECR` (Secro)
- `TRGO` (TradeGO)
- `ETEU` (eTEU)
- `TRAC` (Enigio trace:original)
- `BRIT` (BRITC eBL)
- `COVA` (Covantis)
- `ETIT` (e-title)
- `KTNE` (KTNET)
- `CRED` (Credore)
- `BLOC` (BlockPeer Technologies)
- `DOCU` (DocuTrade)
- `AEOT` (AEOTrade)
- `SGTD` (SGTraDex)
- `GSBN` (Global Shipping Business Network)
- `WISE` (WiseTech)
- `GLEIF` (Global Legal Entity Identifier Foundation)
- `W3C` (World Wide Web Consortium)
- `DNB` (Dun and Bradstreet)
- `FMC` (Federal Maritime Commission)
- `DCSA` (Digital Container Shipping Association)
- `ZZZ` (Mutually defined)
DCSA code identifying a party code list provider. Possible values are those in the latest version 1.* of the [DCSA list of party code list providers](https://reference.dcsa.org/content/standards/dcsa-code-lists/party-code-list-providers).

**Condition:** When an identifying code is not available, the special value `codeListProvider='NA'` should be used instead of any value from the DCSA list of party code list providers.
example: W3C
partyCode:
type: string
maxLength: 150
description: |
Code to identify the party as provided by the `codeListProvider`.

**Condition:** When `codeListProvider='NA'`, the corresponding `partyCode` MUST be set to `NO VALUE`.
example: MSK
codeListName:
type: string
Expand All @@ -7664,6 +7499,7 @@ components:
required:
- codeListProvider
- partyCode

TaxLegalReference:
type: object
title: Tax & Legal Reference
Expand Down
Loading
Loading