From 69e53b9c22935686991eda1d2671494fe209d2a6 Mon Sep 17 00:00:00 2001 From: "henrik.larsen@dcsa.org" Date: Fri, 23 Jan 2026 16:24:38 +0100 Subject: [PATCH 1/4] BKG 2.0: SD-2712: Clear the bookingCancellationStatus --- bkg/v2/BKG_v2.0.4.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bkg/v2/BKG_v2.0.4.yaml b/bkg/v2/BKG_v2.0.4.yaml index 6b693b0b..feb3941c 100644 --- a/bkg/v2/BKG_v2.0.4.yaml +++ b/bkg/v2/BKG_v2.0.4.yaml @@ -1130,11 +1130,13 @@ paths: - the consumer submits a new amendment (**UseCase 7: Request amendment to confirmed Booking**) in which case the "new update" provided **replaces** the "old update". - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old update" is no longer accessible. - If `amendedContent=true` is requested but no amendment has yet been provided by the consumer **or** the state of the "original" `Booking` is `PENDING_AMENDMENT`, then a `404` (Not Found) is returned. + The status of a cancellation of the Booking is included in both payloads as `bookingCancellationStatus` in case an attempt to cancel the booking has been made. It is only available after the provider has approved the `Booking` via **UseCase 5: Confirm Booking request** and until: + - the provider requests for a new amendment (**UseCase 6: Request to amend confirmed Booking**) in which case the "old status" is no longer accessible. + - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old status" is not "carried over" and will no longer be accessible. If the provider is requesting changes to the `Booking`, the `Feedback` object is used to inform the consumer what needs to change. - In case no subscription (`Notification`) has been set up - it is possible to use this endPoint to poll on in order to detect if `bookingStatus` and/or `amendedBookingStatus` has changed. + In case no subscription (`Notification`) has been set up - it is possible to use this endPoint to poll on in order to detect if `bookingStatus` and/or `amendedBookingStatus` (and `bookingCancellationStatus`) has changed. In case a previous request is being processed by the provider - a `202` (Accepted) with **no payload** can be used as a response until the processing is finished. parameters: @@ -1540,6 +1542,8 @@ paths: 3. An empty response is returned and the consumer now awaits further processing by the provider. Once processed, the `Booking` or `Amended Booking` is cancelled and a [Booking Notification](#/BookingNotification) is sent. In case of a Confirmed Booking - the provider has the opportunity to decline the Cancellation of the Booking (in which case the `bookingCancellationStatus='CANCELLATION_DECLINED'`). + + Re-confirming a Booking or requesting a Booking Amendment (**UseCase 7: Request amendment to confirmed Booking**) "clears" the `bookingCancellationStatus`. parameters: - $ref: '#/components/parameters/bookingReferencePathParam' - $ref: '#/components/parameters/Api-Version-Major' From 5e9eada7c6fd73fe1d278a241df8c8c06b344791 Mon Sep 17 00:00:00 2001 From: "henrik.larsen@dcsa.org" Date: Fri, 23 Jan 2026 16:31:14 +0100 Subject: [PATCH 2/4] Fix typo --- bkg/v2/BKG_v2.0.4.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bkg/v2/BKG_v2.0.4.yaml b/bkg/v2/BKG_v2.0.4.yaml index feb3941c..78fff111 100644 --- a/bkg/v2/BKG_v2.0.4.yaml +++ b/bkg/v2/BKG_v2.0.4.yaml @@ -1130,6 +1130,8 @@ paths: - the consumer submits a new amendment (**UseCase 7: Request amendment to confirmed Booking**) in which case the "new update" provided **replaces** the "old update". - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old update" is no longer accessible. + If `amendedContent=true` is requested but no amendment has yet been provided by the consumer **or** the state of the "original" `Booking` is `PENDING_AMENDMENT`, then a `404` (Not Found) is returned. + The status of a cancellation of the Booking is included in both payloads as `bookingCancellationStatus` in case an attempt to cancel the booking has been made. It is only available after the provider has approved the `Booking` via **UseCase 5: Confirm Booking request** and until: - the provider requests for a new amendment (**UseCase 6: Request to amend confirmed Booking**) in which case the "old status" is no longer accessible. - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old status" is not "carried over" and will no longer be accessible. From 035ae2603d5a82376e05afb8348ef94c13247f5c Mon Sep 17 00:00:00 2001 From: "henrik.larsen@dcsa.org" Date: Mon, 26 Jan 2026 09:21:10 +0100 Subject: [PATCH 3/4] Fix review comments --- bkg/v2/BKG_v2.0.4.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bkg/v2/BKG_v2.0.4.yaml b/bkg/v2/BKG_v2.0.4.yaml index 78fff111..db32efcb 100644 --- a/bkg/v2/BKG_v2.0.4.yaml +++ b/bkg/v2/BKG_v2.0.4.yaml @@ -615,7 +615,7 @@ paths: - the provider requests for a new amendment (**UseCase 6: Request to amend confirmed Booking**) in which case the "old update" is no longer accessible - the consumer submits a new update (**UseCase 7: Request amendment to confirmed Booking**) in which case the "new amendment" provided **replaces** the "old amendment". - - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old update" is no longer accessible. + - the provider re-confirms the `Booking` (**UseCase 5: Confirm Booking request**) in which case the "old update" is no longer accessible. requestBody: description: | Parameters used to update the `Booking request` @@ -1126,15 +1126,15 @@ paths: GET /v2/bookings/{bookingReference}?amendedContent=true The `status` of the "original" `Booking` is included in both payloads as `bookingStatus`. `amendedBookingStatus` and related content is only available after the provider has approved the `Booking` via **UseCase 5: Confirm Booking request** and until: - - the provider requests for a new amendment (**UseCase 6: Request to amend confirmed Booking**) in which case the "old update" is no longer accessible. + - the provider requests a new amendment (**UseCase 6: Request to amend confirmed Booking**) in which case the "old update" is no longer accessible. - the consumer submits a new amendment (**UseCase 7: Request amendment to confirmed Booking**) in which case the "new update" provided **replaces** the "old update". - - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old update" is no longer accessible. + - the provider re-confirms the `Booking` (**UseCase 5: Confirm Booking request**) in which case the "old update" is no longer accessible. If `amendedContent=true` is requested but no amendment has yet been provided by the consumer **or** the state of the "original" `Booking` is `PENDING_AMENDMENT`, then a `404` (Not Found) is returned. The status of a cancellation of the Booking is included in both payloads as `bookingCancellationStatus` in case an attempt to cancel the booking has been made. It is only available after the provider has approved the `Booking` via **UseCase 5: Confirm Booking request** and until: - the provider requests for a new amendment (**UseCase 6: Request to amend confirmed Booking**) in which case the "old status" is no longer accessible. - - the provider re-confirms the `Booking` (**UseCase 5: Confirm booking request**) in which case the "old status" is not "carried over" and will no longer be accessible. + - the provider re-confirms the `Booking` (**UseCase 5: Confirm Booking request**) in which case the "old status" is not "carried over" and will no longer be accessible. If the provider is requesting changes to the `Booking`, the `Feedback` object is used to inform the consumer what needs to change. From ed1337bcd7cca1f43ad7ac10a0131ea3e5b978d8 Mon Sep 17 00:00:00 2001 From: "henrik.larsen@dcsa.org" Date: Mon, 26 Jan 2026 09:27:01 +0100 Subject: [PATCH 4/4] Align capitalization --- bkg/v2/BKG_v2.0.4.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bkg/v2/BKG_v2.0.4.yaml b/bkg/v2/BKG_v2.0.4.yaml index db32efcb..e04dea9b 100644 --- a/bkg/v2/BKG_v2.0.4.yaml +++ b/bkg/v2/BKG_v2.0.4.yaml @@ -70,7 +70,7 @@ paths: parameters: - $ref: '#/components/parameters/Api-Version-Major' description: | - Creates a new booking request. This endPoint corresponds with **UseCase 1 - Submit booking request**. + Creates a new booking request. This endPoint corresponds with **UseCase 1 - Submit Booking request**. ## Precondition The consumer has information for a `Booking Request` @@ -598,8 +598,8 @@ paths: - send an update to a newly created Booking (precondition: `bookingStatus='RECEIVED'`) - send an update to a Booking because of a request from provider via **UseCase 2 - Request to update Booking request** (precondition: `bookingStatus='PENDING_UPDATE'`) - send an additional update to a Booking that has already received an update (precondition: `bookingStatus='UPDATE_RECEIVED'`) - - `bookingStatus` will stay as `PENDING_AMENDMENT` but `amendedBookingStatus` will change to `AMENDMENT_RECEIVED` in case this endPoint is being used in response to a request from provider via **UseCase 6 - Request to amend Confirmed Booking** (precondition: `bookingStatus='PENDING_AMENDMENT'`) - - `bookingStatus` will stay as `CONFIRMED` but `amendedBookingStatus` will change to `AMENDMENT_RECEIVED` in case this endPoint is being used to update an already confirmed Booking via **UseCase 7 - Request Amendments to Confirmed Booking** (precondition: `bookingStatus='CONFIRMED'`) + - `bookingStatus` will stay as `PENDING_AMENDMENT` but `amendedBookingStatus` will change to `AMENDMENT_RECEIVED` in case this endPoint is being used in response to a request from provider via **UseCase 6 - Request to amend confirmed Booking** (precondition: `bookingStatus='PENDING_AMENDMENT'`) + - `bookingStatus` will stay as `CONFIRMED` but `amendedBookingStatus` will change to `AMENDMENT_RECEIVED` in case this endPoint is being used to update an already confirmed Booking via **UseCase 7 - Request amendments to confirmed Booking** (precondition: `bookingStatus='CONFIRMED'`) Once processed, the new state will be communicated via a [Booking Notification](#/BookingNotification). In case the consumer does not subscribe to notifications it is necessary for the consumer to poll on the @@ -1515,7 +1515,7 @@ paths: description: | A shipper initiated cancellation of the `Booking` or `Booking Amendment` with the `bookingReference`. The path can contain a `carrierBookingRequestReference` or a `carrierBookingReference`. - This endPoint corresponds with **UseCase 11 - Cancel Booking Request by shipper**, **UseCase 9 - Cancel amendment to confirmed Booking** or **UseCase 13 - Cancel confirmed Booking by shipper**. + This endPoint corresponds with **UseCase 11 - Cancel Booking request by shipper**, **UseCase 9 - Cancel amendment to confirmed Booking** or **UseCase 13 - Cancel confirmed Booking by shipper**. ## Precondition In order to cancel a `Booking`, the `bookingStatus` must be one of