From 216c53e6a6a602a9e87ede38c511c6bfd4813a87 Mon Sep 17 00:00:00 2001 From: "henrik.larsen@dcsa.org" Date: Fri, 10 Apr 2026 11:17:45 +0200 Subject: [PATCH 1/2] CS 1.0: SD-2945: Add intermediateCalls to Legs --- cs/v1/CS_v1.0.3.yaml | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/cs/v1/CS_v1.0.3.yaml b/cs/v1/CS_v1.0.3.yaml index 56939642..b7c73789 100644 --- a/cs/v1/CS_v1.0.3.yaml +++ b/cs/v1/CS_v1.0.3.yaml @@ -1660,6 +1660,50 @@ components: pattern: ^\S(?:.*\S)?$ description: The identifier of an export voyage. The carrier-specific identifier of the export Voyage. + IntermediateCall: + title: Intermediate Call + type: object + description: | + An intermediate call between `departure` and `arrival` in the current leg. + + The cargo remains on the same planned transport, and no transhipment takes place at this location. + properties: + transportCallReference: + type: string + example: SR11111X-9321483-2107W-NLAMS-ACT-1-1 + maxLength: 100 + description: | + The unique reference for the arrival transport call. It's the vessel operator's responsibility to provide the Transport Call Reference, other parties are obliged to pick it up and use it. It can take the form of Port Call References as defined in OVS Definitions Document, or alternatively a reference as defined by the vessel operator. + facilityTypeCode: + description: | + The code to identify the specific type of facility. The code indicates which role the facility plays during the transportCall. + - `BORD` (Border) + - `CLOC` (Customer Location) + - `COFS` (Container Freight Station) + - `OFFD` (Off Dock Storage) + - `DEPO` (Depot) + - `INTE` (Inland Terminal) + - `POTE` (Port Terminal) + - `PBPL` (Pilot Boarding Place) + - `BRTH` (Berth) + - `RAMP` (Ramp) + - `WAYP` (Waypoint) + example: POTE + maxLength: 4 + type: string + location: + $ref: '#/components/schemas/Location' + arrivalDateTime: + type: string + format: date-time + example: '2025-01-14T09:21:00+01:00' + description: The local date and time, when the arrival will take place. + departureDateTime: + type: string + format: date-time + example: '2025-01-14T09:21:00+01:00' + description: The local date and time, when the departure will take place. + Leg: title: Leg type: object @@ -1681,6 +1725,20 @@ components: - $ref: '#/components/schemas/OtherTransport' departure: $ref: '#/components/schemas/PlaceOfDeparture' + intermediateCalls: + type: array + description: | + The option to list all intermediate calls between `departure` and `arrival`. + + Intermediate calls are calls where no transhipment and no change of mode of transport takes place. + + This structure allows intermediate non-transhipment calls to be grouped under a single leg, enabling consumers to present them as collapsed or expanded elements in the user interface, instead of treating each call as a separate leg. + + The list only includes calls taking place **between** the `departure` and `arrival` of the current leg. + + The order of the list is the order of visits from `departure` to `arrival`. + items: + $ref: '#/components/schemas/IntermediateCall' arrival: $ref: '#/components/schemas/PlaceOfArrival' footprint: From 16728046c5fa28a7e53dbe4665644cf36193548b Mon Sep 17 00:00:00 2001 From: "henrik.larsen@dcsa.org" Date: Fri, 10 Apr 2026 11:45:54 +0200 Subject: [PATCH 2/2] Make location a required property --- cs/v1/CS_v1.0.3.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cs/v1/CS_v1.0.3.yaml b/cs/v1/CS_v1.0.3.yaml index b7c73789..a6a50590 100644 --- a/cs/v1/CS_v1.0.3.yaml +++ b/cs/v1/CS_v1.0.3.yaml @@ -1703,6 +1703,8 @@ components: format: date-time example: '2025-01-14T09:21:00+01:00' description: The local date and time, when the departure will take place. + required: + - location Leg: title: Leg