Skip to content

BKG 2.0, EBL 3.0: SD-2923: Add isNotifyParty to Consignee and Endorsee#627

Merged
HenrikHL merged 14 commits intomasterfrom
SD-2923_Add-isNotifyParty
May 1, 2026
Merged

BKG 2.0, EBL 3.0: SD-2923: Add isNotifyParty to Consignee and Endorsee#627
HenrikHL merged 14 commits intomasterfrom
SD-2923_Add-isNotifyParty

Conversation

@HenrikHL
Copy link
Copy Markdown
Contributor

@HenrikHL HenrikHL commented May 1, 2026

SD-2923: Add isNotifyParty to both Consignee and Endorsee

@HenrikHL HenrikHL requested a review from Copilot May 1, 2026 07:53
@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add isNotifyParty property to Consignee and Endorsee parties

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add isNotifyParty boolean property to Consignee and Endorsee schemas
• Property indicates if party is also a conceptual NotifyParty with identical information
• Update NotifyParty list documentation to reflect party hierarchy changes
• Applied consistently across EBL, BKG, and PINT API specifications
Diagram
flowchart LR
  A["Consignee/Endorsee<br/>isNotifyParty=true"] -->|"Conceptually becomes"| B["N1 First Notify Party"]
  C["Existing N1<br/>First Notify Party"] -->|"Becomes"| D["N2 Second Notify Party"]
  E["Existing N2<br/>Second Notify Party"] -->|"Becomes"| F["NI Other Notify Party"]
Loading

Grey Divider

File Changes

1. ebl/v3/EBL_v3.0.4.yaml ✨ Enhancement +24/-0

Add isNotifyParty to Consignee and Endorsee schemas

• Added isNotifyParty boolean property to Consignee schema (two locations)
• Added isNotifyParty boolean property to Endorsee schema (two locations)
• Updated NotifyParty list documentation with hierarchy notes for when isNotifyParty is set
• Clarified that visual representation of Consignee/Endorsee as NotifyParty is not prescribed

ebl/v3/EBL_v3.0.4.yaml


2. ebl/v3/issuance/EBL_ISS_v3.0.4.yaml ✨ Enhancement +12/-0

Add isNotifyParty to issuance Consignee and Endorsee

• Added isNotifyParty boolean property to Consignee schema
• Added isNotifyParty boolean property to Endorsee schema
• Updated NotifyParty list documentation with hierarchy and visual representation notes

ebl/v3/issuance/EBL_ISS_v3.0.4.yaml


3. pint/v3/EBL_PINT_v3.0.0.yaml ✨ Enhancement +12/-0

Add isNotifyParty to PINT Consignee and Endorsee

• Added isNotifyParty boolean property to Consignee schema
• Added isNotifyParty boolean property to Endorsee schema
• Updated NotifyParty list documentation with hierarchy and visual representation notes

pint/v3/EBL_PINT_v3.0.0.yaml


View more (2)
4. bkg/v2/BKG_v2.0.5.yaml ✨ Enhancement +7/-0

Add isNotifyParty to BKG Consignee schema

• Added isNotifyParty boolean property to Consignee schema
• Updated NotifyParty role documentation with hierarchy notes for when isNotifyParty is set
• Clarified that visual representation of Consignee as NotifyParty is not prescribed

bkg/v2/BKG_v2.0.5.yaml


5. .stoplight/styleguide.json ⚙️ Configuration changes +1/-1

Styleguide configuration update

• Configuration file updated (insufficient detail available)

.stoplight/styleguide.json


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented May 1, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. notifyParties still mandatory📎 Requirement gap ≡ Correctness
Description
The spec still states notifyParties is mandatory for To Order BLs even when
consignee.isNotifyParty/endorsee.isNotifyParty can represent the conceptual first notify party.
This conflicts with the requirement to allow representing “Same as Consignee/Endorsee” without a
notifyParties entry.
Code

ebl/v3/EBL_v3.0.4.yaml[R10973-10977]

            **Condition:** If provided:
              - Mandatory for To Order BLs, `isToOrder=true`
              - The order of the items in this array **MUST** be preserved as by the provider of the API.
