Skip to content

BKG 2.0, EBK 3.0: SD-2969: Add extendedContractQuotationReference#630

Merged
HenrikHL merged 3 commits into
masterfrom
SD-2926_Add-extendedContractQuotationReference
May 15, 2026
Merged

BKG 2.0, EBK 3.0: SD-2969: Add extendedContractQuotationReference#630
HenrikHL merged 3 commits into
masterfrom
SD-2926_Add-extendedContractQuotationReference

Conversation

@HenrikHL
Copy link
Copy Markdown
Contributor

@HenrikHL HenrikHL commented May 15, 2026

SD-2969: Add extendedContractQuotationReference and deprecate contractQuotationReference

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add extendedContractQuotationReference and deprecate contractQuotationReference

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add new extendedContractQuotationReference field supporting 70 characters
• Deprecate contractQuotationReference field with migration guidance
• Update condition descriptions to reference quotation reference variants
• Apply changes consistently across BKG 2.0, EBK 3.0, and PINT 3.0 schemas
Diagram
flowchart LR
  A["contractQuotationReference<br/>35 chars<br/>DEPRECATED"] -->|"precedence"| B["extendedContractQuotationReference<br/>70 chars<br/>NEW"]
  C["serviceContractReference"] -->|"condition: one of"| D["quotationReference<br/>variants"]
  B -->|"replaces"| A
Loading

Grey Divider

File Changes

1. bkg/v2/BKG_v2.0.5.yaml ✨ Enhancement +48/-6

Add extended quotation reference and deprecate old field

• Add extendedContractQuotationReference field with 70 character limit across three schema
 locations
• Mark contractQuotationReference as deprecated with precedence rules
• Update condition descriptions to clarify quotation reference variants
• Add deprecation notices and migration guidance in field descriptions

bkg/v2/BKG_v2.0.5.yaml


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

Add extended quotation reference field

• Add extendedContractQuotationReference field with 70 character limit
• Mark contractQuotationReference as deprecated
• Include precedence and migration notes in descriptions

ebl/v3/issuance/EBL_ISS_v3.0.4.yaml


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

Add extended quotation reference field

• Add extendedContractQuotationReference field with 70 character limit
• Mark contractQuotationReference as deprecated
• Include precedence and migration notes in descriptions

pint/v3/EBL_PINT_v3.0.0.yaml


View more (2)
4. ebl/v3/EBL_v3.0.4.yaml ✨ Enhancement +12/-0

Add extended quotation reference field

• Add extendedContractQuotationReference field with 70 character limit
• Mark contractQuotationReference as deprecated
• Include precedence and migration notes in descriptions

ebl/v3/EBL_v3.0.4.yaml


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

Update styleguide configuration

• Configuration file modifications related to style guide updates

.stoplight/styleguide.json


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented May 15, 2026

Code Review by Qodo

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

Grey Divider


Remediation recommended

1. EBL 3.X spec out-of-sync 🐞 Bug ≡ Correctness
Description
The PR adds extendedContractQuotationReference (and deprecates contractQuotationReference) in
EBL_v3.0.4.yaml, but EBL_v3.X.yaml (versioned as "3.X") still only exposes
contractQuotationReference. This creates inconsistent behavior/documentation depending on whether
consumers use the pinned 3.0.4 or rolling 3.X spec.
Code

ebl/v3/EBL_v3.0.4.yaml[R10135-10142]

+        extendedContractQuotationReference:
+          type: string
+          pattern: ^\S(?:.*\S)?$
+          maxLength: 70
+          description: |
+            Information provided by the shipper to identify whether pricing for the shipment has been agreed via a contract or a quotation reference. The `extendedContractQuotationReference` supports up to 70 characters.
+
+            **Note:** If both `contractQuotationReference` and `extendedContractQuotationReference` are provided then `extendedContractQuotationReference` takes precedence and `contractQuotationReference` must be ignored.
Evidence
EBL_v3.0.4.yaml defines the new extendedContractQuotationReference and marks
contractQuotationReference as deprecated, while the rolling EBL_v3.X.yaml still only defines
contractQuotationReference and has no extendedContractQuotationReference field.

ebl/v3/EBL_v3.0.4.yaml[10119-10143]
ebl/v3/EBL_v3.X.yaml[1-10]
ebl/v3/EBL_v3.X.yaml[7809-7822]

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

## Issue description
`ebl/v3/EBL_v3.X.yaml` (info.version: `3.X`) does not include `extendedContractQuotationReference` or the `deprecated: true` marker for `contractQuotationReference`, even though `EBL_v3.0.4.yaml` was updated to add/deprecate these fields.

## Issue Context
If `EBL_v3.X.yaml` is used as the rolling major-version spec, it should reflect the latest `3.0.x` schema changes (including new fields and deprecations) to avoid confusing/misleading consumers.