+
+            **Note:** If `isNotifyParty` is set in either `Consignee` or `Endorsee` parties, then 1st item in the list conceptually becomes **Second Notify Party** (`N2`) and any other items in the list conceptually becomes **Other Notify Party** (`NI`). The `Consignee` or `Endorsee` conceptually becomes **Frist Notify Party** (`N1`).
Evidence
PR Compliance ID 4 requires the spec to explicitly support omitting notifyParties when
isNotifyParty=true and no additional notify parties are needed. The notifyParties description
still says it is mandatory for To Order BLs, while the newly-added isNotifyParty semantics define
a conceptual notify party identical to the Consignee/Endorsee.

Allow representing 'Same as Consignee/Endorsee' notify party without notifyParties entry
ebl/v3/EBL_v3.0.4.yaml[10967-10977]
ebl/v3/EBL_v3.0.4.yaml[6232-6236]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`notifyParties` is still documented as mandatory for To Order BLs even when `consignee.isNotifyParty=true` or `endorsee.isNotifyParty=true` is intended to allow representing the conceptual first notify party without providing a `notifyParties` entry.

## Issue Context
Compliance requires explicitly supporting the case where no additional notify parties are needed (i.e., omit/empty `notifyParties`) and `isNotifyParty=true` alone signals the conceptual notify party.

## Fix Focus Areas
- ebl/v3/EBL_v3.0.4.yaml[10967-10977]

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



Remediation recommended

2. Double-negative in description🐞 Bug ≡ Correctness
Description
The isNotifyParty description includes the phrase "does not not prescribe", which
reverses/obscures the intended meaning and can mislead API consumers reading the published spec. The
same erroneous sentence is duplicated across multiple specs (BKG/EBL/ISS/PINT), multiplying the
documentation defect.
Code

bkg/v2/BKG_v2.0.5.yaml[R4717-4721]