## Fix Focus Areas
- ebl/v3/EBL_v3.X.yaml[1-10]
- ebl/v3/EBL_v3.X.yaml[7809-7822]
- ebl/v3/EBL_v3.0.4.yaml[10119-10143]

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



Advisory comments

2. Ambiguous quotationReference term ✓ Resolved 🐞 Bug ⚙ Maintainability
Description
In BKG_v2.0.5.yaml, the condition text refers to "quotationReference" as if it were a field name,
but the schema only defines contractQuotationReference and extendedContractQuotationReference.
This wording is repeated in multiple places and can confuse implementers about what JSON properties
are actually supported.
Code

bkg/v2/BKG_v2.0.5.yaml[2938]

+            **Condition:** One of `serviceContractReference` or "quotationReference" (can be `contractQuotationReference` or `extendedContractQuotationReference`) must be provided, but not both.
Evidence
The condition text mentions "quotationReference", but the actual schema properties in those sections
are contractQuotationReference (deprecated) and extendedContractQuotationReference; there is no
quotationReference property defined.

bkg/v2/BKG_v2.0.5.yaml[2932-2976]
bkg/v2/BKG_v2.0.5.yaml[3337-3381]
bkg/v2/BKG_v2.0.5.yaml[3808-3852]

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 schema condition text uses the quoted term "quotationReference" even though no `quotationReference` property exists; only `contractQuotationReference` and `extendedContractQuotationReference` exist. This is ambiguous documentation that should be rewritten to refer directly to the real property names (or clearly mark it as a generic concept, not a field).

## Issue Context
This wording appears multiple times in `BKG_v2.0.5.yaml` (service contract and quotation references sections).

## Fix Focus Areas
- bkg/v2/BKG_v2.0.5.yaml[2932-2976]
- bkg/v2/BKG_v2.0.5.yaml[3337-3381]
- bkg/v2/BKG_v2.0.5.yaml[3808-3852]

ⓘ 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

This PR updates BKG 2.0.5, eBL 3.0.4, eBL Issuance 3.0.4, and PINT 3.0.0 OpenAPI specs to introduce extendedContractQuotationReference while deprecating contractQuotationReference.

Changes:

  • Adds extendedContractQuotationReference with maxLength: 70.
  • Marks contractQuotationReference as deprecated.
  • Updates BKG condition text and precedence notes for old vs. extended quotation references.

Reviewed changes

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

File Description
pint/v3/EBL_PINT_v3.0.0.yaml Adds the extended quotation reference to PINT transport document schema.
ebl/v3/issuance/EBL_ISS_v3.0.4.yaml Adds the extended quotation reference to issuance transport document schema.
ebl/v3/EBL_v3.0.4.yaml Adds the extended quotation reference to the main eBL transport document schema.
bkg/v2/BKG_v2.0.5.yaml Adds the extended quotation reference across BKG request/response schemas and updates related conditions.

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

Comment thread bkg/v2/BKG_v2.0.5.yaml
Reference number for agreement between shipper and carrier, which optionally includes a certain minimum quantity commitment (usually referred as “MQC”) of cargo that the shipper commits to over a fixed period, and the carrier commits to a certain rate or rate schedule.

**Condition:** One of `serviceContractReference` or `contractQuotationReference` must be provided, but not both.
**Condition:** One of `serviceContractReference` or a "*quotationReference" (which can be `contractQuotationReference` or `extendedContractQuotationReference`) must be provided, but not both.
Comment thread bkg/v2/BKG_v2.0.5.yaml
Reference number for agreement between shipper and carrier, which optionally includes a certain minimum quantity commitment (usually referred as “MQC”) of cargo that the shipper commits to over a fixed period, and the carrier commits to a certain rate or rate schedule.

**Condition:** One of `serviceContractReference` or `contractQuotationReference` must be provided, but not both.
**Condition:** One of `serviceContractReference` or a "*quotationReference" (which can be `contractQuotationReference` or `extendedContractQuotationReference`) must be provided, but not both.
Comment thread bkg/v2/BKG_v2.0.5.yaml
Reference number for agreement between shipper and carrier, which optionally includes a certain minimum quantity commitment (usually referred as “MQC”) of cargo that the shipper commits to over a fixed period, and the carrier commits to a certain rate or rate schedule.

**Condition:** One of `serviceContractReference` or `contractQuotationReference` must be provided, but not both.
**Condition:** One of `serviceContractReference` or a "*quotationReference" (which can be `contractQuotationReference` or `extendedContractQuotationReference`) must be provided, but not both.
@HenrikHL HenrikHL merged commit bc0217f into master May 15, 2026
1 check passed
@HenrikHL HenrikHL deleted the SD-2926_Add-extendedContractQuotationReference branch May 15, 2026 09:04
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