+        isNotifyParty:
+          type: boolean
+          description: |
+            Indicates whether the Consignee is also a NotifyParty with identical information. If set to `true` a conceptual 1st notify party identical to the Consigee will exist (any existing 1st NotifyParty conceptually becomes 2nd NotifyParty, any existing 2nd NotifyParty conceptually becomes OtherNotifyParty). The NotifyParty-object will not be affected. Setting this property to `true` does not not prescribe what should appear on the printed B/L.
+          example: true
Evidence
The description text for the newly added isNotifyParty field contains a double-negative ("does not
not prescribe"), which is logically ambiguous and typically reads as the opposite of what is
intended. The same sentence is repeated in other versioned specs, indicating copy/paste propagation
of the same defect.

bkg/v2/BKG_v2.0.5.yaml[4717-4721]
ebl/v3/EBL_v3.0.4.yaml[6232-6236]
ebl/v3/issuance/EBL_ISS_v3.0.4.yaml[3466-3470]
pint/v3/EBL_PINT_v3.0.0.yaml[4213-4217]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The `isNotifyParty` description text contains a double-negative ("does not not prescribe"), which changes/obscures the meaning in the published OpenAPI documentation.

### Issue Context
This sentence appears to be copied into multiple versioned specs; fix all occurrences to keep the standards text consistent.

### Fix Focus Areas
- bkg/v2/BKG_v2.0.5.yaml[4717-4721]
- ebl/v3/EBL_v3.0.4.yaml[6232-6236]
- ebl/v3/EBL_v3.0.4.yaml[6439-6443]
- ebl/v3/EBL_v3.0.4.yaml[6583-6587]
- ebl/v3/EBL_v3.0.4.yaml[6688-6692]
- ebl/v3/issuance/EBL_ISS_v3.0.4.yaml[3466-3470]
- ebl/v3/issuance/EBL_ISS_v3.0.4.yaml[3600-3604]
- pint/v3/EBL_PINT_v3.0.0.yaml[4213-4217]
- pint/v3/EBL_PINT_v3.0.0.yaml[4347-4351]

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


3. Typos in notify notes🐞 Bug ⚙ Maintainability
Description
The new notes describing how isNotifyParty shifts N1/N2/NI semantics contain repeated typos (e.g.,
"Frist", "Cosnignee"), reducing clarity in normative spec text. Because these notes explain ordering
semantics, the typos increase the risk of misinterpretation by implementers.
Code

ebl/v3/EBL_v3.0.4.yaml[11052]

+            **Note:** If `isNotifyParty` is set in either `Consignee` or `Endorsee` parties, then 1st item in the list conceptually becomes **Second Notify Party** (`N2`) and any other items in the list conceptually becomes **Other Notify Party** (`NI`). The `Consignee` or `Endorsee` conceptually becomes **Frist Notify Party** (`N1`). Any visual representation (e.g. in a PDF) of the `Cosnignee` / `Endorsee` as a NotifyParty is not prescribed by the standard (e.g it can be the text: "Same as Consignee/Endorsee" or a copy of the Consignee/Endorsee, etc).
Evidence
The added notes include misspellings in key terms ("First" and "Consignee") in the same sentence
that defines how notify party positions are reinterpreted; these typos recur across multiple specs,
indicating systematic propagation.

ebl/v3/EBL_v3.0.4.yaml[10967-10978]
ebl/v3/EBL_v3.0.4.yaml[11042-11053]
bkg/v2/BKG_v2.0.5.yaml[4463-4480]
ebl/v3/issuance/EBL_ISS_v3.0.4.yaml[4013-4024]
pint/v3/EBL_PINT_v3.0.0.yaml[4679-4690]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The notes describing notify party ordering when `isNotifyParty=true` contain repeated typos (e.g., "Frist" and "Cosnignee"), which reduces clarity in the normative spec text.

### Issue Context
These notes explain semantic remapping of N1/N2/NI; they are likely to be read and implemented directly by integrators, so correctness and clarity matter.

### Fix Focus Areas
- bkg/v2/BKG_v2.0.5.yaml[4463-4480]
- ebl/v3/EBL_v3.0.4.yaml[10967-10978]
- ebl/v3/EBL_v3.0.4.yaml[11042-11053]
- ebl/v3/issuance/EBL_ISS_v3.0.4.yaml[4013-4024]
- pint/v3/EBL_PINT_v3.0.0.yaml[4679-4690]

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


Grey Divider

Qodo Logo

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds support in the BKG 2.0 and eBL 3.0 schemas to indicate when the Consignee / Endorsee should be treated conceptually as a Notify Party via a new isNotifyParty boolean.

Changes:

  • Add isNotifyParty: boolean to Consignee and Endorsee schemas (where applicable) across PINT, EBL, and EBL Issuance specs.
  • Update Notify Party-related narrative text to describe the conceptual Notify Party ordering when isNotifyParty=true.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 19 comments.

File Description
pint/v3/EBL_PINT_v3.0.0.yaml Adds isNotifyParty to Consignee/Endorsee and updates notifyParties description note.
ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Adds isNotifyParty to Consignee/Endorsee and updates notifyParties description note.
ebl/v3/EBL_v3.0.4.yaml Adds isNotifyParty to Consignee/Endorsee variants and updates notifyParties notes in multiple party sections.
bkg/v2/BKG_v2.0.5.yaml Adds isNotifyParty to Consignee and updates party function note to describe conceptual Notify Party ordering.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread bkg/v2/BKG_v2.0.5.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread bkg/v2/BKG_v2.0.5.yaml Outdated
Comment thread ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread bkg/v2/BKG_v2.0.5.yaml Outdated
Comment thread bkg/v2/BKG_v2.0.5.yaml Outdated
Comment thread ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread pint/v3/EBL_PINT_v3.0.0.yaml Outdated
Comment thread pint/v3/EBL_PINT_v3.0.0.yaml Outdated
Comment thread ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Outdated
Comment thread ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Outdated
Comment thread pint/v3/EBL_PINT_v3.0.0.yaml Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 8 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread pint/v3/EBL_PINT_v3.0.0.yaml
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread ebl/v3/EBL_v3.0.4.yaml Outdated
Comment thread ebl/v3/issuance/EBL_ISS_v3.0.4.yaml
Comment thread pint/v3/EBL_PINT_v3.0.0.yaml Outdated
HenrikHL and others added 5 commits May 1, 2026 11:16
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@HenrikHL HenrikHL merged commit b840a6e into master May 1, 2026
9 checks passed
@HenrikHL HenrikHL deleted the SD-2923_Add-isNotifyParty branch May 1, 2026 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants