From b2d15e47849b802e2d07e4bccf26831aedbe8318 Mon Sep 17 00:00:00 2001 From: SangeethaPalat Date: Tue, 8 Oct 2024 10:40:25 +0200 Subject: [PATCH] DT-1821-Updated the schema and the request json to the latest --- .../messages/eblissuance-v3.0.0-request.json | 162 +- .../schemas/eblissuance-v3.0.0.json | 6274 ++++++++--------- 2 files changed, 3238 insertions(+), 3198 deletions(-) diff --git a/ebl-issuance/src/main/resources/standards/eblissuance/messages/eblissuance-v3.0.0-request.json b/ebl-issuance/src/main/resources/standards/eblissuance/messages/eblissuance-v3.0.0-request.json index fd5f96b1..7815c952 100644 --- a/ebl-issuance/src/main/resources/standards/eblissuance/messages/eblissuance-v3.0.0-request.json +++ b/ebl-issuance/src/main/resources/standards/eblissuance/messages/eblissuance-v3.0.0-request.json @@ -2,11 +2,90 @@ "document": { "transportDocumentReference": "TRANSPORT_DOCUMENT_REFERENCE_PLACEHOLDER", "shippingInstructionsReference": "SHIPPING_INSTRUCTION_REFERENCE_PLACEHOLDER", + "transportDocumentStatus": "ISSUED", "transportDocumentTypeCode": "BOL", + "isShippedOnBoardType": true, "freightPaymentTermCode": "PRE", "isElectronic": true, "isToOrder": false, + "displayedNameForPlaceOfReceipt": [ + "Strawinskylaan 4117" + ], + "displayedNameForPortOfLoad": [ + "Strawinskylaan 4117" + ], + "displayedNameForPortOfDischarge": [ + "Strawinskylaan 4117" + ], + "displayedNameForPlaceOfDelivery": [ + "Strawinskylaan 4117" + ], + "shippedOnBoardDate": "2020-12-12", + "displayedShippedOnBoardReceivedForShipment": "Received for Shipment CMA CGM CONCORDE 28-Jul-2022 CMA CGM Agences France SAS As agents for the Carrier", + "termsAndConditions": "Any reference in...", + "receiptTypeAtOrigin": "CY", + "deliveryTypeAtDestination": "CY", + "cargoMovementTypeAtOrigin": "FCL", + "cargoMovementTypeAtDestination": "FCL", + "issueDate": "2020-12-12", + "serviceContractReference": "HHL51800000", "contractQuotationReference": "12345", + "declaredValue": 1231.1, + "declaredValueCurrency": "DKK", + "carrierCode": "MMCU", + "carrierCodeListProvider": "NMFTA", + "carrierClauses": [ + "It is not allowed to..." + ], + "numberOfRiderPages": 2, + "transports": { + "plannedArrivalDate": "2024-06-07", + "plannedDepartureDate": "2024-06-03", + "preCarriageBy": "RAIL", + "onCarriageBy": "TRUCK", + "placeOfReceipt": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + }, + "portOfLoading": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + }, + "portOfDischarge": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + }, + "placeOfDelivery": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + }, + "onwardInlandRouting": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + }, + "vesselVoyages": [ + { + "vesselName": "King of the Seas", + "carrierExportVoyageNumber": "2103S", + "universalExportVoyageReference": "2103N" + } + ] + }, + "charges": [ + { + "chargeName": "Documentation fee - Destination", + "currencyAmount": 1012.12, + "currencyCode": "DKK", + "paymentTermCode": "PRE", + "calculationBasis": "Per day", + "unitPrice": 3456.6, + "quantity": 34.4 + } + ], + "placeOfIssue": { + "locationName": "Port of Amsterdam", + "UNLocationCode": "NLAMS" + }, "invoicePayableAt": { "UNLocationCode": "DKAAR" }, @@ -28,10 +107,10 @@ }, "consignee": { "partyName": "CONSIGNEE_LEGAL_NAME_PLACEHOLDER", - "partyCodes": [ + "identifyingCodes": [ { - "partyCode": "CONSIGNEE_PARTY_CODE_PLACEHOLDER", "codeListProvider": "EPUI", + "partyCode": "CONSIGNEE_PARTY_CODE_PLACEHOLDER", "codeListName": "CONSIGNEE_CODE_LIST_NAME_PLACEHOLDER" } ], @@ -42,17 +121,6 @@ } ] }, - "notifyParties": [ - { - "partyName": "DCSA CTK", - "partyContactDetails": [ - { - "name": "DCSA test person", - "email": "no-reply@dcsa.example.org" - } - ] - } - ], "issuingParty": { "partyName": "Hyundai", "address": { @@ -68,6 +136,17 @@ } ] }, + "notifyParties": [ + { + "partyName": "DCSA CTK", + "partyContactDetails": [ + { + "name": "DCSA test person", + "email": "no-reply@dcsa.example.org" + } + ] + } + ], "other": [ { "party": { @@ -102,65 +181,26 @@ ], "utilizedTransportEquipments": [ { + "equipment": { + "equipmentReference": "NARU3472484", + "ISOEquipmentCode": "22G1" + }, "isShipperOwned": false, "seals": [ { "number": "DCSA-CTK-1234" } - ], - "cargoGrossWeight": 12000.0, - "cargoGrossWeightUnit": "KGM", - "equipment": { - "ISOEquipmentCode": "22G1", - "equipmentReference": "NARU3472484" - } - } - ], - "isShippedOnBoardType": true, - "transportDocumentStatus": "ISSUED", - "cargoMovementTypeAtOrigin": "FCL", - "cargoMovementTypeAtDestination": "FCL", - "receiptTypeAtOrigin": "CY", - "deliveryTypeAtDestination": "CY", - "shippedOnBoardDate": "2023-12-19", - "termsAndConditions": "You agree that this transport document exist is name only for the sake of\ntesting your conformance with the DCSA EBL API. This transport document is NOT backed\nby a real shipment with ANY carrier and NONE of the requested services will be\ncarried out in real life.\n\nUnless required by applicable law or agreed to in writing, DCSA provides\nthis JSON data on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\nANY KIND, either express or implied, including, without limitation, any\nwarranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY,\nor FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for\ndetermining the appropriateness of using or redistributing this JSON\ndata and assume any risks associated with Your usage of this data.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall DCSA be liable to\nYou for damages, including any direct, indirect, special, incidental, or\nconsequential damages of any character arising as a result of this terms or conditions\nor out of the use or inability to use the provided JSON data (including but not limited\nto damages for loss of goodwill, work stoppage, computer failure or malfunction, or any\nand all other commercial damages or losses), even if DCSA has been advised of the\npossibility of such damages.\n", - "carrierCode": "HMM", - "carrierCodeListProvider": "SMDG", - "charges": [ - { - "chargeName": "Fictive transport document fee", - "currencyAmount": 1.0, - "currencyCode": "EUR", - "paymentTermCode": "COL", - "calculationBasis": "Per transport document", - "unitPrice": 1.0, - "quantity": 1 + ] } - ], - "transports": { - "plannedDepartureDate": "2023-12-19", - "plannedArrivalDate": "2023-12-21", - "portOfLoading": { - "UNLocationCode": "DKAAR" - }, - "portOfDischarge": { - "UNLocationCode": "DEBRV" - }, - "vesselVoyages": [ - { - "vesselName": "HMM Algeciras", - "carrierExportVoyageNumber": "402E" - } - ] - } + ] }, "issueTo": { - "sendToPlatform": "SEND_TO_PLATFORM_PLACEHOLDER", "partyName": "ISSUE_TO_LEGAL_NAME_PLACEHOLDER", - "partyCodes": [ + "sendToPlatform": "SEND_TO_PLATFORM_PLACEHOLDER", + "identifyingCodes": [ { - "partyCode": "ISSUE_TO_PARTY_CODE_PLACEHOLDER", "codeListProvider": "EPUI", + "partyCode": "ISSUE_TO_PARTY_CODE_PLACEHOLDER", "codeListName": "ISSUE_TO_CODE_LIST_NAME_PLACEHOLDER" } ] diff --git a/ebl-issuance/src/main/resources/standards/eblissuance/schemas/eblissuance-v3.0.0.json b/ebl-issuance/src/main/resources/standards/eblissuance/schemas/eblissuance-v3.0.0.json index 2862b764..b64ff8d9 100644 --- a/ebl-issuance/src/main/resources/standards/eblissuance/schemas/eblissuance-v3.0.0.json +++ b/ebl-issuance/src/main/resources/standards/eblissuance/schemas/eblissuance-v3.0.0.json @@ -1,3154 +1,3154 @@ { - "components" : { - "headers" : { - "API-Version" : { - "description" : "SemVer used to indicate the version of the contract (API version) returned.\n", - "explode" : false, - "schema" : { - "example" : "3.0.0", - "type" : "string" - }, - "style" : "simple" - } + "openapi": "3.0.3", + "info": { + "title": "DCSA eBL Issuance API", + "description": "

DCSA OpenAPI specification for the issuance of an electronic Bill of Lading (eBL) via an eBL Solution Provider

\n\nThis API is intended as an API between a carrier and a EBL Solution Platform.\n\nThe EBL Solution Provider is to implement\n\n PUT /v3/ebl-issuance-requests\n\nfor the carrier to call and the carrier is to implement\n\n POST /v3/ebl-issuance-responses\n\nfor the EBL Solution Provider to call.\n\nWhen the document is to be surrendered, it should happen via a version of the [DCSA EBL Surrender](https://app.swaggerhub.com/apis-docs/dcsaorg/DCSA_EBL_SUR/3.0.0) API.\n\n### API Design & Implementation Principles\nThis API follows the guidelines defined in version 2.1 of the API Design & Implementation Principles which can be found on the [DCSA Developer page](https://developer.dcsa.org/api_design)\n\nFor a changelog, please click [here](https://github.com/dcsaorg/DCSA-OpenAPI/tree/master/ebl/v3/issuance#v300). Please [create a GitHub issue](https://github.com/dcsaorg/DCSA-OpenAPI/issues/new) if you have any questions/comments.\n\nAPI specification issued by [DCSA.org](https://dcsa.org/).\n", + "contact": { + "name": "Digital Container Shipping Association (DCSA)", + "url": "https://dcsa.org", + "email": "info@dcsa.org" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "3.0.0" + }, + "servers": [ + { + "url": "https://virtserver.swaggerhub.com/dcsaorg/DCSA_EBL_ISS/3.0.0", + "description": "SwaggerHub API Auto Mocking" + } + ], + "tags": [ + { + "name": "Issuance EBL", + "description": "Issuance EBL **implemented** by EBL Solution Platform\n" + }, + { + "name": "Issuance Response", + "description": "Issuance Response **implemented** by carrier\n" + } + ], + "paths": { + "/v3/ebl-issuance-requests": { + "put": { + "tags": [ + "Issuance EBL" + ], + "summary": "Request issuance of an EBL", + "description": "Submit a transport document (EBL) for issuance\n\n**This endPoint is to be implemented by an EBL Solution Provider for the carrier to call**\n", + "operationId": "put-ebl-issuance-requests", + "parameters": [ + { + "name": "API-Version", + "in": "header", + "description": "An API-Version header **MAY** be added to the request (optional); if added it **MUST** only contain **MAJOR** version. API-Version header **MUST** be aligned with the URI version.\n", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "3" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssuanceRequest" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Platform acknowledges the issuance request and will follow up later with a response via the DCSA_ISS_RSP API. Please see the API description for the concrete link and version.\n\nNote that the platform MUST NOT accept an issuance request twice. If the client misbehaves and attempts to complete the same transaction more than once, then the platform must ensure that at most one of these requests sees a successful response. The rest should an error instead.\n", + "headers": { + "API-Version": { + "$ref": "#/components/headers/API-Version" + } + } + }, + "409": { + "description": "An Issuance Request is made with a Transport Document Reference (TDR), that was used previously to request the issuance of a Transport Document (TD). The document is either already issued or an TD with the same TDR. \n\nThe eBL platform will inform the carrier when the carrier needs to act on this document again. If the issuance is pending, then the carrier will be notified via the DCSA_EBL_ISS_RSP API once the issuance process completes. If the issuance has already succeeded, the eBL platform will notify the carrier when there is a surrender request via the DCSA_EBL_SUR API.\n", + "headers": { + "API-Version": { + "$ref": "#/components/headers/API-Version" + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "default": { + "description": "Request failed for some reason.", + "headers": { + "API-Version": { + "$ref": "#/components/headers/API-Version" + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/v3/ebl-issuance-responses": { + "post": { + "tags": [ + "Issuance Response" + ], + "summary": "Respond to a transport document issuance request", + "description": "Submit a response to a carrier issuance request.\n\n**This endPoint is to be implemented by a carrier for the EBL Solution Provider to call**\n", + "operationId": "create-ebl-issuance-response", + "parameters": [ + { + "name": "API-Version", + "in": "header", + "description": "An API-Version header **MAY** be added to the request (optional); if added it **MUST** only contain **MAJOR** version. API-Version header **MUST** be aligned with the URI version.\n", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "3" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IssuanceResponse" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Carrier's acknowledgement of the Issuance Response", + "headers": { + "API-Version": { + "$ref": "#/components/headers/API-Version" + } + } + }, + "default": { + "description": "Request failed for some reason.", + "headers": { + "API-Version": { + "$ref": "#/components/headers/API-Version" + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ErrorResponse": { + "title": "Error Response", + "required": [ + "errorDateTime", + "errors", + "httpMethod", + "requestUri", + "statusCode", + "statusCodeText" + ], + "type": "object", + "properties": { + "httpMethod": { + "type": "string", + "description": "The HTTP method used to make the request e.g. `GET`, `POST`, etc\n", + "example": "POST", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTION", + "PATCH" + ] + }, + "requestUri": { + "type": "string", + "description": "The URI that was requested.\n", + "example": "/v1/events" + }, + "statusCode": { + "type": "integer", + "description": "The HTTP status code returned.\n", + "format": "int32", + "example": 400 + }, + "statusCodeText": { + "maxLength": 50, + "type": "string", + "description": "A standard short description corresponding to the HTTP status code.\n", + "example": "Bad Request" + }, + "statusCodeMessage": { + "maxLength": 200, + "type": "string", + "description": "A long description corresponding to the HTTP status code with additional information.\n", + "example": "The supplied data could not be accepted" + }, + "providerCorrelationReference": { + "maxLength": 100, + "type": "string", + "description": "A unique identifier to the HTTP request within the scope of the API provider.\n", + "example": "4426d965-0dd8-4005-8c63-dc68b01c4962" + }, + "errorDateTime": { + "type": "string", + "description": "The DateTime corresponding to the error occurring. Must be formatted using [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n", + "format": "date-time", + "example": "2024-09-04T09:41:00Z" + }, + "errors": { + "minItems": 1, + "type": "array", + "description": "An array of errors providing more detail about the root cause.\n", + "items": { + "$ref": "#/components/schemas/DetailedError" + } + } + }, + "description": "Unexpected error" }, - "parameters" : { - "Api-Version-Major" : { - "description" : "An API-Version header **MAY** be added to the request (optional); if added it **MUST** only contain **MAJOR** version. API-Version header **MUST** be aligned with the URI version.\n", - "explode" : false, - "in" : "header", - "name" : "API-Version", - "required" : false, - "schema" : { - "example" : "3", - "type" : "string" - }, - "style" : "simple" - } + "DetailedError": { + "title": "Detailed Error", + "required": [ + "errorCodeMessage", + "errorCodeText" + ], + "type": "object", + "properties": { + "errorCode": { + "maximum": 9999, + "minimum": 7000, + "type": "integer", + "description": "The detailed error code returned.\n\n - `7000-7999` Technical error codes\n - `8000-8999` Functional error codes\n - `9000-9999` API provider-specific error codes \n\n[Error codes as specified by DCSA](https://developer.dcsa.org/standard-error-codes).\n", + "format": "int32", + "example": 7003 + }, + "property": { + "maxLength": 100, + "type": "string", + "description": "The name of the property causing the error.\n", + "example": "facilityCode" + }, + "value": { + "maxLength": 500, + "type": "string", + "description": "The value of the property causing the error serialised as a string exactly as in the original request.\n", + "example": "SG SIN WHS" + }, + "jsonPath": { + "maxLength": 500, + "type": "string", + "description": "A path to the property causing the error, formatted according to [JSONpath](https://github.com/json-path/JsonPath).\n", + "example": "$.location.facilityCode" + }, + "errorCodeText": { + "maxLength": 100, + "type": "string", + "description": "A standard short description corresponding to the `errorCode`.\n", + "example": "invalidData" + }, + "errorCodeMessage": { + "maxLength": 5000, + "type": "string", + "description": "A long description corresponding to the `errorCode` with additional information.\n", + "example": "Spaces not allowed in facility code" + } + }, + "description": "A detailed description of what has caused the error.\n" }, - "schemas" : { - "ActiveReeferSettings" : { - "description" : "The specifications for a Reefer equipment.\n\n**Condition:** Only applicable when `isNonOperatingReefer` is set to `false`\n", - "properties" : { - "airExchangeSetpoint" : { - "description" : "Target value for the air exchange rate which is the rate at which outdoor air replaces indoor air within a Reefer container\n", - "example" : 15.4, - "format" : "float", - "minimum" : 0, - "type" : "number" - }, - "airExchangeUnit" : { - "description" : "The unit for `airExchange` in metrics- or imperial- units per hour\n- `MQH` (Cubic metre per hour)\n- `FQH` (Cubic foot per hour)\n\n**Condition:** Mandatory to provide if `airExchange` is provided\n", - "enum" : [ - "MQH", - "FQH" - ], - "example" : "MQH", - "type" : "string" - }, - "co2Setpoint" : { - "description" : "The percentage of the controlled atmosphere CO2 target value\n", - "example" : 25, - "format" : "float", - "maximum" : 100, - "minimum" : 0, - "type" : "number" - }, - "humiditySetpoint" : { - "description" : "The percentage of the controlled atmosphere humidity target value\n", - "example" : 95.6, - "format" : "float", - "maximum" : 100, - "minimum" : 0, - "type" : "number" - }, - "isBulbMode" : { - "description" : "Is special container setting for handling flower bulbs active\n", - "example" : true, - "type" : "boolean" - }, - "isColdTreatmentRequired" : { - "description" : "Indicator whether cargo requires cold treatment prior to loading at origin or during transit, but prior arrival at POD\n", - "example" : true, - "type" : "boolean" - }, - "isControlledAtmosphereRequired" : { - "description" : "Indicator of whether cargo requires Controlled Atmosphere.\n", - "example" : true, - "type" : "boolean" - }, - "isDrainholesOpen" : { - "description" : "Is drain holes open on the container\n", - "example" : true, - "type" : "boolean" - }, - "isVentilationOpen" : { - "description" : "If `true` the ventilation orifice is `Open` - if `false` the ventilation orifice is `closed`\n", - "example" : true, - "type" : "boolean" - }, - "o2Setpoint" : { - "description" : "The percentage of the controlled atmosphere CO2 target value\n", - "example" : 25, - "format" : "float", - "maximum" : 100, - "minimum" : 0, - "type" : "number" - }, - "temperatureSetpoint" : { - "description" : "Target value of the temperature for the Reefer based on the cargo requirement.\n", - "example" : -15, - "format" : "float", - "type" : "number" - }, - "temperatureUnit" : { - "description" : "The unit for temperature in Celsius or Fahrenheit\n\n- `CEL` (Celsius)\n- `FAH` (Fahrenheit)\n\n**Condition:** Mandatory to provide if `temperatureSetpoint` is provided\n", - "enum" : [ - "CEL", - "FAH" - ], - "example" : "CEL", - "type" : "string" - } - }, - "title" : "Active Reefer Settings", - "type" : "object" - }, - "Address" : { - "description" : "An object for storing address related information\n", - "properties" : { - "POBox" : { - "description" : "A numbered box at a post office where a person or business can have mail or parcels delivered.", - "example" : "123", - "maxLength" : 20, - "type" : "string" - }, - "city" : { - "description" : "The name of the city.\n", - "example" : "Amsterdam", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "NL", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "floor" : { - "description" : "The floor of the street number.\n", - "example" : "N/A", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "postCode" : { - "description" : "The post code.", - "example" : "1047 HM", - "maxLength" : 10, - "type" : "string" - }, - "stateRegion" : { - "description" : "The name of the state/region.", - "example" : "North Holland", - "maxLength" : 65, - "type" : "string" - }, - "street" : { - "description" : "The name of the street.", - "example" : "Ruijggoordweg", - "maxLength" : 70, - "type" : "string" - }, - "streetNumber" : { - "description" : "The number of the street.", - "example" : "100", - "maxLength" : 50, - "type" : "string" - } - }, - "required" : [ - "city", - "countryCode", - "street" - ], - "title" : "Address", - "type" : "object" - }, - "CargoGrossVolume" : { - "description" : "Calculated by multiplying the width, height, and length of the packed cargo.\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in either imperial or metric terms\n- `FTQ` (Cubic foot)\n- `MTQ` (Cubic meter)\n", - "enum" : [ - "MTQ", - "FTQ" - ], - "example" : "MTQ", - "type" : "string" - }, - "value" : { - "description" : "Calculated by multiplying the width, height, and length of the packed cargo. A maximum of 4 decimals should be provided.\n", - "example" : 2.4, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Cargo Gross Volume", - "type" : "object" - }, - "CargoGrossWeight" : { - "description" : "The weight of the cargo item including packaging being carried in the container. Excludes the tare weight of the container.\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in imperial or metric terms\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", - "enum" : [ - "KGM", - "LBR" - ], - "example" : "KGM", - "type" : "string" - }, - "value" : { - "description" : "The weight of the cargo item including packaging being carried in the container. Excludes the tare weight of the container. A maximum of 3 decimals should be provided.\n", - "example" : 2400, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Cargo Gross Weight", - "type" : "object" - }, - "CargoItem" : { - "description" : "A `cargoItem` is the smallest unit used by stuffing. A `cargoItem` cannot be split across containers.\n", - "properties" : { - "cargoGrossVolume" : { - "$ref" : "#/components/schemas/CargoGrossVolume" - }, - "cargoGrossWeight" : { - "$ref" : "#/components/schemas/CargoGrossWeight" - }, - "cargoNetVolume" : { - "$ref" : "#/components/schemas/CargoNetVolume" - }, - "cargoNetWeight" : { - "$ref" : "#/components/schemas/CargoNetWeight" - }, - "customsReferences" : { - "description" : "A list of `Customs references`\n", - "items" : { - "$ref" : "#/components/schemas/CustomsReference" - }, - "type" : "array" - }, - "equipmentReference" : { - "description" : "The unique identifier for the equipment, which should follow the BIC ISO Container Identification Number where possible.\nAccording to [ISO 6346](https://www.iso.org/standard/83558.html), a container identification code consists of a 4-letter prefix and a 7-digit number (composed of a 3-letter owner code, a category identifier, a serial number, and a check-digit).\n\nIf a container does not comply with [ISO 6346](https://www.iso.org/standard/83558.html), it is suggested to follow [Recommendation #2: Containers with non-ISO identification](https://smdg.org/documents/smdg-recommendations) from SMDG.\n", - "example" : "APZU4812090", - "maxLength" : 11, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "nationalCommodityCodes" : { - "description" : "A list of `National Commodity Codes` that apply to this `cargoItem`\n", - "items" : { - "$ref" : "#/components/schemas/NationalCommodityCode" - }, - "type" : "array" - }, - "outerPackaging" : { - "$ref" : "#/components/schemas/OuterPackaging" - } - }, - "required" : [ - "cargoGrossWeight", - "equipmentReference", - "outerPackaging" - ], - "title" : "Cargo Item", - "type" : "object" - }, - "CargoNetVolume" : { - "description" : "Calculated by multiplying the width, height, and length of the cargo, excluding packaging.\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in either imperial or metric terms\n- `FTQ` (Cubic foot)\n- `MTQ` (Cubic meter)\n", - "enum" : [ - "MTQ", - "FTQ" - ], - "example" : "MTQ", - "type" : "string" - }, - "value" : { - "description" : "Calculated by multiplying the width, height, and length of the cargo, excluding packaging.\n", - "example" : 2.4, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Cargo Net Volume", - "type" : "object" - }, - "CargoNetWeight" : { - "description" : "The weight of the cargo item excluding packaging being carried in the container. Excludes the tare weight of the container.\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in imperial or metric terms\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", - "enum" : [ - "KGM", - "LBR" - ], - "example" : "KGM", - "type" : "string" - }, - "value" : { - "description" : "The weight of the cargo item excluding packaging being carried in the container. Excludes the tare weight of the container. A maximum of 3 decimals should be provided.\n", - "example" : 2400, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Cargo Net Weight", - "type" : "object" - }, - "CarriersAgentAtDestination" : { - "description" : "The party on the import side assigned by the carrier to whom the customer need to reach out to for cargo release.\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/Address" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "IKEA Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "address", - "partyContactDetails", - "partyName" - ], - "title" : "Carrier's Agent At Destination", - "type" : "object" - }, - "Charge" : { - "description" : "Addresses the monetary value of freight and other service charges for a `Booking`.\n", - "properties" : { - "calculationBasis" : { - "description" : "The code specifying the measure unit used for the corresponding unit price for this cost, such as per day, per ton, per square metre.\n", - "example" : "Per day", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "chargeName" : { - "description" : "Free text field describing the charge to apply\n", - "example" : "Documentation fee - Destination", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "currencyAmount" : { - "description" : "The monetary value of all freight and other service charges for a transport document, with a maximum of 2-digit decimals.\n", - "example" : 1012.12, - "format" : "float", - "minimum" : 0, - "type" : "number" - }, - "currencyCode" : { - "description" : "The currency for the charge, using a 3-character code ([ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)).\n", - "example" : "DKK", - "maxLength" : 3, - "minLength" : 3, - "pattern" : "^[A-Z]{3}$", - "type" : "string" - }, - "paymentTermCode" : { - "description" : "An indicator of whether a charge is prepaid (PRE) or collect (COL). When prepaid, the charge is the responsibility of the shipper or the Invoice payer on behalf of the shipper (if provided). When collect, the charge is the responsibility of the consignee or the Invoice payer on behalf of the consignee (if provided).\n\n- `PRE` (Prepaid)\n- `COL` (Collect)\n", - "enum" : [ - "PRE", - "COL" - ], - "example" : "PRE", - "type" : "string" - }, - "quantity" : { - "description" : "The amount of unit for this charge item.\n", - "example" : 34.4, - "format" : "float", - "minimum" : 0, - "type" : "number" - }, - "unitPrice" : { - "description" : "The unit price of this charge item in the currency of the charge.\n", - "example" : 3456.6, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "calculationBasis", - "chargeName", - "currencyAmount", - "currencyCode", - "paymentTermCode", - "quantity", - "unitPrice" - ], - "title" : "Charge", - "type" : "object" - }, - "City" : { - "description" : "An object for storing city, state/region and country related information\n", - "properties" : { - "city" : { - "description" : "The name of the city.\n", - "example" : "Amsterdam", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "NL", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "stateRegion" : { - "description" : "The name of the state/region.\n", - "example" : "North Holland", - "maxLength" : 65, - "type" : "string" - } - }, - "required" : [ - "city", - "countryCode" - ], - "title" : "City", - "type" : "object" - }, - "Consignee" : { - "description" : "The party to which goods are consigned in the `Master Bill of Lading`.\n\n**Condition:** Mandatory for non-negotiable BL (`isToOrder=false`)\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/PartyAddress" - }, - "displayedAddress" : { - "description" : "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A single address line\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 6, - "type" : "array" - }, - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "IKEA Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "purchaseOrderReferences" : { - "description" : "A list of `Purchase Order Reference`s linked to the `Consignee`.\n", - "items" : { - "description" : "A purchase order reference linked to the `Consignee`.\n", - "example" : "HHL007", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "type" : "array" - }, - "reference" : { - "description" : "A reference linked to the `Consignee`.\n", - "example" : "HHL007", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - }, - "typeOfPerson" : { - "description" : "Can be one of the following values as per the Union Customs Code art. 5(4):\n- `NATURAL_PERSON` (A person that is an individual living human being)\n- `LEGAL_PERSON` (person (including a human being and public or private organizations) that can perform legal actions, such as own a property, sue and be sued)\n- `ASSOCIATION_OF_PERSONS` (Not a legal person, but recognised under Union or National law as having the capacity to perform legal acts)\n", - "example" : "NATURAL_PERSON", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "partyName" - ], - "title" : "Consignee", - "type" : "object" - }, - "ConsignmentItem" : { - "description" : "Defines a list of `CargoItems` belonging together and the associated `Booking`. A `ConsignmentItem` can be split across multiple containers (`UtilizedTransportEquipment`) by referencing multiple `CargoItems`\n", - "properties" : { - "HSCodes" : { - "description" : "A list of `HS Codes` that apply to this `consignmentItem`\n", - "items" : { - "description" : "Used by customs to classify the product being shipped. The type of HS code depends on country and customs requirements. The code must be at least 6 and at most 10 digits.\n\nMore information can be found here: [HS Nomenclature](https://www.wcoomd.org/en/topics/nomenclature/instrument-and-tools).\n", - "example" : "851713", - "maxLength" : 10, - "minLength" : 6, - "pattern" : "^\\d{6,10}$", - "type" : "string" - }, - "minItems" : 1, - "type" : "array" - }, - "cargoItems" : { - "description" : "A list of all `cargoItems`\n", - "items" : { - "$ref" : "#/components/schemas/CargoItem" - }, - "minItems" : 1, - "type" : "array" - }, - "carrierBookingReference" : { - "description" : "The associated booking number provided by the carrier for this `Consignment Item`.\n\nWhen multiple `carrierBookingReferences` are used then the bookings referred to must all contain the same:\n- transportPlan\n- shipmentLocations\n- receiptTypeAtOrigin\n- deliveryTypeAtDestination\n- cargoMovementTypeAtOrigin\n- cargoMovementTypeAtDestination\n- serviceContractReference\n- termsAndConditions\n- Place of B/L Issue (if provided)\n", - "example" : "ABC709951", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "customsReferences" : { - "description" : "A list of `Customs references`\n", - "items" : { - "$ref" : "#/components/schemas/CustomsReference" - }, - "type" : "array" - }, - "descriptionOfGoods" : { - "description" : "An array of lines accurately and properly describing the cargo being shipped in the container(s) as provided by the shipper.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A line describing the cargo", - "example" : "blue shoes size 47", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "maxItems" : 150, - "type" : "array" - }, - "nationalCommodityCodes" : { - "description" : "A list of `National Commodity Codes` that apply to this `commodity`\n", - "items" : { - "$ref" : "#/components/schemas/NationalCommodityCode" - }, - "type" : "array" - }, - "references" : { - "description" : "A list of `References`\n", - "items" : { - "$ref" : "#/components/schemas/ReferenceConsignmentItem" - }, - "type" : "array" - }, - "shippingMarks" : { - "description" : "A list of the `ShippingMarks` applicable to this `consignmentItem`\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "The identifying details of a package or the actual markings that appear on the package(s). This information is provided by the customer.\n", - "example" : "Made in China", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 50, - "type" : "array" - } - }, - "required" : [ - "HSCodes", - "cargoItems", - "carrierBookingReference", - "descriptionOfGoods" - ], - "title" : "Consignment Item", - "type" : "object" - }, - "CustomsReference" : { - "description" : "Reference associated with customs and/or excise purposes required by the relevant authorities for the import, export, or transit of the goods.\n\nA small list of **potential** examples:\n\n| Type | Country | Description |\n|-------|:-------:|-------------|\n|ACID|EG|Advance Cargo Information Declaration in Egypt|\n|CERS|CA|Canadian Export Reporting System|\n|ITN|US|Internal Transaction Number in US|\n|PEB|ID|PEB reference number|\n|CSN|IN|Cargo Summary Notification (CSN)|\n", - "properties" : { - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "EG", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "type" : { - "description" : "The reference type code as defined in the relevant customs jurisdiction.\n", - "example" : "ACID", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "values" : { - "items" : { - "description" : "The value of the `customsReference`\n", - "example" : "4988470982020120017", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "minItems" : 1, - "type" : "array" - } - }, - "required" : [ - "countryCode", - "type", - "values" - ], - "title" : "Customs Reference", - "type" : "object" - }, - "DangerousGoods" : { - "description" : "Specification for `Dangerous Goods`. It is mandatory to either provide the `unNumber` or the `naNumber`. Dangerous Goods is based on **IMDG Amendment Version 41-22**.\n", - "oneOf" : [ - { - "properties" : { - "unNumber" : { - "description" : "United Nations Dangerous Goods Identifier (UNDG) assigned by the UN Sub-Committee of Experts on the Transport of Dangerous Goods and shown in the IMO IMDG.\n", - "example" : "1463", - "maxLength" : 4, - "minLength" : 4, - "pattern" : "^\\d{4}$", - "type" : "string" - } - }, - "required" : [ - "unNumber" - ], - "title" : "UN Number", - "type" : "object" - }, - { - "properties" : { - "naNumber" : { - "description" : "Four-digit number that is assigned to dangerous, hazardous, and harmful substances by the United States Department of Transportation.\n", - "example" : "9037", - "maxLength" : 4, - "minLength" : 4, - "pattern" : "^\\d{4}$", - "type" : "string" - } - }, - "required" : [ - "naNumber" - ], - "title" : "NA Number", - "type" : "object" - } - ], - "properties" : { - "EMSNumber" : { - "description" : "The emergency schedule identified in the IMO EmS Guide – Emergency Response Procedures for Ships Carrying Dangerous Goods. Comprises 2 values; 1 for spillage and 1 for fire. Possible values spillage: S-A to S-Z. Possible values fire: F-A to F-Z.\n", - "example" : "F-A S-Q", - "maxLength" : 7, - "type" : "string" - }, - "codedVariantList" : { - "description" : "Four-character code supplied by Exis Technologies that assists to remove ambiguities when identifying a variant within a single UN number or NA number that may occur when two companies exchange DG information.\n\nCharacter | Valid Characters | Description\n:--------:|------------------|------------\n1| 0, 1, 2, 3|The packing group. Code 0 indicates there is no packing group\n2|0 to 9 and A to Z|A sequence letter for the PSN, or 0 if there were no alternative PSNs\n3 and 4|0 to 9 and A to Z|Two sequence letters for other information, for the cases where the variant is required because of different in subrisks, packing instruction etc.\n", - "example" : "2200", - "maxLength" : 4, - "minLength" : 4, - "pattern" : "^[0-3][0-9A-Z]{3}$", - "type" : "string" - }, - "competentAuthorityApproval" : { - "description" : "Name and reference number of the competent authority providing the approval.\n", - "example" : "{Name and reference...}", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "emergencyContactDetails" : { - "$ref" : "#/components/schemas/EmergencyContactDetails" - }, - "endOfHoldingTime" : { - "description" : "Date by when the refrigerated liquid needs to be delivered.\n", - "example" : "2021-09-03", - "format" : "date", - "type" : "string" - }, - "fumigationDateTime" : { - "description" : "Date & time when the container was fumigated\n", - "example" : "2024-09-04T09:41:00Z", - "format" : "date-time", - "type" : "string" - }, - "grossWeight" : { - "$ref" : "#/components/schemas/GrossWeight" - }, - "imoClass" : { - "description" : "The hazard class code of the referenced dangerous goods according to the specified regulation. Examples of possible values are:\n\n- `1.1A` (Substances and articles which have a mass explosion hazard)\n- `1.6N` (Extremely insensitive articles which do not have a mass explosion hazard)\n- `2.1` (Flammable gases)\n- `8` (Corrosive substances)\n", - "example" : "1.4S", - "maxLength" : 4, - "type" : "string" - }, - "inhalationZone" : { - "description" : "The zone classification of the toxicity of the inhalant. Possible values are:\n\n- `A` (Hazard Zone A) can be assigned to specific gases and liquids\n- `B` (Hazard Zone B) can be assigned to specific gases and liquids\n- `C` (Hazard Zone C) can **only** be assigned to specific gases\n- `D` (Hazard Zone D) can **only** be assigned to specific gases\n", - "example" : "A", - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, - "innerPackagings" : { - "description" : "A list of `Inner Packings` contained inside this `outer packaging/overpack`.\n", - "items" : { - "$ref" : "#/components/schemas/InnerPackaging" - }, - "type" : "array" - }, - "isCompetentAuthorityApprovalRequired" : { - "description" : "Indicates if the cargo require approval from authorities\n", - "example" : false, - "type" : "boolean" - }, - "isEmptyUncleanedResidue" : { - "description" : "Indicates if the cargo is residue.\n", - "example" : false, - "type" : "boolean" - }, - "isExceptedQuantity" : { - "description" : "Indicates if the dangerous goods can be transported as excepted quantity in accordance with Chapter 3.5 of the IMO IMDG Code.\n", - "example" : false, - "type" : "boolean" - }, - "isHot" : { - "description" : "Indicates if high temperature cargo is shipped.\n", - "example" : false, - "type" : "boolean" - }, - "isLimitedQuantity" : { - "description" : "Indicates if the dangerous goods can be transported as limited quantity in accordance with Chapter 3.4 of the IMO IMDG Code.\n", - "example" : false, - "type" : "boolean" - }, - "isMarinePollutant" : { - "description" : "Indicates if the goods belong to the classification of Marine Pollutant.\n", - "example" : false, - "type" : "boolean" - }, - "isReportableQuantity" : { - "description" : "Indicates if a container of hazardous material is at the reportable quantity level. If `TRUE`, a report to the relevant authority must be made in case of spill.\n", - "example" : false, - "type" : "boolean" - }, - "isSalvagePackings" : { - "description" : "Indicates if the cargo has special packaging for the transport, recovery or disposal of damaged, defective, leaking or nonconforming hazardous materials packages, or hazardous materials that have spilled or leaked.\n", - "example" : false, - "type" : "boolean" - }, - "isWaste" : { - "description" : "Indicates if waste is being shipped\n", - "example" : false, - "type" : "boolean" - }, - "limits" : { - "$ref" : "#/components/schemas/Limits" - }, - "netExplosiveContent" : { - "$ref" : "#/components/schemas/NetExplosiveContent" - }, - "netVolume" : { - "$ref" : "#/components/schemas/NetVolume" - }, - "netWeight" : { - "$ref" : "#/components/schemas/NetWeight" - }, - "packingGroup" : { - "description" : "The packing group according to the UN Recommendations on the Transport of Dangerous Goods and IMO IMDG Code.\n", - "example" : 3, - "format" : "int32", - "maximum" : 3, - "minimum" : 1, - "type" : "integer" - }, - "properShippingName" : { - "description" : "The proper shipping name for goods under IMDG Code, or the product name for goods under IBC Code and IGC Code, or the bulk cargo shipping name for goods under IMSBC Code, or the name of oil for goods under Annex I to the MARPOL Convention.\n", - "example" : "Chromium Trioxide, anhydrous", - "maxLength" : 250, - "type" : "string" - }, - "segregationGroups" : { - "description" : "List of the segregation groups applicable to specific hazardous goods according to the IMO IMDG Code.\n\n**Condition:** only applicable to specific hazardous goods.\n", - "items" : { - "description" : "Grouping of Dangerous Goods having certain similar chemical properties. Possible values are:\n\n- `1` (Acids)\n- `2` (Ammonium Compounds)\n- `3` (Bromates)\n- `4` (Chlorates)\n- `5` (Chlorites)\n- `6` (Cyanides)\n- `7` (Heavy metals and their salts)\n- `8` (Hypochlorites)\n- `9` (Lead and its compounds)\n- `10` (Liquid halogenated hydrocarbons)\n- `11` (Mercury and mercury compounds)\n- `12` (Nitrites and their mixtures)\n- `13` (Perchlorates)\n- `14` (Permanganates)\n- `15` (Powdered metals)\n- `16` (Peroxides),\n- `17` (Azides)\n- `18` (Alkalis)\n", - "example" : "12", - "maxLength" : 2, - "type" : "string" - }, - "type" : "array" - }, - "subsidiaryRisk1" : { - "description" : "Any risk in addition to the class of the referenced dangerous goods according to the IMO IMDG Code.\n", - "example" : "1.2", - "maxLength" : 3, - "minLength" : 1, - "pattern" : "^[0-9](\\.[0-9])?$", - "type" : "string" - }, - "subsidiaryRisk2" : { - "description" : "Any risk in addition to the class of the referenced dangerous goods according to the IMO IMDG Code.\n", - "example" : "1.2", - "maxLength" : 3, - "minLength" : 1, - "pattern" : "^[0-9](\\.[0-9])?$", - "type" : "string" - }, - "technicalName" : { - "description" : "The recognized chemical or biological name or other name currently used for the referenced dangerous goods as described in chapter 3.1.2.8 of the IMDG Code.\n", - "example" : "xylene and benzene", - "maxLength" : 250, - "type" : "string" - } - }, - "required" : [ - "imoClass", - "properShippingName" - ], - "title" : "Dangerous Goods", - "type" : "object" - }, - "DetailedError" : { - "description" : "A detailed description of what has caused the error.\n", - "properties" : { - "errorCode" : { - "description" : "The detailed error code returned.\n\n - `7000-7999` Technical error codes\n - `8000-8999` Functional error codes\n - `9000-9999` API provider-specific error codes \n\n[Error codes as specified by DCSA](https://developer.dcsa.org/standard-error-codes).\n", - "example" : 7003, - "format" : "int32", - "maximum" : 9999, - "minimum" : 7000, - "type" : "integer" - }, - "errorCodeMessage" : { - "description" : "A long description corresponding to the `errorCode` with additional information.\n", - "example" : "Spaces not allowed in facility code", - "maxLength" : 5000, - "type" : "string" - }, - "errorCodeText" : { - "description" : "A standard short description corresponding to the `errorCode`.\n", - "example" : "invalidData", - "maxLength" : 100, - "type" : "string" - }, - "jsonPath" : { - "description" : "A path to the property causing the error, formatted according to [JSONpath](https://github.com/json-path/JsonPath).\n", - "example" : "$.location.facilityCode", - "maxLength" : 500, - "type" : "string" - }, - "property" : { - "description" : "The name of the property causing the error.\n", - "example" : "facilityCode", - "maxLength" : 100, - "type" : "string" - }, - "value" : { - "description" : "The value of the property causing the error serialised as a string exactly as in the original request.\n", - "example" : "SG SIN WHS", - "maxLength" : 500, - "type" : "string" - } - }, - "required" : [ - "errorCodeMessage", - "errorCodeText" - ], - "title" : "Detailed Error", - "type" : "object" - }, - "DocumentParties" : { - "description" : "All `Parties` with associated roles.\n", - "properties" : { - "carriersAgentAtDestination" : { - "$ref" : "#/components/schemas/CarriersAgentAtDestination" - }, - "consignee" : { - "$ref" : "#/components/schemas/Consignee" - }, - "endorsee" : { - "$ref" : "#/components/schemas/Endorsee" - }, - "issuingParty" : { - "$ref" : "#/components/schemas/IssuingParty" - }, - "notifyParties" : { - "description" : "List of up to 3 `Notify Parties`. The first item in the list is the **First Notify Party** (`N1`), the second item is the **Second Notify Party** (`N2`) and the last item is the **Other Notify Party** (`NI`).\n\n**Conditions:** If provided:\n - mandatory for To Order BLs, `isToOrder=true`\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "$ref" : "#/components/schemas/NotifyParty" - }, - "maxItems" : 3, - "type" : "array" - }, - "other" : { - "description" : "A list of document parties that can be optionally provided in the `Shipping Instructions` and `Transport Document`.", - "items" : { - "$ref" : "#/components/schemas/OtherDocumentParty" - }, - "type" : "array" - }, - "shipper" : { - "$ref" : "#/components/schemas/Shipper" - } - }, - "required" : [ - "issuingParty", - "shipper" - ], - "title" : "Document Parties", - "type" : "object" - }, - "EmergencyContactDetails" : { - "description" : "24 hr emergency contact details\n", - "properties" : { - "contact" : { - "description" : "Name of the Contact person during an emergency.\n", - "example" : "Henrik Larsen", - "maxLength" : 255, - "type" : "string" - }, - "phone" : { - "description" : "Phone number for the contact. Phone **MUST** include an international phone number format as defined in the [ITU-T recommendation E.123](https://www.itu.int/rec/T-REC-E.123/en).\n", - "example" : "+45 70262970", - "maxLength" : 30, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "provider" : { - "description" : "Name of the third party vendor providing emergency support\n", - "example" : "GlobeTeam", - "maxLength" : 255, - "type" : "string" - }, - "referenceNumber" : { - "description" : "Contract reference for the emergency support provided by an external third party vendor.\n", - "example" : "12234", - "maxLength" : 255, - "type" : "string" - } - }, - "required" : [ - "contact", - "phone" - ], - "title" : "Emergency Contact Details", - "type" : "object" - }, - "Endorsee" : { - "description" : "The party to whom the title to the goods is transferred by means of endorsement.\n\n**Condition:** Can only be provided for negotiable BLs (`isToOrder=true`). If a negotiable BL does not have an `Endorsee`, the BL is said to be \"blank endorsed\". Note `Consignee` and `Endorsee` are mutually exclusive.\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/PartyAddress" - }, - "displayedAddress" : { - "description" : "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A single address line\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 6, - "type" : "array" - }, - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "IKEA Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - } - }, - "required" : [ - "partyName" - ], - "title" : "Endorsee", - "type" : "object" - }, - "Equipment" : { - "description" : "Used for storing cargo in/on during transport. The equipment size/type is defined by the ISO 6346 code. The most common equipment size/type is 20'/40'/45' DRY Freight Container, but several different versions exist.\n", - "properties" : { - "ISOEquipmentCode" : { - "description" : "Unique code for the different equipment size and type used to transport commodities. The code can refer to either the ISO size type (e.g. 22G1) or the ISO type group (e.g. 22GP) following the [ISO 6346](https://www.iso.org/standard/83558.html) standard.\n", - "example" : "22G1", - "maxLength" : 4, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "equipmentReference" : { - "description" : "The unique identifier for the equipment, which should follow the BIC ISO Container Identification Number where possible.\nAccording to [ISO 6346](https://www.iso.org/standard/83558.html), a container identification code consists of a 4-letter prefix and a 7-digit number (composed of a 3-letter owner code, a category identifier, a serial number, and a check-digit).\n\nIf a container does not comply with [ISO 6346](https://www.iso.org/standard/83558.html), it is suggested to follow [Recommendation #2: Containers with non-ISO identification](https://smdg.org/documents/smdg-recommendations) from SMDG.\n", - "example" : "APZU4812090", - "maxLength" : 11, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "tareWeight" : { - "$ref" : "#/components/schemas/TareWeight" - } - }, - "required" : [ - "equipmentReference" - ], - "title" : "Equipment", - "type" : "object" - }, - "ErrorResponse" : { - "description" : "Unexpected error", - "properties" : { - "errorDateTime" : { - "description" : "The DateTime corresponding to the error occurring. Must be formatted using [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n", - "example" : "2024-09-04T09:41:00Z", - "format" : "date-time", - "type" : "string" - }, - "errors" : { - "description" : "An array of errors providing more detail about the root cause.\n", - "items" : { - "$ref" : "#/components/schemas/DetailedError" - }, - "minItems" : 1, - "type" : "array" - }, - "httpMethod" : { - "description" : "The HTTP method used to make the request e.g. `GET`, `POST`, etc\n", - "enum" : [ - "GET", - "HEAD", - "POST", - "PUT", - "DELETE", - "OPTION", - "PATCH" - ], - "example" : "POST", - "type" : "string" - }, - "providerCorrelationReference" : { - "description" : "A unique identifier to the HTTP request within the scope of the API provider.\n", - "example" : "4426d965-0dd8-4005-8c63-dc68b01c4962", - "maxLength" : 100, - "type" : "string" - }, - "requestUri" : { - "description" : "The URI that was requested.\n", - "example" : "/v1/events", - "type" : "string" - }, - "statusCode" : { - "description" : "The HTTP status code returned.\n", - "example" : 400, - "format" : "int32", - "type" : "integer" - }, - "statusCodeMessage" : { - "description" : "A long description corresponding to the HTTP status code with additional information.\n", - "example" : "The supplied data could not be accepted", - "maxLength" : 200, - "type" : "string" - }, - "statusCodeText" : { - "description" : "A standard short description corresponding to the HTTP status code.\n", - "example" : "Bad Request", - "maxLength" : 50, - "type" : "string" - } - }, - "required" : [ - "errorDateTime", - "errors", - "httpMethod", - "requestUri", - "statusCode", - "statusCodeText" - ], - "title" : "Error Response", - "type" : "object" - }, - "Facility" : { - "description" : "An interface used to express a location using a `Facility`. The facility can either be expressed using a `BIC` code or a `SMDG` code. The `facilityCode` does not contain the `UNLocationCode` - this should be provided in the `UnLocationCode` attribute.\n", - "properties" : { - "facilityCode" : { - "description" : "The code used for identifying the specific facility. This code does not include the UN Location Code.\nThe definition of the code depends on the `facilityCodeListProvider`. As code list providers maintain multiple codeLists the following codeList is used:\n- `SMDG` (the codeList used is the [SMDG Terminal Code List](https://smdg.org/documents/smdg-code-lists/))\n- `BIC` (the codeList used is the [BIC Facility Codes](https://www.bic-code.org/facility-codes/))", - "example" : "ADT", - "maxLength" : 6, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "facilityCodeListProvider" : { - "description" : "The provider used for identifying the facility Code. Some facility codes are only defined in combination with an `UN Location Code`\n- `BIC` (Requires a UN Location Code)\n- `SMDG` (Requires a UN Location Code)\n", - "enum" : [ - "BIC", - "SMDG" - ], - "example" : "SMDG", - "type" : "string" - } - }, - "required" : [ - "facilityCode", - "facilityCodeListProvider" - ], - "title" : "Facility", - "type" : "object" - }, - "GeoCoordinate" : { - "description" : "An object used to express a location using `latitude` and `longitude`.\n", - "properties" : { - "latitude" : { - "description" : "Geographic coordinate that specifies the north–south position of a point on the Earth's surface.", - "example" : "48.8585500", - "maxLength" : 10, - "type" : "string" - }, - "longitude" : { - "description" : "Geographic coordinate that specifies the east–west position of a point on the Earth's surface.", - "example" : "2.294492036", - "maxLength" : 11, - "type" : "string" - } - }, - "required" : [ - "latitude", - "longitude" - ], - "title" : "Geo Coordinate", - "type" : "object" - }, - "GrossWeight" : { - "description" : "Total weight of the goods carried, including packaging.\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in imperial or metric terms\n\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", - "enum" : [ - "KGM", - "LBR" - ], - "example" : "KGM", - "type" : "string" - }, - "value" : { - "description" : "The grand total weight of the DG cargo and weight per `UNNumber`/`NANumber` including packaging items being carried, which can be expressed in imperial or metric terms, as provided by the shipper.\n", - "example" : 12000.3, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Gross Weight", - "type" : "object" - }, - "IdentifyingCode" : { - "properties" : { - "codeListName" : { - "description" : "The name of the code list, code generation mechanism or code authority for the `partyCode`. Example values could be:\n\n- `DID` (Decentralized Identifier) for `codeListProvider` `W3C`\n- `LEI` (Legal Entity Identifier) for `codeListProvider` `GLEIF`\n- `DUNS` (Data Universal Numbering System) for `codeListProvider` `DNB`\n- `EORI` (Economic Operators Registration and Identification) for codeListProvider `EU`\n", - "example" : "DID", - "maxLength" : 100, - "type" : "string" - }, - "codeListProvider" : { - "description" : "A list of codes identifying a party. Possible values are:\n\n- `WAVE` (Wave)\n- `CARX` (CargoX)\n- `ESSD` (EssDOCS)\n- `IDT` (ICE Digital Trade)\n- `BOLE` (Bolero)\n- `EDOX` (EdoxOnline)\n- `IQAX` (IQAX)\n- `SECR` (Secro)\n- `TRGO` (TradeGO)\n- `ETEU` (eTEU)\n- `TRAC` (TRACE Original)\n- `BRIT` (BRITC eBL)\n- `GSBN` (Global Shipping Business Network)\n- `WISE` (WiseTech)\n- `GLEIF` (Global Legal Entity Identifier Foundation)\n- `W3C` (World Wide Web Consortium)\n- `DNB` (Dun and Bradstreet)\n- `FMC` (Federal Maritime Commission)\n- `DCSA` (Digital Container Shipping Association)\n- `EU` (European Union Member State Customs Authority)\n- `ZZZ` (Mutually defined)\n", - "example" : "W3C", - "maxLength" : 100, - "type" : "string" - }, - "partyCode" : { - "description" : "Code to identify the party as provided by the code list provider\n", - "example" : "MSK", - "maxLength" : 150, - "type" : "string" - } - }, - "required" : [ - "codeListProvider", - "partyCode" - ], - "title" : "Identifying Code", - "type" : "object" - }, - "InnerPackaging" : { - "description" : "Object for inner packaging specification\n", - "properties" : { - "description" : { - "description" : "Description of the packaging.\n", - "example" : "Woven plastic water resistant Bag", - "maxLength" : 100, - "type" : "string" - }, - "material" : { - "description" : "The `material` used for the `Inner Packaging` of the referenced `Dangerous Goods`.\n", - "example" : "Plastic", - "maxLength" : 100, - "type" : "string" - }, - "quantity" : { - "description" : "Count of `Inner Packagings` of the referenced `Dangerous Goods`.\n", - "example" : 20, - "format" : "int32", - "type" : "integer" - } - }, - "required" : [ - "description", - "material", - "quantity" - ], - "title" : "Inner Packaging", - "type" : "object" - }, - "InvoicePayableAt" : { - "description" : "Location where payment of ocean freight and charges for the main transport will take place by the customer.\n\nThe location can be provided as a `UN Location Code` or as a fallback - a `freeText` field\n", - "oneOf" : [ - { - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - } - }, - "required" : [ - "UNLocationCode" - ], - "title" : "UN Location Code", - "type" : "object" - }, - { - "properties" : { - "freeText" : { - "description" : "The name of the location where payment will be rendered by the customer.\n", - "example" : "DCSA Headquarters", - "maxLength" : 35, - "type" : "string" - } - }, - "required" : [ - "freeText" - ], - "title" : "Free text", - "type" : "object" - } - ], - "title" : "Invoice Payable At", - "type" : "object" - }, - "IssuanceError" : { - "properties" : { - "errorCode" : { - "description" : "A vendor provided error code.\n\nThe meaning of each code is agreed bilaterally between the vendor.\n", - "example" : "ERR-1234", - "maxLength" : 50, - "pattern" : "^\\S+$", - "type" : "string" - }, - "reason" : { - "description" : "Human readable description of the rationale for an unsuccessful issuance.\n\nThe `reason` should be omitted when the `issuanceResponseCode` is `ISSU`. If the platform for some reason chooses to deviate from this and provide the field anyway, they should use canned phrased like `Issued` that matches the meaning of the `issuanceResponseCode`.\n", - "example" : "Cannot get...", - "maxLength" : 255, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Issuance Error", - "type" : "object" - }, - "IssuanceManifest" : { - "description" : "Checksums of the carrier provided documents from the issuance time.\n", - "properties" : { - "documentChecksum" : { - "description" : "The checksum of the `document` attribute computed using SHA-256 hash algorithm according to [RFC 6234](https://datatracker.ietf.org/doc/html/rfc6234). The transport document must be in the [RFC 8785](https://datatracker.ietf.org/doc/html/rfc8785) canonical form before the checksum is computed.\n", - "example" : "76a7d14c83d7268d643ae7345c448de60701f955d264a743e6928a0b8268b24f", - "maxLength" : 64, - "minLength" : 64, - "pattern" : "^[0-9a-f]+$", - "type" : "string" - }, - "eBLVisualisationByCarrierChecksum" : { - "description" : "The checksum of the `content` attribute of the `eBLVisualisationByCarrier` attribute computed using SHA-256 hash algorithm according to [RFC 6234](https://datatracker.ietf.org/doc/html/rfc6234). The checksum is computed on the `content` field in its decoded form.\n", - "example" : "76a7d14c83d7268d643ae7345c448de60701f955d264a743e6928a0b8268b24f", - "maxLength" : 64, - "minLength" : 64, - "pattern" : "^[0-9a-f]+$", - "type" : "string" - }, - "issueToChecksum" : { - "description" : "The checksum of the `issueTo` attribute computed using SHA-256 hash algorithm according to [RFC 6234](https://datatracker.ietf.org/doc/html/rfc6234). The value must be in the [RFC 8785](https://datatracker.ietf.org/doc/html/rfc8785) canonical form before the checksum is computed.\n", - "example" : "76a7d14c83d7268d643ae7345c448de60701f955d264a743e6928a0b8268b24f", - "maxLength" : 64, - "minLength" : 64, - "pattern" : "^[0-9a-f]+$", - "type" : "string" - } - }, - "required" : [ - "documentChecksum", - "issueToChecksum" - ], - "title" : "Issuance Manifest", - "type" : "object" - }, - "IssuanceRequest" : { - "description" : "Details of the eBL that the carrier requests to have issued.\n\nThe `eBLVisualisationByCarrier` is an optional document, where the carrier can provide its own visualization of the eBL for the end user. The carrier is the sole responsible party for ensuring there are no discrepancies between the eBL (the `document` attribute) and the provided visualization (the `eBLVisualisationByCarrier` attribute).\n", - "properties" : { - "document" : { - "$ref" : "#/components/schemas/TransportDocument" - }, - "eBLVisualisationByCarrier" : { - "$ref" : "#/components/schemas/SupportingDocument" - }, - "issuanceManifestSignedContent" : { - "description" : "JWS content with compact serialization according to [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515#section-7.1). JWS-signed payload is defined in schema [IssuanceManifest](#/IssuanceManifest).\nThis attribute is used to provide integrity of various parts of the payload that enable parties to\nvalidate whether a payload matches what the carrier issued originally. Accordingly, the payload is\nsigned by the carrier.\n", - "example" : "eyJhbGciOiJSUzI1NiIsImtpZCI6IlVhRVdLNmt2ZkRITzNZT2NwUGl2M1RCT2JQTzk2SFZhR2U0czFhUUxBZU0ifQ.eyJkb2N1bWVudEhhc2giOiI4ZGM5OWQ4YWM5MjIyNDBjNTVjMDM4NDVmNDlkZWY2NDE4NzE0NjY1MWJhZTRmOWE2MzEzMTI3N2NmMDBkOWRmIiwicHJldmlvdXNFbnZlbG9wZUhhc2giOm51bGwsInRyYW5zYWN0aW9ucyI6W3siYWN0aW9uIjoiSVNTVSIsImNvbW1lbnRzIjoiVGhlIEIvTCBoYXMgYmVlbiBpc3N1ZWQuIiwidGltZXN0YW1wIjoxNjU4Mzg1MTY2MzAyNDQyMjAwLCJpc1RvT3JkZXIiOnRydWUsInBsYXRmb3JtSG9zdCI6ImxvY2FsaG9zdDo4NDQzIiwidHJhbnNmZXJlZSI6IjQzNTQ5ODUwMjQ4QGxvY2FsaG9zdDo4NDQzIn1dfQ.c4SJ9-61fE6RmeIuZ3EI-TSM0M6qXuOudtr3YhpDjqVMaYk_RYpaWYvw75ssTbjgGFKTBKCy5lpmOfb8Fq--Qu2k0MWbH6qdX5jTYwl0DX946RQg-hnmVTg9np3bmqVeKqKURyV-UUdG-KK_XCGzPZ-lZkeUlpMcIthQFs0pCODR9GPytv7ZXLPZFOmHM9fn3FD2yRqVhQzcs7HdcxMjCx6hkBW8Z-jW4qteVy2_E9uqjkKwlu_cQLoY83Z0mcjn0PZNQvKF10x7q1_Jjf_Su19UigTUu3pFMrzo4iPS_jcrFoIb3TSZNSzbgAwtujSBFOufPDyEmxlx1sH0ZowMvA", - "pattern" : "^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$", - "type" : "string" - }, - "issueTo" : { - "$ref" : "#/components/schemas/IssueToParty" - } - }, - "required" : [ - "document", - "issuanceManifestSignedContent", - "issueTo" - ], - "title" : "Issuance Request", - "type" : "object" - }, - "IssuanceResponse" : { - "properties" : { - "errors" : { - "description" : "A list of errors if the issuance failed for some reason.\n", - "items" : { - "$ref" : "#/components/schemas/IssuanceError" - }, - "maxItems" : 255, - "type" : "array" - }, - "issuanceResponseCode" : { - "description" : "The platforms verdict on the issuance of the EBL identified by the `transportDocumentReference`\n\nOptions are:\n - `ISSU`: The document was successfully `ISSU` and successfully delivered to the initial possessor.\n - `BREQ`: The platform reviewed the document and believe they cannot issue the document due to an error/issue with the content of the issuance request.\n - `REFU`: The eBL issuance is rejected for a reason that the issuing eBL platform cannot resolve (for example when an Interoperable transfer fails, due to a reject of the receiving eBL platform via the `BENV` code from the interoperability standard). One reason could be that the `issueTo` referenced a valid eBL platform but the receiving platform did not recognise the recipient specified.\n\nRegardless of the response code, the issuance request is now considered handled. In case of successful issuance, the platform will still have some responsibility but that is covered by other processes and APIs (e.g., the DCSA_SUR API mentioned in the description of this API). In case of failed issuance, it is up to the carrier to resolve the issue and, if needed, submit a revised issuance request.\n", - "enum" : [ - "ISSU", - "BREQ", - "REFU" - ], - "example" : "ISSU", - "type" : "string" - }, - "reason" : { - "description" : "Human readable description of the rationale for an unsuccessful issuance.\n\nThe `reason` should be omitted when the `issuanceResponseCode` is `ISSU`. If the platform for some reason chooses to deviate from this and provide the field anyway, they should use canned phrased like `Issued` that matches the meaning of the `issuanceResponseCode`.\n", - "example" : "Cannot get...", - "maxLength" : 255, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "transportDocumentReference" : { - "description" : "A unique number allocated by the shipping line to the transport document and the main number used for the tracking of the status of the shipment.\n", - "example" : "HHL71800000", - "maxLength" : 20, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "issuanceResponseCode", - "transportDocumentReference" - ], - "title" : "Issuance Response", - "type" : "object" - }, - "IssueToParty" : { - "description" : "The party to whom the electronic Bill of Lading (eBL) must be issued.\n", - "properties" : { - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "Globeteam", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "sendToPlatform" : { - "description" : "The EBL platform of the transaction party. \nThe value **MUST** be one of:\n- `WAVE` (Wave)\n- `CARX` (CargoX)\n- `ESSD` (EssDOCS)\n- `IDT` (ICE Digital Trade)\n- `BOLE` (Bolero)\n- `EDOX` (EdoxOnline)\n- `IQAX` (IQAX)\n- `SECR` (Secro)\n- `TRGO` (TradeGO)\n- `ETEU` (eTEU)\n- `TRAC` (TRACE Original)\n- `BRIT` (BRITC eBL)\n", - "example" : "BOLE", - "maxLength" : 4, - "pattern" : "^\\S+$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - } - }, - "required" : [ - "partyName", - "sendToPlatform" - ], - "title" : "Issue To Party", - "type" : "object" - }, - "IssuingParty" : { - "description" : "Refers to a company or a legal entity.\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/PartyAddress" - }, - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "Asseco Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - } - }, - "required" : [ - "address", - "partyName" - ], - "title" : "Issuing Party", - "type" : "object" - }, - "Limits" : { - "description" : "Limits for the `Dangerous Goods`. The same `Temperature Unit` needs to apply to all attributes in this structure.\n", - "properties" : { - "SADT" : { - "description" : "Lowest temperature in which self-accelerating decomposition may occur in a substance\n", - "example" : 54.1, - "format" : "float", - "type" : "number" - }, - "SAPT" : { - "description" : "Lowest temperature in which self-accelerating polymerization may occur in a substance\n", - "example" : 70, - "format" : "float", - "type" : "number" - }, - "flashPoint" : { - "description" : "Lowest temperature at which a chemical can vaporize to form an ignitable mixture in air.\n\n**Condition:** only applicable to specific hazardous goods according to the IMO IMDG Code.\n", - "example" : 42, - "format" : "float", - "type" : "number" - }, - "temperatureUnit" : { - "description" : "The unit for **all attributes in the limits structure** in Celsius or Fahrenheit\n\n- `CEL` (Celsius)\n- `FAH` (Fahrenheit)\n", - "enum" : [ - "CEL", - "FAH" - ], - "example" : "CEL", - "type" : "string" - }, - "transportControlTemperature" : { - "description" : "Maximum temperature at which certain substance (such as organic peroxides and self-reactive and related substances) can be safely transported for a prolonged period.\n", - "example" : 24.1, - "format" : "float", - "type" : "number" - }, - "transportEmergencyTemperature" : { - "description" : "Temperature at which emergency procedures shall be implemented\n", - "example" : 74.1, - "format" : "float", - "type" : "number" - } - }, - "required" : [ - "temperatureUnit" - ], - "title" : "Limits", - "type" : "object" - }, - "NationalCommodityCode" : { - "description" : "The national commodity classification code linked to a country with a value.\n\nAn example could look like this:\n\n| Type | Country | Value |\n|-------|:-------:|-------------|\n|NCM|BR|['1515', '2106', '2507', '2512']|\n", - "properties" : { - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "BR", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "type" : { - "description" : "The national commodity classification code, which can be one of the following values defined by DCSA:\n- `NCM` (Nomenclatura Comum do Mercosul)\n- `HTS` (Harmonized Tariff Schedule)\n- `SCHEDULE_B` ( Schedule B)\n- `TARIC` (Integrated Tariff of the European Communities)\n- `CN` (Combined Nomenclature)\n- `CUS` (Customs Union and Statistics)\n", - "example" : "NCM", - "maxLength" : 10, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "values" : { - "description" : "A list of `national commodity codes` values.\n", - "example" : [ - "1515", - "2106", - "2507", - "2512" - ], - "items" : { - "description" : "The value of the `National Commodity Code`\n", - "example" : "1515", - "maxLength" : 10, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "minItems" : 1, - "type" : "array" - } - }, - "required" : [ - "countryCode", - "type", - "values" - ], - "title" : "National Commodity Code", - "type" : "object" - }, - "NetExplosiveContent" : { - "description" : "The total weight of the explosive substances, without the packaging’s, casings, etc.\n", - "properties" : { - "unit" : { - "description" : "Unit of measure used to describe the `netExplosiveWeight`. Possible values are\n\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n- `GRM` (Grams)\n- `ONZ` (Ounce)\n", - "enum" : [ - "KGM", - "LBR", - "GRM", - "ONZ" - ], - "example" : "KGM", - "type" : "string" - }, - "value" : { - "description" : "The total weight of the explosive substances, without the packaging’s, casings, etc.\n", - "example" : 2.4, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Net Explosive Content", - "type" : "object" - }, - "NetVolume" : { - "description" : "The volume of the referenced dangerous goods.\n\n**Condition:** only applicable to liquids and gas.\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in either imperial or metric terms\n\n- `FTQ` (Cubic foot)\n- `MTQ` (Cubic meter)\n- `LTR` (Litre)\n", - "enum" : [ - "MTQ", - "FTQ", - "LTR" - ], - "example" : "MTQ", - "type" : "string" - }, - "value" : { - "description" : "The volume of the referenced dangerous goods.\n", - "example" : 2.4, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Net Volume", - "type" : "object" - }, - "NetWeight" : { - "description" : "Total weight of the goods carried, excluding packaging.\n", - "properties" : { - "unit" : { - "description" : "Unit of measure used to describe the `netWeight`. Possible values are\n\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", - "enum" : [ - "KGM", - "LBR" - ], - "example" : "KGM", - "type" : "string" - }, - "value" : { - "description" : "Total weight of the goods carried, excluding packaging.\n", - "example" : 2.4, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Net Weight", - "type" : "object" - }, - "NotifyParty" : { - "description" : "The person to be notified when a shipment arrives at its destination.\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/PartyAddress" - }, - "displayedAddress" : { - "description" : "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A single address line\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 6, - "type" : "array" - }, - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "IKEA Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "reference" : { - "description" : "A reference linked to the `NotifyParty`.\n", - "example" : "HHL007", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - }, - "typeOfPerson" : { - "description" : "Can be one of the following values as per the Union Customs Code art. 5(4):\n- `NATURAL_PERSON` (A person that is an individual living human being)\n- `LEGAL_PERSON` (person (including a human being and public or private organizations) that can perform legal actions, such as own a property, sue and be sued)\n- `ASSOCIATION_OF_PERSONS` (Not a legal person, but recognised under Union or National law as having the capacity to perform legal acts)\n", - "example" : "NATURAL_PERSON", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "partyName" - ], - "title" : "Notify Party", - "type" : "object" - }, - "OnwardInlandRouting" : { - "description" : "An object to capture `Onward Inland Routing` location specified as the end location of the inland movement that takes place after the container(s) being delivered to the port of discharge/place of delivery for account and risk of merchant (merchant haulage).\n\nThe location can be specified in **any** of the following ways: `UN Location Code`, `Facility` or an `Address`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `Address` and as a `Facility`) that both ways point to the same location.\n", - "example" : { - "UNLocationCode" : "DEHAM", - "locationName" : "Hamburg" - }, - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - }, - "address" : { - "$ref" : "#/components/schemas/Address" - }, - "facility" : { - "$ref" : "#/components/schemas/Facility" - }, - "locationName" : { - "description" : "The name of the location.", - "example" : "Port of Amsterdam", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Onward Inland Routing", - "type" : "object" - }, - "OtherDocumentParty" : { - "description" : "A list of document parties that can be optionally provided in the `Shipping Instructions` and `Transport Document`.\n", - "properties" : { - "party" : { - "$ref" : "#/components/schemas/Party" - }, - "partyFunction" : { - "description" : "Specifies the role of the party in a given context. Possible values are:\n\n- `SCO` (Service Contract Owner)\n- `DDR` (Consignor's freight forwarder)\n- `DDS` (Consignee's freight forwarder)\n- `COW` (Invoice payer on behalf of the consignor (shipper))\n- `COX` (Invoice payer on behalf of the consignee)\n", - "example" : "DDS", - "maxLength" : 3, - "type" : "string" - } - }, - "required" : [ - "party", - "partyFunction" - ], - "title" : "Other Document Party", - "type" : "object" - }, - "OuterPackaging" : { - "description" : "Object for outer packaging/overpack specification. Examples of overpacks are a number of packages stacked on to a pallet and secured by strapping or placed in a protective outer packaging such as a box or crate to form one unit for the convenience of handling and stowage during transport.\n", - "properties" : { - "dangerousGoods" : { - "description" : "A list of `Dangerous Goods`\n", - "items" : { - "$ref" : "#/components/schemas/DangerousGoods" - }, - "type" : "array" - }, - "description" : { - "description" : "Description of the outer packaging/overpack.\n", - "example" : "Drum, steel", - "maxLength" : 100, - "type" : "string" - }, - "imoPackagingCode" : { - "description" : "The code of the packaging as per IMO.\n\n**Condition:** only applicable to dangerous goods if specified in the [IMO IMDG code](https://www.imo.org/en/publications/Pages/IMDG%20Code.aspx). If not available, the `packageCode` as per UN recommendation 21 should be used.\n", - "example" : "1A2", - "maxLength" : 5, - "minLength" : 1, - "pattern" : "^[A-Z0-9]{1,5}$", - "type" : "string" - }, - "numberOfPackages" : { - "description" : "Specifies the number of outer packagings/overpacks associated with this `Cargo Item`.\n", - "example" : 18, - "format" : "int32", - "maximum" : 99999999, - "minimum" : 1, - "type" : "integer" - }, - "packageCode" : { - "description" : "A code identifying the outer packaging/overpack. `PackageCode` must follow the codes specified in [Recommendation N°21](https://unece.org/trade/uncefact/cl-recommendations)\n\n**Condition:** only applicable to dangerous goods if the `IMO packaging code` is not available.\n", - "example" : "5H", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z0-9]{2}$", - "type" : "string" - }, - "woodDeclaration" : { - "description" : "Property to clearly indicate if the products, packaging and any other items are made of wood. Possible values include:\n- `NOT_APPLICABLE` (if no wood or any other wood product such as packaging and supports are being shipped)\n- `NOT_TREATED_AND_NOT_CERTIFIED` (if the wood or wooden materials have not been treated nor fumigated and do not include a certificate)\n- `PROCESSED` (if the wood or wooden materials are entirely made of processed wood, such as plywood, particle board, sliver plates of wood and wood laminate sheets produced using glue, heat, pressure or a combination of these)\n- `TREATED_AND_CERTIFIED` (if the wood or wooden materials have been treated and/or fumigated and include a certificate)\n", - "example" : "TREATED_AND_CERTIFIED", - "maxLength" : 30, - "type" : "string" - } - }, - "required" : [ - "description", - "numberOfPackages" - ], - "title" : "Outer Packaging", - "type" : "object" - }, - "Party" : { - "description" : "Refers to a company or a legal entity.\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/PartyAddress" - }, - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "Asseco Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "reference" : { - "description" : "A reference linked to the `Party`.\n", - "example" : "HHL007", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - } - }, - "required" : [ - "partyName" - ], - "title" : "Party", - "type" : "object" - }, - "PartyAddress" : { - "description" : "An object for storing address related information\n", - "properties" : { - "POBox" : { - "description" : "A numbered box at a post office where a person or business can have mail or parcels delivered.", - "example" : "123", - "maxLength" : 20, - "type" : "string" - }, - "UNLocationCode" : { - "description" : "The UN Location code specifying where the carrier booking office is located. The pattern used must be\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - }, - "city" : { - "description" : "The city name of the party’s address.\n", - "example" : "Amsterdam", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "NL", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "floor" : { - "description" : "The floor of the party’s street number.\n", - "example" : "2nd", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "postCode" : { - "description" : "The post code of the party’s address.", - "example" : "1047 HM", - "maxLength" : 10, - "type" : "string" - }, - "stateRegion" : { - "description" : "The state/region of the party’s address.", - "example" : "North Holland", - "maxLength" : 65, - "type" : "string" - }, - "street" : { - "description" : "The name of the street of the party’s address.", - "example" : "Ruijggoordweg", - "maxLength" : 70, - "type" : "string" - }, - "streetNumber" : { - "description" : "The number of the street of the party’s address.", - "example" : "100", - "maxLength" : 50, - "type" : "string" - } - }, - "required" : [ - "city", - "countryCode", - "street" - ], - "title" : "Party Address", - "type" : "object" - }, - "PartyContactDetail" : { - "anyOf" : [ - { - "description" : "`Phone` is mandatory to provide\n", - "properties" : { - "phone" : { - "description" : "Phone number for the contact. Phone **MUST** include an international phone number format as defined in the [ITU-T recommendation E.123](https://www.itu.int/rec/T-REC-E.123/en).\n", - "example" : "+45 70262970", - "maxLength" : 30, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "phone" - ], - "title" : "Phone required", - "type" : "object" - }, - { - "description" : "`Email` is mandatory to provide\n", - "properties" : { - "email" : { - "description" : "`E-mail` address to be used\n", - "example" : "info@dcsa.org", - "maxLength" : 100, - "pattern" : "^.+@\\S+$", - "type" : "string" - } - }, - "required" : [ - "email" - ], - "title" : "Email required", - "type" : "object" - } - ], - "description" : "The contact details of the person to contact. It is mandatory to provide either `phone` and/or `email` along with the `name`.\n", - "example" : { - "name" : "Henrik", - "phone" : "+45 51801234" - }, - "properties" : { - "name" : { - "description" : "Name of the contact\n", - "example" : "Henrik", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "name" - ], - "title" : "Party Contact Detail", - "type" : "object" - }, - "PlaceOfDelivery" : { - "description" : "An object to capture `Place of Delivery` location specified as: the location where the cargo is handed over to the consignee, or his agent, by the shipping line and where responsibility of the shipping line ceases.\n\n**Condition:** Only when onward transport is done by the carrier\n\nThe location can be specified in **any** of the following ways: `UN Location Code`, `Facility` or an `Address`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `Address` and as a `Facility`) that both ways point to the same location.\n", - "example" : { - "UNLocationCode" : "DEHAM", - "locationName" : "Hamburg" - }, - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - }, - "address" : { - "$ref" : "#/components/schemas/Address" - }, - "facility" : { - "$ref" : "#/components/schemas/Facility" - }, - "geoCoordinate" : { - "$ref" : "#/components/schemas/GeoCoordinate" - }, - "locationName" : { - "description" : "The name of the location.", - "example" : "Port of Amsterdam", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Place of Delivery", - "type" : "object" - }, - "PlaceOfIssue" : { - "description" : "An object to capture where the original Transport Document (`Bill of Lading`) will be issued.\n\nThe location can be specified either as a `UN Location Code` or as a `CountryCode`.\n", - "oneOf" : [ - { - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - } - }, - "required" : [ - "UNLocationCode" - ], - "title" : "UN Location Code", - "type" : "object" - }, - { - "properties" : { - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "NL", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - } - }, - "required" : [ - "countryCode" - ], - "title" : "Country Code", - "type" : "object" - } - ], - "properties" : { - "locationName" : { - "description" : "The name of the location.", - "example" : "Port of Amsterdam", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Place of Issue", - "type" : "object" - }, - "PlaceOfReceipt" : { - "description" : "An object to capture `Place of Receipt` location specified as: the location where the cargo is handed over by the shipper, or his agent, to the shipping line. This indicates the point at which the shipping line takes on responsibility for carriage of the container.\n\n**Condition:** Only when pre-carriage is done by the carrier.\n\nThe location can be specified in **any** of the following ways: `UN Location Code`, `Facility` or an `Address`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `Address` and as a `Facility`) that both ways point to the same location.\n", - "example" : { - "UNLocationCode" : "DEHAM", - "locationName" : "Hamburg" - }, - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - }, - "address" : { - "$ref" : "#/components/schemas/Address" - }, - "facility" : { - "$ref" : "#/components/schemas/Facility" - }, - "geoCoordinate" : { - "$ref" : "#/components/schemas/GeoCoordinate" - }, - "locationName" : { - "description" : "The name of the location.", - "example" : "Port of Amsterdam", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Place of Receipt", - "type" : "object" - }, - "PortOfDischarge" : { - "description" : "An object to capture `Port of Discharge` location specified as: the location where the cargo is discharged from the last sea-going vessel.\n\nThe location can be specified in **any** of the following ways: `UN Location Code` or `City and Country`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `UN Location Code` and as a `City and Country`) that both ways point to the same location.\n", - "example" : { - "UNLocationCode" : "DEHAM", - "locationName" : "Hamburg" - }, - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - }, - "city" : { - "$ref" : "#/components/schemas/City" - }, - "locationName" : { - "description" : "The name of the location.", - "example" : "Port of Amsterdam", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Port of Discharge", - "type" : "object" - }, - "PortOfLoading" : { - "description" : "An object to capture `Port of Loading` location specified as: the location where the cargo is loaded onto a first sea-going vessel for water transportation.\n\nThe location can be specified in **any** of the following ways: `UN Location Code` or `City and Country`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `UN Location Code` and as a `City and Country`) that both ways point to the same location.\n", - "example" : { - "UNLocationCode" : "DEHAM", - "locationName" : "Hamburg" - }, - "properties" : { - "UNLocationCode" : { - "description" : "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", - "example" : "NLAMS", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^[A-Z]{2}[A-Z2-9]{3}$", - "type" : "string" - }, - "city" : { - "$ref" : "#/components/schemas/City" - }, - "locationName" : { - "description" : "The name of the location.", - "example" : "Port of Amsterdam", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "title" : "Port of Loading", - "type" : "object" - }, - "Reference" : { - "description" : "References provided by the shipper or freight forwarder at the time of `Booking` or at the time of providing `Shipping Instructions`. Carriers share it back when providing `Track & Trace` event updates, some are also printed on the B/L. Customers can use these references to track shipments in their internal systems.\n", - "properties" : { - "type" : { - "description" : "The reference type codes defined by DCSA. Possible values are:\n- `CR` (Customer’s Reference)\n- `AKG` (Vehicle Identification Number)\n", - "example" : "CR", - "maxLength" : 3, - "type" : "string" - }, - "value" : { - "description" : "The value of the reference. \n", - "example" : "HHL00103004", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "type", - "value" - ], - "title" : "Reference", - "type" : "object" - }, - "ReferenceConsignmentItem" : { - "description" : "References provided by the shipper or freight forwarder at the time of `Booking` or at the time of providing `Shipping Instructions`. Carriers share it back when providing `Track & Trace` event updates, some are also printed on the B/L. Customers can use these references to track shipments in their internal systems.\n", - "properties" : { - "type" : { - "description" : "The reference type codes defined by DCSA. Possible values are:\n- `CR` (Customer’s Reference)\n- `AKG` (Vehicle Identification Number)\n- `SPO` (Shipper's Purchase Order)\n- `CPO` (Consignee's Purchase Order)\n", - "example" : "CR", - "maxLength" : 3, - "type" : "string" - }, - "values" : { - "description" : "List of `referenceValues` for a given `referenceType`.\n", - "items" : { - "description" : "The value of the reference. \n", - "example" : "HHL00103004", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "minItems" : 1, - "type" : "array" - } - }, - "required" : [ - "type", - "values" - ], - "title" : "Reference (Consignment Item)", - "type" : "object" - }, - "Seal" : { - "description" : "Addresses the seal-related information associated with the shipment equipment. A seal is put on a shipment equipment once it is loaded. This `Seal` is meant to stay on until the shipment equipment reaches its final destination.\n", - "properties" : { - "number" : { - "description" : "Identifies a seal affixed to the container.", - "example" : "VET123", - "maxLength" : 15, - "type" : "string" - }, - "source" : { - "description" : "The source of the seal, namely who has affixed the seal.\n- `CAR` (Carrier)\n- `SHI` (Shipper)\n- `VET` (Veterinary)\n- `CUS` (Customs)\n\n**Condition:** Seal source may be required depending on the type of commodity being shipped.\n", - "enum" : [ - "CAR", - "SHI", - "VET", - "CUS" - ], - "example" : "CUS", - "type" : "string" - } - }, - "required" : [ - "number" - ], - "title" : "Seal", - "type" : "object" - }, - "Shipper" : { - "description" : "The party by whom or in whose name or on whose behalf a contract of carriage of goods by sea has been concluded with a carrier, or the party by whom or in whose name, or on whose behalf, the goods are actually delivered to the carrier in relation to the contract of carriage by sea.\n\n**Condition:** Either the `address` or the `displayedAddress` must be included in the `Transport Document`.\n", - "properties" : { - "address" : { - "$ref" : "#/components/schemas/PartyAddress" - }, - "displayedAddress" : { - "description" : "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A single address line\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 6, - "type" : "array" - }, - "identifyingCodes" : { - "items" : { - "$ref" : "#/components/schemas/IdentifyingCode" - }, - "type" : "array" - }, - "partyContactDetails" : { - "description" : "A list of contact details\n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "type" : "array" - }, - "partyName" : { - "description" : "Name of the party.\n", - "example" : "IKEA Denmark", - "maxLength" : 70, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "purchaseOrderReferences" : { - "description" : "A list of `Purchase Order Reference`s linked to the `Shipper`.\n", - "items" : { - "description" : "A purchase order reference linked to the `Shipper`.\n", - "example" : "HHL007", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "type" : "array" - }, - "reference" : { - "description" : "A reference linked to the `Shipper`.\n", - "example" : "HHL007", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "taxLegalReferences" : { - "description" : "A list of `Tax References` for a `Party`\n", - "items" : { - "$ref" : "#/components/schemas/TaxLegalReference" - }, - "type" : "array" - }, - "typeOfPerson" : { - "description" : "Can be one of the following values as per the Union Customs Code art. 5(4):\n- `NATURAL_PERSON` (A person that is an individual living human being)\n- `LEGAL_PERSON` (person (including a human being and public or private organizations) that can perform legal actions, such as own a property, sue and be sued)\n- `ASSOCIATION_OF_PERSONS` (Not a legal person, but recognised under Union or National law as having the capacity to perform legal acts)\n", - "example" : "NATURAL_PERSON", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "partyName" - ], - "title" : "Shipper", - "type" : "object" - }, - "SupportingDocument" : { - "properties" : { - "content" : { - "description" : "The actual contents of the visual rendering.", - "example" : "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAGaSURBVDhPnZO/S0JRFMe/zygxwgqcfZtz0N7SFNgPaKlJpTFLCqwotV9qRYN/gIOL1FK22NISWENT0BTUkNLgIL2iHxYRnc697/kKzdA+cOD8uOec77uXB/oHngMPnd2eSb/pAf5DP2EWhGlQ8ChIikiiQa7vruFacwHdHHwC9nY7mhqgRBTdsbDdA/nVvHQbYnxvHHhnp4XtFZjon4DapTam4Lx4jt7NXlO6WEsreltDA5RFlt4qHDaWXlgrwNnplDX5CcWnIo5vjmWimsGdQV7HjjjJ0gMDAbNZopU1wgwfmQSlL9JCkEkunyMEuLbMFgZZ161G5RsFES5WNrC8lC8Fb49XDlcWWLNVOHqttFGCo90haxUsyeEk8GhEfEm+lA/ZqyyGdof0ocJegMhIpKZZIC8xfhLH0v6SfstCzRubeK42tg9Od3RDm9c4qMV8hWguinAmDHTJvC5bVB6A8nYZtlabTFcjX0EQ6gshNhqTDSbPQGIsUbdZIhT8ZOt0izDFu+dAakI1svX59W/MXGbIveM2or8g+gL+Fn3DwcYf+gAAAABJRU5ErkJggg==", - "format" : "byte", - "type" : "string" - }, - "contentType" : { - "default" : "application/pdf", - "description" : "The `Media Type` of the content being transmitted as defined by [Iana](https://www.iana.org/assignments/media-types/media-types.xhtml). Can be left out if the content is `application/pdf` (PDF).\n\n**Condition:** This property is mandatory to provide if it differs from `application/pdf`\n", - "example" : "application/msword", - "maxLength" : 100, - "type" : "string" - }, - "name" : { - "example" : "Carrier rendered copy of the EBL.pdf", - "maxLength" : 100, - "type" : "string" - } - }, - "required" : [ - "content", - "name" - ], - "title" : "Supporting Document", - "type" : "object" - }, - "TareWeight" : { - "description" : "The weight of an empty container (gross container weight).\n", - "properties" : { - "unit" : { - "description" : "The unit of measure which can be expressed in imperial or metric terms\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", - "enum" : [ - "KGM", - "LBR" - ], - "example" : "KGM", - "type" : "string" - }, - "value" : { - "description" : "The weight of an empty container (gross container weight).\n", - "example" : 4800, - "exclusiveMinimum" : true, - "format" : "float", - "minimum" : 0, - "type" : "number" - } - }, - "required" : [ - "unit", - "value" - ], - "title" : "Tare Weight", - "type" : "object" - }, - "TaxLegalReference" : { - "description" : "Reference that uniquely identifies a party for tax and/or legal purposes in accordance with the relevant jurisdiction.\n\nA small list of **potential** examples:\n\n| Type | Country | Description |\n|-------|:-------:|-------------|\n|PAN|IN|Goods and Services Tax Identification Number in India|\n|GSTIN|IN|Goods and Services Tax Identification Number in India|\n|IEC|IN|Importer-Exported Code in India|\n|RUC|EC|Registro Único del Contribuyente in Ecuador|\n|RUC|PE|Registro Único del Contribuyente in Peru|\n|NIF|MG|Numéro d'Identification Fiscal in Madagascar|\n|NIF|DZ|Numéro d'Identification Fiscal in Algeria|\n", - "properties" : { - "countryCode" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "IN", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "type" : { - "description" : "The reference type code as defined by the relevant tax and/or legal authority.\n", - "example" : "PAN", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "value" : { - "description" : "The value of the `taxLegalReference`\n", - "example" : "AAAAA0000A", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "countryCode", - "type", - "value" + "IssuanceRequest": { + "title": "Issuance Request", + "required": [ + "document", + "issuanceManifestSignedContent", + "issueTo" + ], + "type": "object", + "properties": { + "document": { + "$ref": "#/components/schemas/TransportDocument" + }, + "issueTo": { + "$ref": "#/components/schemas/IssueToParty" + }, + "eBLVisualisationByCarrier": { + "$ref": "#/components/schemas/SupportingDocument" + }, + "issuanceManifestSignedContent": { + "pattern": "^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$", + "type": "string", + "description": "JWS content with compact serialization according to [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515#section-7.1). JWS-signed payload is defined in schema [IssuanceManifest](#/IssuanceManifest).\nThis attribute is used to provide integrity of various parts of the payload that enable parties to\nvalidate whether a payload matches what the carrier issued originally. Accordingly, the payload is\nsigned by the carrier.\n", + "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6IlVhRVdLNmt2ZkRITzNZT2NwUGl2M1RCT2JQTzk2SFZhR2U0czFhUUxBZU0ifQ.eyJkb2N1bWVudEhhc2giOiI4ZGM5OWQ4YWM5MjIyNDBjNTVjMDM4NDVmNDlkZWY2NDE4NzE0NjY1MWJhZTRmOWE2MzEzMTI3N2NmMDBkOWRmIiwicHJldmlvdXNFbnZlbG9wZUhhc2giOm51bGwsInRyYW5zYWN0aW9ucyI6W3siYWN0aW9uIjoiSVNTVSIsImNvbW1lbnRzIjoiVGhlIEIvTCBoYXMgYmVlbiBpc3N1ZWQuIiwidGltZXN0YW1wIjoxNjU4Mzg1MTY2MzAyNDQyMjAwLCJpc1RvT3JkZXIiOnRydWUsInBsYXRmb3JtSG9zdCI6ImxvY2FsaG9zdDo4NDQzIiwidHJhbnNmZXJlZSI6IjQzNTQ5ODUwMjQ4QGxvY2FsaG9zdDo4NDQzIn1dfQ.c4SJ9-61fE6RmeIuZ3EI-TSM0M6qXuOudtr3YhpDjqVMaYk_RYpaWYvw75ssTbjgGFKTBKCy5lpmOfb8Fq--Qu2k0MWbH6qdX5jTYwl0DX946RQg-hnmVTg9np3bmqVeKqKURyV-UUdG-KK_XCGzPZ-lZkeUlpMcIthQFs0pCODR9GPytv7ZXLPZFOmHM9fn3FD2yRqVhQzcs7HdcxMjCx6hkBW8Z-jW4qteVy2_E9uqjkKwlu_cQLoY83Z0mcjn0PZNQvKF10x7q1_Jjf_Su19UigTUu3pFMrzo4iPS_jcrFoIb3TSZNSzbgAwtujSBFOufPDyEmxlx1sH0ZowMvA" + } + }, + "description": "Details of the eBL that the carrier requests to have issued.\n\nThe `eBLVisualisationByCarrier` is an optional document, where the carrier can provide its own visualization of the eBL for the end user. The carrier is the sole responsible party for ensuring there are no discrepancies between the eBL (the `document` attribute) and the provided visualization (the `eBLVisualisationByCarrier` attribute).\n" + }, + "SupportingDocument": { + "title": "Supporting Document", + "required": [ + "content", + "name" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 100, + "type": "string", + "example": "Carrier rendered copy of the EBL.pdf" + }, + "content": { + "type": "string", + "description": "The actual contents of the visual rendering.", + "format": "byte", + "example": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAGaSURBVDhPnZO/S0JRFMe/zygxwgqcfZtz0N7SFNgPaKlJpTFLCqwotV9qRYN/gIOL1FK22NISWENT0BTUkNLgIL2iHxYRnc697/kKzdA+cOD8uOec77uXB/oHngMPnd2eSb/pAf5DP2EWhGlQ8ChIikiiQa7vruFacwHdHHwC9nY7mhqgRBTdsbDdA/nVvHQbYnxvHHhnp4XtFZjon4DapTam4Lx4jt7NXlO6WEsreltDA5RFlt4qHDaWXlgrwNnplDX5CcWnIo5vjmWimsGdQV7HjjjJ0gMDAbNZopU1wgwfmQSlL9JCkEkunyMEuLbMFgZZ161G5RsFES5WNrC8lC8Fb49XDlcWWLNVOHqttFGCo90haxUsyeEk8GhEfEm+lA/ZqyyGdof0ocJegMhIpKZZIC8xfhLH0v6SfstCzRubeK42tg9Od3RDm9c4qMV8hWguinAmDHTJvC5bVB6A8nYZtlabTFcjX0EQ6gshNhqTDSbPQGIsUbdZIhT8ZOt0izDFu+dAakI1svX59W/MXGbIveM2or8g+gL+Fn3DwcYf+gAAAABJRU5ErkJggg==" + }, + "contentType": { + "maxLength": 100, + "type": "string", + "description": "The `Media Type` of the content being transmitted as defined by [Iana](https://www.iana.org/assignments/media-types/media-types.xhtml). Can be left out if the content is `application/pdf` (PDF).\n\n**Condition:** This property is mandatory to provide if it differs from `application/pdf`\n", + "example": "application/msword", + "default": "application/pdf" + } + } + }, + "IssuanceManifest": { + "title": "Issuance Manifest", + "required": [ + "documentChecksum", + "issueToChecksum" + ], + "type": "object", + "properties": { + "documentChecksum": { + "maxLength": 64, + "minLength": 64, + "pattern": "^[0-9a-f]+$", + "type": "string", + "description": "The checksum of the `document` attribute computed using SHA-256 hash algorithm according to [RFC 6234](https://datatracker.ietf.org/doc/html/rfc6234). The transport document must be in the [RFC 8785](https://datatracker.ietf.org/doc/html/rfc8785) canonical form before the checksum is computed.\n", + "example": "76a7d14c83d7268d643ae7345c448de60701f955d264a743e6928a0b8268b24f" + }, + "eBLVisualisationByCarrierChecksum": { + "maxLength": 64, + "minLength": 64, + "pattern": "^[0-9a-f]+$", + "type": "string", + "description": "The checksum of the `content` attribute of the `eBLVisualisationByCarrier` attribute computed using SHA-256 hash algorithm according to [RFC 6234](https://datatracker.ietf.org/doc/html/rfc6234). The checksum is computed on the `content` field in its decoded form.\n", + "example": "76a7d14c83d7268d643ae7345c448de60701f955d264a743e6928a0b8268b24f" + }, + "issueToChecksum": { + "maxLength": 64, + "minLength": 64, + "pattern": "^[0-9a-f]+$", + "type": "string", + "description": "The checksum of the `issueTo` attribute computed using SHA-256 hash algorithm according to [RFC 6234](https://datatracker.ietf.org/doc/html/rfc6234). The value must be in the [RFC 8785](https://datatracker.ietf.org/doc/html/rfc8785) canonical form before the checksum is computed.\n", + "example": "76a7d14c83d7268d643ae7345c448de60701f955d264a743e6928a0b8268b24f" + } + }, + "description": "Checksums of the carrier provided documents from the issuance time.\n" + }, + "IssueToParty": { + "title": "Issue To Party", + "required": [ + "partyName", + "sendToPlatform" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "Globeteam" + }, + "sendToPlatform": { + "maxLength": 4, + "pattern": "^\\S+$", + "type": "string", + "description": "The EBL platform of the transaction party. \nThe value **MUST** be one of:\n- `WAVE` (Wave)\n- `CARX` (CargoX)\n- `ESSD` (EssDOCS)\n- `IDT` (ICE Digital Trade)\n- `BOLE` (Bolero)\n- `EDOX` (EdoxOnline)\n- `IQAX` (IQAX)\n- `SECR` (Secro)\n- `TRGO` (TradeGO)\n- `ETEU` (eTEU)\n- `TRAC` (TRACE Original)\n- `BRIT` (BRITC eBL)\n", + "example": "BOLE" + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + } + }, + "description": "The party to whom the electronic Bill of Lading (eBL) must be issued.\n" + }, + "IdentifyingCode": { + "title": "Identifying Code", + "required": [ + "codeListProvider", + "partyCode" + ], + "type": "object", + "properties": { + "codeListProvider": { + "maxLength": 100, + "type": "string", + "description": "A list of codes identifying a party. Possible values are:\n\n- `WAVE` (Wave)\n- `CARX` (CargoX)\n- `ESSD` (EssDOCS)\n- `IDT` (ICE Digital Trade)\n- `BOLE` (Bolero)\n- `EDOX` (EdoxOnline)\n- `IQAX` (IQAX)\n- `SECR` (Secro)\n- `TRGO` (TradeGO)\n- `ETEU` (eTEU)\n- `TRAC` (TRACE Original)\n- `BRIT` (BRITC eBL)\n- `GSBN` (Global Shipping Business Network)\n- `WISE` (WiseTech)\n- `GLEIF` (Global Legal Entity Identifier Foundation)\n- `W3C` (World Wide Web Consortium)\n- `DNB` (Dun and Bradstreet)\n- `FMC` (Federal Maritime Commission)\n- `DCSA` (Digital Container Shipping Association)\n- `EU` (European Union Member State Customs Authority)\n- `ZZZ` (Mutually defined)\n", + "example": "W3C" + }, + "partyCode": { + "maxLength": 150, + "type": "string", + "description": "Code to identify the party as provided by the code list provider\n", + "example": "MSK" + }, + "codeListName": { + "maxLength": 100, + "type": "string", + "description": "The name of the code list, code generation mechanism or code authority for the `partyCode`. Example values could be:\n\n- `DID` (Decentralized Identifier) for `codeListProvider` `W3C`\n- `LEI` (Legal Entity Identifier) for `codeListProvider` `GLEIF`\n- `DUNS` (Data Universal Numbering System) for `codeListProvider` `DNB`\n- `EORI` (Economic Operators Registration and Identification) for codeListProvider `EU`\n", + "example": "DID" + } + } + }, + "TaxLegalReference": { + "title": "Tax & Legal Reference", + "required": [ + "countryCode", + "type", + "value" + ], + "type": "object", + "properties": { + "type": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The reference type code as defined by the relevant tax and/or legal authority.\n", + "example": "PAN" + }, + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "IN" + }, + "value": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The value of the `taxLegalReference`\n", + "example": "AAAAA0000A" + } + }, + "description": "Reference that uniquely identifies a party for tax and/or legal purposes in accordance with the relevant jurisdiction.\n\nA small list of **potential** examples:\n\n| Type | Country | Description |\n|-------|:-------:|-------------|\n|PAN|IN|Goods and Services Tax Identification Number in India|\n|GSTIN|IN|Goods and Services Tax Identification Number in India|\n|IEC|IN|Importer-Exported Code in India|\n|RUC|EC|Registro Único del Contribuyente in Ecuador|\n|RUC|PE|Registro Único del Contribuyente in Peru|\n|NIF|MG|Numéro d'Identification Fiscal in Madagascar|\n|NIF|DZ|Numéro d'Identification Fiscal in Algeria|\n" + }, + "TransportDocument": { + "title": "Transport Document", + "required": [ + "cargoMovementTypeAtDestination", + "cargoMovementTypeAtOrigin", + "carrierCode", + "carrierCodeListProvider", + "consignmentItems", + "deliveryTypeAtDestination", + "documentParties", + "invoicePayableAt", + "isElectronic", + "isShippedOnBoardType", + "isToOrder", + "partyContactDetails", + "receiptTypeAtOrigin", + "termsAndConditions", + "transportDocumentReference", + "transportDocumentStatus", + "transportDocumentTypeCode", + "transports", + "utilizedTransportEquipments" + ], + "type": "object", + "properties": { + "transportDocumentReference": { + "maxLength": 20, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A unique number allocated by the shipping line to the transport document and the main number used for the tracking of the status of the shipment.\n", + "example": "HHL71800000" + }, + "shippingInstructionsReference": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The identifier for a `Shipping Instructions` provided by the carrier for system purposes.\n", + "example": "e0559d83-00e2-438e-afd9-fdd610c1a008" + }, + "transportDocumentStatus": { + "maxLength": 50, + "type": "string", + "description": "The status of the `Transport Document`. Possible values are:\n- DRAFT\n- APPROVED\n- ISSUED\n- PENDING_SURRENDER_FOR_AMENDMENT\n- SURRENDERED_FOR_AMENDMENT\n- PENDING_SURRENDER_FOR_DELIVERY\n- SURRENDERED_FOR_DELIVERY\n- VOIDED\n", + "example": "DRAFT" + }, + "transportDocumentTypeCode": { + "type": "string", + "description": "Specifies the type of the transport document\n- `BOL` (Bill of Lading)\n- `SWB` (Sea Waybill)\n", + "example": "SWB", + "enum": [ + "BOL", + "SWB" + ] + }, + "isShippedOnBoardType": { + "type": "boolean", + "description": "Specifies whether the Transport Document is a received for shipment, or shipped on board.\n", + "example": true + }, + "freightPaymentTermCode": { + "type": "string", + "description": "An indicator of whether freight and ancillary fees for the main transport are prepaid (`PRE`) or collect (`COL`). When prepaid the charges are the responsibility of the shipper or the Invoice payer on behalf of the shipper (if provided). When collect, the charges are the responsibility of the consignee or the Invoice payer on behalf of the consignee (if provided).\n\n- `PRE` (Prepaid)\n- `COL` (Collect)\n", + "example": "PRE", + "enum": [ + "PRE", + "COL" + ] + }, + "isElectronic": { + "type": "boolean", + "description": "An indicator whether the transport document is electronically transferred.\n", + "example": true + }, + "isToOrder": { + "type": "boolean", + "description": "Indicates whether the B/L is issued `to order` or not. If `true`, the B/L is considered negotiable and an Endorsee party can be defined in the Document parties. If no Endorsee is defined, the B/L is blank endorsed. If `false`, the B/L is considered non-negotiable (also referred to as `straight`).\n\n`isToOrder` must be `false` if `transportDocumentTypeCode='SWB'` (Sea Waybill).\n", + "example": false + }, + "numberOfCopiesWithCharges": { + "minimum": 0, + "type": "integer", + "description": "The requested number of copies of the `Transport Document` to be issued by the carrier including charges.\n\n**Conditions:** The following table defines the conditions for the `numberOfCopiesWithCharges` property:\n| Transport Document Type Code | Is Electronic | Meaning |\n|-------|:-------:|-------|\n|`BOL`|`false`|How many paper copies of the Original BL to be issued by the carrier with charges|\n|`BOL`|`true`|Not applicable, there are no copies|\n|`SWB`|`false`|Indicates that charges should be included in the `SWB` (pdf or other formats)|\n|`SWB`|`true`|Indicates that charges should be included in the electronic `SWB`|\n", + "format": "int32", + "example": 2 + }, + "numberOfCopiesWithoutCharges": { + "minimum": 0, + "type": "integer", + "description": "The requested number of copies of the `Transport Document` to be issued by the carrier **NOT** including charges.\n\n**Conditions:** The following table defines the conditions for the `numberOfCopiesWithoutCharges` property:\n| Transport Document Type Code | Is Electronic | Meaning |\n|-------|:-------:|-------|\n|`BOL`|`false`|How many paper copies of the Original BL to be issued by the carrier without charges|\n|`BOL`|`true`|Not applicable, there are no copies|\n|`SWB`|`false`|Indicates that charges should NOT be included in the `SWB` (pdf or other formats)|\n|`SWB`|`true`|Indicates that charges NOT should be included in the electronic `SWB`|\n", + "format": "int32", + "example": 2 + }, + "numberOfOriginalsWithCharges": { + "minimum": 0, + "type": "integer", + "description": "Number of originals of the Bill of Lading that has been requested by the customer with charges.\n\n**Condition:** Only applicable if `transportDocumentType` = `BOL` (Bill of Lading). If `isElectronic = 'True'`, accepted value is `1` (one) or `0` (zero)\n", + "format": "int32", + "example": 1 + }, + "numberOfOriginalsWithoutCharges": { + "minimum": 0, + "type": "integer", + "description": "Number of originals of the Bill of Lading that has been requested by the customer without charges.\n\n**Condition:** Only applicable if `transportDocumentType` = `BOL` (Bill of Lading). If `isElectronic = 'True'`, accepted value is `1` (one) or `0` (zero)\n", + "format": "int32", + "example": 1 + }, + "displayedNameForPlaceOfReceipt": { + "maxItems": 5, + "type": "array", + "description": "The name to be used in order to specify how the `Place of Receipt` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A line of the address to be displayed on the transport document.\n", + "example": "Strawinskylaan 4117" + } + }, + "displayedNameForPortOfLoad": { + "maxItems": 5, + "type": "array", + "description": "The name to be used in order to specify how the `Port of Load` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A line of the address to be displayed on the transport document.\n", + "example": "Strawinskylaan 4117" + } + }, + "displayedNameForPortOfDischarge": { + "maxItems": 5, + "type": "array", + "description": "The name to be used in order to specify how the `Port of Discharge` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A line of the address to be displayed on the transport document.\n", + "example": "Strawinskylaan 4117" + } + }, + "displayedNameForPlaceOfDelivery": { + "maxItems": 5, + "type": "array", + "description": "The name to be used in order to specify how the `Place of Delivery` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A line of the address to be displayed on the transport document.\n", + "example": "Strawinskylaan 4117" + } + }, + "shippedOnBoardDate": { + "type": "string", + "description": "Date when the last container that is linked to the transport document is physically loaded onboard the vessel indicated on the transport document.\n\nWhen provided on a transport document, the transportDocument is a `Shipped On Board` B/L.\n\nExactly one of `shippedOnBoard` and `receiveForShipmentDate` must be provided on an issued B/L.\n", + "format": "date", + "example": "2020-12-12" + }, + "displayedShippedOnBoardReceivedForShipment": { + "maxLength": 250, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The text to be displayed on the `Transport Document` as evidence that the goods have been received for shipment or shipped on board.\n", + "example": "Received for Shipment CMA CGM CONCORDE 28-Jul-2022 CMA CGM Agences France SAS As agents for the Carrier" + }, + "termsAndConditions": { + "maxLength": 50000, + "type": "string", + "description": "Carrier terms and conditions of transport.\n", + "example": "Any reference in..." + }, + "receiptTypeAtOrigin": { + "maxLength": 3, + "type": "string", + "description": "Indicates the type of service offered at `Origin`. The options are:\n- `CY` (Container yard (incl. rail ramp))\n- `SD` (Store Door)\n- `CFS` (Container Freight Station)\n", + "example": "CY", + "enum": [ + "CY", + "SD", + "CFS" + ] + }, + "deliveryTypeAtDestination": { + "maxLength": 3, + "type": "string", + "description": "Indicates the type of service offered at `Destination`. The options are:\n\n- `CY` (Container yard (incl. rail ramp))\n- `SD` (Store Door)\n- `CFS` (Container Freight Station)\n", + "example": "CY", + "enum": [ + "CY", + "SD", + "CFS" + ] + }, + "cargoMovementTypeAtOrigin": { + "maxLength": 3, + "type": "string", + "description": "Refers to the shipment term at the **loading** of the cargo into the container. Possible values are:\n\n- `FCL` (Full Container Load)\n- `LCL` (Less than Container Load)\n", + "example": "FCL" + }, + "cargoMovementTypeAtDestination": { + "maxLength": 3, + "type": "string", + "description": "Refers to the shipment term at the **unloading** of the cargo out of the container. Possible values are:\n\n- `FCL` (Full Container Load)\n- `LCL` (Less than Container Load)\n", + "example": "FCL" + }, + "issueDate": { + "type": "string", + "description": "Local date when the transport document has been issued.\n\nCan be omitted on draft transport documents, but must be provided when the document has been issued.\n", + "format": "date", + "example": "2020-12-12" + }, + "receivedForShipmentDate": { + "type": "string", + "description": "Date when the last container linked to the transport document is physically in the terminal (customers cleared against the intended vessel).\n\nWhen provided on a transport document, the transportDocument is a `Received For Shipment` B/L.\n\nExactly one of `shippedOnBoard` and `receiveForShipmentDate` must be provided on an issued B/L.\n", + "format": "date", + "example": "2020-12-12" + }, + "serviceContractReference": { + "maxLength": 30, + "type": "string", + "description": "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.\n", + "example": "HHL51800000" + }, + "contractQuotationReference": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Information provided by the shipper to identify whether pricing for the shipment has been agreed via a contract or a quotation reference.\n", + "example": "HHL1401" + }, + "declaredValue": { + "minimum": 0, + "type": "number", + "description": "The value of the cargo that the shipper declares in order to avoid the carrier's limitation of liability and \"Ad Valorem\" freight, i.e., freight which is calculated based on the value of the goods declared by the shipper.\n\n**Condition:** Included in the transport document upon customer request. If customers want the value to show, evidence is required, and customers need to approve additional insurance fee charge from the carrier (very exceptional).\n", + "format": "float", + "example": 1231.1 + }, + "declaredValueCurrency": { + "maxLength": 3, + "minLength": 3, + "pattern": "^[A-Z]{3}$", + "type": "string", + "description": "The currency used for the declared value, using the 3-character code defined by [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html).\n", + "example": "DKK" + }, + "carrierCode": { + "maxLength": 4, + "pattern": "^\\S+$", + "type": "string", + "description": "The `SCAC` code (provided by [NMFTA](https://nmfta.org/scac/)) or `SMDG` code (provided by [SMDG](https://smdg.org/documents/smdg-code-lists/smdg-liner-code-list/)) of the issuing carrier of the `Transport Document`. `carrierCodeListProvider` defines which list the `carrierCode` is based upon.\n", + "example": "MMCU" + }, + "carrierCodeListProvider": { + "type": "string", + "description": "The code list provider for the `carrierCode`. Possible values are:\n- `SMDG` (Ship Message Design Group)\n- `NMFTA` (National Motor Freight Traffic Association)\n", + "example": "NMFTA", + "enum": [ + "SMDG", + "NMFTA" + ] + }, + "carrierClauses": { + "type": "array", + "description": "Additional clauses for a specific shipment added by the carrier to the Bill of Lading, subject to local rules / guidelines or certain mandatory information required to be shared with the customer.\n", + "items": { + "maxLength": 20000, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The content of the clause.\n", + "example": "It is not allowed to..." + } + }, + "numberOfRiderPages": { + "minimum": 0, + "type": "integer", + "description": "The number of additional pages required to contain the goods description on a transport document. Only applicable for physical transport documents.\n", + "format": "int32", + "example": 2 + }, + "transports": { + "$ref": "#/components/schemas/Transports" + }, + "charges": { + "type": "array", + "description": "A list of `Charges`\n", + "items": { + "$ref": "#/components/schemas/Charge" + } + }, + "placeOfIssue": { + "$ref": "#/components/schemas/PlaceOfIssue" + }, + "invoicePayableAt": { + "$ref": "#/components/schemas/InvoicePayableAt" + }, + "partyContactDetails": { + "minItems": 1, + "type": "array", + "description": "The contact details of the person(s) to contact in relation to the **Transport Document** (changes, notifications etc.) \n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + }, + "documentParties": { + "$ref": "#/components/schemas/DocumentParties" + }, + "routingOfConsignmentCountries": { + "type": "array", + "description": "A list of countries the goods will be routed through from origin to destination defined by the 2 characters country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "NL" + } + }, + "consignmentItems": { + "minItems": 1, + "type": "array", + "description": "A list of `ConsignmentItems`\n", + "items": { + "$ref": "#/components/schemas/ConsignmentItem" + } + }, + "utilizedTransportEquipments": { + "minItems": 1, + "type": "array", + "description": "A list of `Utilized Transport Equipments` describing the equipment being used.\n", + "items": { + "$ref": "#/components/schemas/UtilizedTransportEquipment" + } + }, + "references": { + "type": "array", + "description": "A list of `References`\n", + "items": { + "$ref": "#/components/schemas/Reference" + } + }, + "customsReferences": { + "type": "array", + "description": "A list of `Customs references`\n", + "items": { + "$ref": "#/components/schemas/CustomsReference" + } + } + }, + "description": "The document that governs the terms of carriage between shipper and carrier for maritime transportation. Two distinct types of transport documents exist:\n- Bill of Lading\n- Sea Waybill. \n" + }, + "PartyContactDetail": { + "title": "Party Contact Detail", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the contact\n", + "example": "Henrik" + } + }, + "description": "The contact details of the person to contact. It is mandatory to provide either `phone` and/or `email` along with the `name`.\n", + "example": { + "name": "Henrik", + "phone": "+45 51801234" + }, + "anyOf": [ + { + "title": "Phone required", + "required": [ + "phone" ], - "title" : "Tax & Legal Reference", - "type" : "object" - }, - "TransportDocument" : { - "description" : "The document that governs the terms of carriage between shipper and carrier for maritime transportation. Two distinct types of transport documents exist:\n- Bill of Lading\n- Sea Waybill. \n", - "properties" : { - "cargoMovementTypeAtDestination" : { - "description" : "Refers to the shipment term at the **unloading** of the cargo out of the container. Possible values are:\n\n- `FCL` (Full Container Load)\n- `LCL` (Less than Container Load)\n", - "example" : "FCL", - "maxLength" : 3, - "type" : "string" - }, - "cargoMovementTypeAtOrigin" : { - "description" : "Refers to the shipment term at the **loading** of the cargo into the container. Possible values are:\n\n- `FCL` (Full Container Load)\n- `LCL` (Less than Container Load)\n", - "example" : "FCL", - "maxLength" : 3, - "type" : "string" - }, - "carrierClauses" : { - "description" : "Additional clauses for a specific shipment added by the carrier to the Bill of Lading, subject to local rules / guidelines or certain mandatory information required to be shared with the customer.\n", - "items" : { - "description" : "The content of the clause.\n", - "example" : "It is not allowed to...", - "maxLength" : 20000, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "type" : "array" - }, - "carrierCode" : { - "description" : "The `SCAC` code (provided by [NMFTA](https://nmfta.org/scac/)) or `SMDG` code (provided by [SMDG](https://smdg.org/documents/smdg-code-lists/smdg-liner-code-list/)) of the issuing carrier of the `Transport Document`. `carrierCodeListProvider` defines which list the `carrierCode` is based upon.\n", - "example" : "MMCU", - "maxLength" : 4, - "pattern" : "^\\S+$", - "type" : "string" - }, - "carrierCodeListProvider" : { - "description" : "The code list provider for the `carrierCode`. Possible values are:\n- `SMDG` (Ship Message Design Group)\n- `NMFTA` (National Motor Freight Traffic Association)\n", - "enum" : [ - "SMDG", - "NMFTA" - ], - "example" : "NMFTA", - "type" : "string" - }, - "charges" : { - "description" : "A list of `Charges`\n", - "items" : { - "$ref" : "#/components/schemas/Charge" - }, - "type" : "array" - }, - "consignmentItems" : { - "description" : "A list of `ConsignmentItems`\n", - "items" : { - "$ref" : "#/components/schemas/ConsignmentItem" - }, - "minItems" : 1, - "type" : "array" - }, - "contractQuotationReference" : { - "description" : "Information provided by the shipper to identify whether pricing for the shipment has been agreed via a contract or a quotation reference.\n", - "example" : "HHL1401", - "maxLength" : 35, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "customsReferences" : { - "description" : "A list of `Customs references`\n", - "items" : { - "$ref" : "#/components/schemas/CustomsReference" - }, - "type" : "array" - }, - "declaredValue" : { - "description" : "The value of the cargo that the shipper declares in order to avoid the carrier's limitation of liability and \"Ad Valorem\" freight, i.e., freight which is calculated based on the value of the goods declared by the shipper.\n\n**Condition:** Included in the transport document upon customer request. If customers want the value to show, evidence is required, and customers need to approve additional insurance fee charge from the carrier (very exceptional).\n", - "example" : 1231.1, - "format" : "float", - "minimum" : 0, - "type" : "number" - }, - "declaredValueCurrency" : { - "description" : "The currency used for the declared value, using the 3-character code defined by [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html).\n", - "example" : "DKK", - "maxLength" : 3, - "minLength" : 3, - "pattern" : "^[A-Z]{3}$", - "type" : "string" - }, - "deliveryTypeAtDestination" : { - "description" : "Indicates the type of service offered at `Destination`. The options are:\n\n- `CY` (Container yard (incl. rail ramp))\n- `SD` (Store Door)\n- `CFS` (Container Freight Station)\n", - "enum" : [ - "CY", - "SD", - "CFS" - ], - "example" : "CY", - "maxLength" : 3, - "type" : "string" - }, - "displayedNameForPlaceOfDelivery" : { - "description" : "The name to be used in order to specify how the `Place of Delivery` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A line of the address to be displayed on the transport document.\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 5, - "type" : "array" - }, - "displayedNameForPlaceOfReceipt" : { - "description" : "The name to be used in order to specify how the `Place of Receipt` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A line of the address to be displayed on the transport document.\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 5, - "type" : "array" - }, - "displayedNameForPortOfDischarge" : { - "description" : "The name to be used in order to specify how the `Port of Discharge` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A line of the address to be displayed on the transport document.\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 5, - "type" : "array" - }, - "displayedNameForPortOfLoad" : { - "description" : "The name to be used in order to specify how the `Port of Load` should be displayed on the `Transport Document` to match the name and/or address provided on the `Letter of Credit`.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "A line of the address to be displayed on the transport document.\n", - "example" : "Strawinskylaan 4117", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 5, - "type" : "array" - }, - "displayedShippedOnBoardReceivedForShipment" : { - "description" : "The text to be displayed on the `Transport Document` as evidence that the goods have been received for shipment or shipped on board.\n", - "example" : "Received for Shipment CMA CGM CONCORDE 28-Jul-2022 CMA CGM Agences France SAS As agents for the Carrier", - "maxLength" : 250, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "documentParties" : { - "$ref" : "#/components/schemas/DocumentParties" - }, - "freightPaymentTermCode" : { - "description" : "An indicator of whether freight and ancillary fees for the main transport are prepaid (`PRE`) or collect (`COL`). When prepaid the charges are the responsibility of the shipper or the Invoice payer on behalf of the shipper (if provided). When collect, the charges are the responsibility of the consignee or the Invoice payer on behalf of the consignee (if provided).\n\n- `PRE` (Prepaid)\n- `COL` (Collect)\n", - "enum" : [ - "PRE", - "COL" - ], - "example" : "PRE", - "type" : "string" - }, - "invoicePayableAt" : { - "$ref" : "#/components/schemas/InvoicePayableAt" - }, - "isElectronic" : { - "description" : "An indicator whether the transport document is electronically transferred.\n", - "example" : true, - "type" : "boolean" - }, - "isShippedOnBoardType" : { - "description" : "Specifies whether the Transport Document is a received for shipment, or shipped on board.\n", - "example" : true, - "type" : "boolean" - }, - "isToOrder" : { - "description" : "Indicates whether the B/L is issued `to order` or not. If `true`, the B/L is considered negotiable and an Endorsee party can be defined in the Document parties. If no Endorsee is defined, the B/L is blank endorsed. If `false`, the B/L is considered non-negotiable (also referred to as `straight`).\n\n`isToOrder` must be `false` if `transportDocumentTypeCode='SWB'` (Sea Waybill).\n", - "example" : false, - "type" : "boolean" - }, - "issueDate" : { - "description" : "Local date when the transport document has been issued.\n\nCan be omitted on draft transport documents, but must be provided when the document has been issued.\n", - "example" : "2020-12-12", - "format" : "date", - "type" : "string" - }, - "numberOfCopiesWithCharges" : { - "description" : "The requested number of copies of the `Transport Document` to be issued by the carrier including charges.\n\n**Conditions:** The following table defines the conditions for the `numberOfCopiesWithCharges` property:\n| Transport Document Type Code | Is Electronic | Meaning |\n|-------|:-------:|-------|\n|`BOL`|`false`|How many paper copies of the Original BL to be issued by the carrier with charges|\n|`BOL`|`true`|Not applicable, there are no copies|\n|`SWB`|`false`|Indicates that charges should be included in the `SWB` (pdf or other formats)|\n|`SWB`|`true`|Indicates that charges should be included in the electronic `SWB`|\n", - "example" : 2, - "format" : "int32", - "minimum" : 0, - "type" : "integer" - }, - "numberOfCopiesWithoutCharges" : { - "description" : "The requested number of copies of the `Transport Document` to be issued by the carrier **NOT** including charges.\n\n**Conditions:** The following table defines the conditions for the `numberOfCopiesWithoutCharges` property:\n| Transport Document Type Code | Is Electronic | Meaning |\n|-------|:-------:|-------|\n|`BOL`|`false`|How many paper copies of the Original BL to be issued by the carrier without charges|\n|`BOL`|`true`|Not applicable, there are no copies|\n|`SWB`|`false`|Indicates that charges should NOT be included in the `SWB` (pdf or other formats)|\n|`SWB`|`true`|Indicates that charges NOT should be included in the electronic `SWB`|\n", - "example" : 2, - "format" : "int32", - "minimum" : 0, - "type" : "integer" - }, - "numberOfOriginalsWithCharges" : { - "description" : "Number of originals of the Bill of Lading that has been requested by the customer with charges.\n\n**Condition:** Only applicable if `transportDocumentType` = `BOL` (Bill of Lading). If `isElectronic = 'True'`, accepted value is `1` (one) or `0` (zero)\n", - "example" : 1, - "format" : "int32", - "minimum" : 0, - "type" : "integer" - }, - "numberOfOriginalsWithoutCharges" : { - "description" : "Number of originals of the Bill of Lading that has been requested by the customer without charges.\n\n**Condition:** Only applicable if `transportDocumentType` = `BOL` (Bill of Lading). If `isElectronic = 'True'`, accepted value is `1` (one) or `0` (zero)\n", - "example" : 1, - "format" : "int32", - "minimum" : 0, - "type" : "integer" - }, - "numberOfRiderPages" : { - "description" : "The number of additional pages required to contain the goods description on a transport document. Only applicable for physical transport documents.\n", - "example" : 2, - "format" : "int32", - "minimum" : 0, - "type" : "integer" - }, - "partyContactDetails" : { - "description" : "The contact details of the person(s) to contact in relation to the **Transport Document** (changes, notifications etc.) \n", - "items" : { - "$ref" : "#/components/schemas/PartyContactDetail" - }, - "minItems" : 1, - "type" : "array" - }, - "placeOfIssue" : { - "$ref" : "#/components/schemas/PlaceOfIssue" - }, - "receiptTypeAtOrigin" : { - "description" : "Indicates the type of service offered at `Origin`. The options are:\n- `CY` (Container yard (incl. rail ramp))\n- `SD` (Store Door)\n- `CFS` (Container Freight Station)\n", - "enum" : [ - "CY", - "SD", - "CFS" - ], - "example" : "CY", - "maxLength" : 3, - "type" : "string" - }, - "receivedForShipmentDate" : { - "description" : "Date when the last container linked to the transport document is physically in the terminal (customers cleared against the intended vessel).\n\nWhen provided on a transport document, the transportDocument is a `Received For Shipment` B/L.\n\nExactly one of `shippedOnBoard` and `receiveForShipmentDate` must be provided on an issued B/L.\n", - "example" : "2020-12-12", - "format" : "date", - "type" : "string" - }, - "references" : { - "description" : "A list of `References`\n", - "items" : { - "$ref" : "#/components/schemas/Reference" - }, - "type" : "array" - }, - "routingOfConsignmentCountries" : { - "description" : "A list of countries the goods will be routed through from origin to destination defined by the 2 characters country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", - "example" : "NL", - "maxLength" : 2, - "minLength" : 2, - "pattern" : "^[A-Z]{2}$", - "type" : "string" - }, - "type" : "array" - }, - "serviceContractReference" : { - "description" : "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.\n", - "example" : "HHL51800000", - "maxLength" : 30, - "type" : "string" - }, - "shippedOnBoardDate" : { - "description" : "Date when the last container that is linked to the transport document is physically loaded onboard the vessel indicated on the transport document.\n\nWhen provided on a transport document, the transportDocument is a `Shipped On Board` B/L.\n\nExactly one of `shippedOnBoard` and `receiveForShipmentDate` must be provided on an issued B/L.\n", - "example" : "2020-12-12", - "format" : "date", - "type" : "string" - }, - "shippingInstructionsReference" : { - "description" : "The identifier for a `Shipping Instructions` provided by the carrier for system purposes.\n", - "example" : "e0559d83-00e2-438e-afd9-fdd610c1a008", - "maxLength" : 100, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "termsAndConditions" : { - "description" : "Carrier terms and conditions of transport.\n", - "example" : "Any reference in...", - "maxLength" : 50000, - "type" : "string" - }, - "transportDocumentReference" : { - "description" : "A unique number allocated by the shipping line to the transport document and the main number used for the tracking of the status of the shipment.\n", - "example" : "HHL71800000", - "maxLength" : 20, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "transportDocumentStatus" : { - "description" : "The status of the `Transport Document`. Possible values are:\n- DRAFT\n- APPROVED\n- ISSUED\n- PENDING_SURRENDER_FOR_AMENDMENT\n- SURRENDERED_FOR_AMENDMENT\n- PENDING_SURRENDER_FOR_DELIVERY\n- SURRENDERED_FOR_DELIVERY\n- VOIDED\n", - "example" : "DRAFT", - "maxLength" : 50, - "type" : "string" - }, - "transportDocumentTypeCode" : { - "description" : "Specifies the type of the transport document\n- `BOL` (Bill of Lading)\n- `SWB` (Sea Waybill)\n", - "enum" : [ - "BOL", - "SWB" - ], - "example" : "SWB", - "type" : "string" - }, - "transports" : { - "$ref" : "#/components/schemas/Transports" - }, - "utilizedTransportEquipments" : { - "description" : "A list of `Utilized Transport Equipments` describing the equipment being used.\n", - "items" : { - "$ref" : "#/components/schemas/UtilizedTransportEquipment" - }, - "minItems" : 1, - "type" : "array" - } - }, - "required" : [ - "cargoMovementTypeAtDestination", - "cargoMovementTypeAtOrigin", - "carrierCode", - "carrierCodeListProvider", - "consignmentItems", - "deliveryTypeAtDestination", - "documentParties", - "invoicePayableAt", - "isElectronic", - "isShippedOnBoardType", - "isToOrder", - "partyContactDetails", - "receiptTypeAtOrigin", - "termsAndConditions", - "transportDocumentReference", - "transportDocumentStatus", - "transportDocumentTypeCode", - "transports", - "utilizedTransportEquipments" + "type": "object", + "properties": { + "phone": { + "maxLength": 30, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Phone number for the contact. Phone **MUST** include an international phone number format as defined in the [ITU-T recommendation E.123](https://www.itu.int/rec/T-REC-E.123/en).\n", + "example": "+45 70262970" + } + }, + "description": "`Phone` is mandatory to provide\n" + }, + { + "title": "Email required", + "required": [ + "email" ], - "title" : "Transport Document", - "type" : "object" - }, - "Transports" : { - "properties" : { - "onCarriageBy" : { - "description" : "Mode of transportation for on-carriage when transport from the port of discharge is organized by the carrier. If this attributes is populated, then a Place of Delivery must also be defined. The currently supported values include:\n- `VESSEL` (Vessel)\n- `RAIL` (Rail)\n- `TRUCK` (Truck)\n- `BARGE` (Barge)\n- `MULTIMODAL` (if multiple modes are used)\n", - "example" : "TRUCK", - "maxLength" : 50, - "type" : "string" - }, - "onwardInlandRouting" : { - "$ref" : "#/components/schemas/OnwardInlandRouting" - }, - "placeOfDelivery" : { - "$ref" : "#/components/schemas/PlaceOfDelivery" - }, - "placeOfReceipt" : { - "$ref" : "#/components/schemas/PlaceOfReceipt" - }, - "plannedArrivalDate" : { - "description" : "The planned date of arrival.\n", - "example" : "2024-06-07", - "format" : "date", - "type" : "string" - }, - "plannedDepartureDate" : { - "description" : "The planned date of departure.\n", - "example" : "2024-06-03", - "format" : "date", - "type" : "string" - }, - "portOfDischarge" : { - "$ref" : "#/components/schemas/PortOfDischarge" - }, - "portOfLoading" : { - "$ref" : "#/components/schemas/PortOfLoading" - }, - "preCarriageBy" : { - "description" : "Mode of transportation for pre-carriage when transport to the port of loading is organized by the carrier. If this attributes is populated, then a Place of Receipt must also be defined. The currently supported values include:\n- `VESSEL` (Vessel)\n- `RAIL` (Rail)\n- `TRUCK` (Truck)\n- `BARGE` (Barge)\n- `MULTIMODAL` (if multiple modes are used)\n", - "example" : "RAIL", - "maxLength" : 50, - "type" : "string" - }, - "vesselVoyages" : { - "description" : "Allow the possibility to include multiple vessels/voyages in the `Transport Document` (e.g. the first sea going vessel and the mother vessel). At least one is mandatory to provide.\n", - "items" : { - "$ref" : "#/components/schemas/VesselVoyage" - }, - "minItems" : 1, - "type" : "array" - } - }, - "required" : [ - "plannedArrivalDate", - "plannedDepartureDate", - "portOfDischarge", - "portOfLoading", - "vesselVoyages" + "type": "object", + "properties": { + "email": { + "maxLength": 100, + "pattern": "^.+@\\S+$", + "type": "string", + "description": "`E-mail` address to be used\n", + "example": "info@dcsa.org" + } + }, + "description": "`Email` is mandatory to provide\n" + } + ] + }, + "Reference": { + "title": "Reference", + "required": [ + "type", + "value" + ], + "type": "object", + "properties": { + "type": { + "maxLength": 3, + "type": "string", + "description": "The reference type codes defined by DCSA. Possible values are:\n- `CR` (Customer’s Reference)\n- `AKG` (Vehicle Identification Number)\n", + "example": "CR" + }, + "value": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The value of the reference. \n", + "example": "HHL00103004" + } + }, + "description": "References provided by the shipper or freight forwarder at the time of `Booking` or at the time of providing `Shipping Instructions`. Carriers share it back when providing `Track & Trace` event updates, some are also printed on the B/L. Customers can use these references to track shipments in their internal systems.\n" + }, + "ReferenceConsignmentItem": { + "title": "Reference (Consignment Item)", + "required": [ + "type", + "values" + ], + "type": "object", + "properties": { + "type": { + "maxLength": 3, + "type": "string", + "description": "The reference type codes defined by DCSA. Possible values are:\n- `CR` (Customer’s Reference)\n- `AKG` (Vehicle Identification Number)\n- `SPO` (Shipper's Purchase Order)\n- `CPO` (Consignee's Purchase Order)\n", + "example": "CR" + }, + "values": { + "minItems": 1, + "type": "array", + "description": "List of `referenceValues` for a given `referenceType`.\n", + "items": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The value of the reference. \n", + "example": "HHL00103004" + } + } + }, + "description": "References provided by the shipper or freight forwarder at the time of `Booking` or at the time of providing `Shipping Instructions`. Carriers share it back when providing `Track & Trace` event updates, some are also printed on the B/L. Customers can use these references to track shipments in their internal systems.\n" + }, + "ConsignmentItem": { + "title": "Consignment Item", + "required": [ + "HSCodes", + "cargoItems", + "carrierBookingReference", + "descriptionOfGoods" + ], + "type": "object", + "properties": { + "carrierBookingReference": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The associated booking number provided by the carrier for this `Consignment Item`.\n\nWhen multiple `carrierBookingReferences` are used then the bookings referred to must all contain the same:\n- transportPlan\n- shipmentLocations\n- receiptTypeAtOrigin\n- deliveryTypeAtDestination\n- cargoMovementTypeAtOrigin\n- cargoMovementTypeAtDestination\n- serviceContractReference\n- termsAndConditions\n- Place of B/L Issue (if provided)\n", + "example": "ABC709951" + }, + "descriptionOfGoods": { + "maxItems": 150, + "type": "array", + "description": "An array of lines accurately and properly describing the cargo being shipped in the container(s) as provided by the shipper.\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A line describing the cargo", + "example": "blue shoes size 47" + } + }, + "HSCodes": { + "minItems": 1, + "type": "array", + "description": "A list of `HS Codes` that apply to this `consignmentItem`\n", + "items": { + "maxLength": 10, + "minLength": 6, + "pattern": "^\\d{6,10}$", + "type": "string", + "description": "Used by customs to classify the product being shipped. The type of HS code depends on country and customs requirements. The code must be at least 6 and at most 10 digits.\n\nMore information can be found here: [HS Nomenclature](https://www.wcoomd.org/en/topics/nomenclature/instrument-and-tools).\n", + "example": "851713" + } + }, + "nationalCommodityCodes": { + "type": "array", + "description": "A list of `National Commodity Codes` that apply to this `commodity`\n", + "items": { + "$ref": "#/components/schemas/NationalCommodityCode" + } + }, + "shippingMarks": { + "maxItems": 50, + "type": "array", + "description": "A list of the `ShippingMarks` applicable to this `consignmentItem`\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "The identifying details of a package or the actual markings that appear on the package(s). This information is provided by the customer.\n", + "example": "Made in China" + } + }, + "cargoItems": { + "minItems": 1, + "type": "array", + "description": "A list of all `cargoItems`\n", + "items": { + "$ref": "#/components/schemas/CargoItem" + } + }, + "references": { + "type": "array", + "description": "A list of `References`\n", + "items": { + "$ref": "#/components/schemas/ReferenceConsignmentItem" + } + }, + "customsReferences": { + "type": "array", + "description": "A list of `Customs references`\n", + "items": { + "$ref": "#/components/schemas/CustomsReference" + } + } + }, + "description": "Defines a list of `CargoItems` belonging together and the associated `Booking`. A `ConsignmentItem` can be split across multiple containers (`UtilizedTransportEquipment`) by referencing multiple `CargoItems`\n" + }, + "NationalCommodityCode": { + "title": "National Commodity Code", + "required": [ + "countryCode", + "type", + "values" + ], + "type": "object", + "properties": { + "type": { + "maxLength": 10, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The national commodity classification code, which can be one of the following values defined by DCSA:\n- `NCM` (Nomenclatura Comum do Mercosul)\n- `HTS` (Harmonized Tariff Schedule)\n- `SCHEDULE_B` ( Schedule B)\n- `TARIC` (Integrated Tariff of the European Communities)\n- `CN` (Combined Nomenclature)\n- `CUS` (Customs Union and Statistics)\n", + "example": "NCM" + }, + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "BR" + }, + "values": { + "minItems": 1, + "type": "array", + "description": "A list of `national commodity codes` values.\n", + "example": [ + "1515", + "2106", + "2507", + "2512" ], - "title" : "Transports", - "type" : "object" - }, - "UtilizedTransportEquipment" : { - "description" : "Specifies the container (`equipment`), the total `weight`, total `volume`, possible `ActiveReeferSettings`, `seals` and `references`\n", - "properties" : { - "activeReeferSettings" : { - "$ref" : "#/components/schemas/ActiveReeferSettings" - }, - "customsReferences" : { - "description" : "A list of `Customs references`\n", - "items" : { - "$ref" : "#/components/schemas/CustomsReference" - }, - "type" : "array" - }, - "equipment" : { - "$ref" : "#/components/schemas/Equipment" - }, - "isNonOperatingReefer" : { - "description" : "If the equipment is a Reefer Container then setting this attribute will indicate that the container should be treated as a `DRY` container.\n\n**Condition:** Only applicable if `ISOEquipmentCode` shows a Reefer type.\n", - "example" : false, - "type" : "boolean" - }, - "isShipperOwned" : { - "description" : "Indicates whether the container is shipper owned (SOC).\n", - "example" : true, - "type" : "boolean" - }, - "references" : { - "description" : "A list of `References`\n", - "items" : { - "$ref" : "#/components/schemas/Reference" - }, - "type" : "array" - }, - "seals" : { - "description" : "A list of `Seals`\n", - "items" : { - "$ref" : "#/components/schemas/Seal" - }, - "minItems" : 1, - "type" : "array" - }, - "shippingMarks" : { - "description" : "A list of the `ShippingMarks` applicable to this `UtilizedTransportEquipment`\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", - "items" : { - "description" : "The identifying details of a package or the actual markings that appear on the package(s). This information is provided by the customer.\n", - "example" : "Made in China", - "maxLength" : 35, - "type" : "string" - }, - "maxItems" : 50, - "type" : "array" - } - }, - "required" : [ - "equipment", - "isShipperOwned", - "seals" + "items": { + "maxLength": 10, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The value of the `National Commodity Code`\n", + "example": "1515" + } + } + }, + "description": "The national commodity classification code linked to a country with a value.\n\nAn example could look like this:\n\n| Type | Country | Value |\n|-------|:-------:|-------------|\n|NCM|BR|['1515', '2106', '2507', '2512']|\n" + }, + "CustomsReference": { + "title": "Customs Reference", + "required": [ + "countryCode", + "type", + "values" + ], + "type": "object", + "properties": { + "type": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The reference type code as defined in the relevant customs jurisdiction.\n", + "example": "ACID" + }, + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "EG" + }, + "values": { + "minItems": 1, + "type": "array", + "items": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The value of the `customsReference`\n", + "example": "4988470982020120017" + } + } + }, + "description": "Reference associated with customs and/or excise purposes required by the relevant authorities for the import, export, or transit of the goods.\n\nA small list of **potential** examples:\n\n| Type | Country | Description |\n|-------|:-------:|-------------|\n|ACID|EG|Advance Cargo Information Declaration in Egypt|\n|CERS|CA|Canadian Export Reporting System|\n|ITN|US|Internal Transaction Number in US|\n|PEB|ID|PEB reference number|\n|CSN|IN|Cargo Summary Notification (CSN)|\n" + }, + "CargoItem": { + "title": "Cargo Item", + "required": [ + "cargoGrossWeight", + "equipmentReference", + "outerPackaging" + ], + "type": "object", + "properties": { + "equipmentReference": { + "maxLength": 11, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The unique identifier for the equipment, which should follow the BIC ISO Container Identification Number where possible.\nAccording to [ISO 6346](https://www.iso.org/standard/83558.html), a container identification code consists of a 4-letter prefix and a 7-digit number (composed of a 3-letter owner code, a category identifier, a serial number, and a check-digit).\n\nIf a container does not comply with [ISO 6346](https://www.iso.org/standard/83558.html), it is suggested to follow [Recommendation #2: Containers with non-ISO identification](https://smdg.org/documents/smdg-recommendations) from SMDG.\n", + "example": "APZU4812090" + }, + "cargoGrossWeight": { + "$ref": "#/components/schemas/CargoGrossWeight" + }, + "cargoGrossVolume": { + "$ref": "#/components/schemas/CargoGrossVolume" + }, + "cargoNetWeight": { + "$ref": "#/components/schemas/CargoNetWeight" + }, + "cargoNetVolume": { + "$ref": "#/components/schemas/CargoNetVolume" + }, + "outerPackaging": { + "$ref": "#/components/schemas/OuterPackaging" + }, + "nationalCommodityCodes": { + "type": "array", + "description": "A list of `National Commodity Codes` that apply to this `cargoItem`\n", + "items": { + "$ref": "#/components/schemas/NationalCommodityCode" + } + }, + "customsReferences": { + "type": "array", + "description": "A list of `Customs references`\n", + "items": { + "$ref": "#/components/schemas/CustomsReference" + } + } + }, + "description": "A `cargoItem` is the smallest unit used by stuffing. A `cargoItem` cannot be split across containers.\n" + }, + "CargoGrossWeight": { + "title": "Cargo Gross Weight", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "The weight of the cargo item including packaging being carried in the container. Excludes the tare weight of the container. A maximum of 3 decimals should be provided.\n", + "format": "float", + "example": 2400 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in imperial or metric terms\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", + "example": "KGM", + "enum": [ + "KGM", + "LBR" + ] + } + }, + "description": "The weight of the cargo item including packaging being carried in the container. Excludes the tare weight of the container.\n" + }, + "CargoGrossVolume": { + "title": "Cargo Gross Volume", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "Calculated by multiplying the width, height, and length of the packed cargo. A maximum of 4 decimals should be provided.\n", + "format": "float", + "example": 2.4 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in either imperial or metric terms\n- `FTQ` (Cubic foot)\n- `MTQ` (Cubic meter)\n", + "example": "MTQ", + "enum": [ + "MTQ", + "FTQ" + ] + } + }, + "description": "Calculated by multiplying the width, height, and length of the packed cargo.\n" + }, + "CargoNetWeight": { + "title": "Cargo Net Weight", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "The weight of the cargo item excluding packaging being carried in the container. Excludes the tare weight of the container. A maximum of 3 decimals should be provided.\n", + "format": "float", + "example": 2400 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in imperial or metric terms\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", + "example": "KGM", + "enum": [ + "KGM", + "LBR" + ] + } + }, + "description": "The weight of the cargo item excluding packaging being carried in the container. Excludes the tare weight of the container.\n" + }, + "CargoNetVolume": { + "title": "Cargo Net Volume", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "Calculated by multiplying the width, height, and length of the cargo, excluding packaging.\n", + "format": "float", + "example": 2.4 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in either imperial or metric terms\n- `FTQ` (Cubic foot)\n- `MTQ` (Cubic meter)\n", + "example": "MTQ", + "enum": [ + "MTQ", + "FTQ" + ] + } + }, + "description": "Calculated by multiplying the width, height, and length of the cargo, excluding packaging.\n" + }, + "OuterPackaging": { + "title": "Outer Packaging", + "required": [ + "description", + "numberOfPackages" + ], + "type": "object", + "properties": { + "packageCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z0-9]{2}$", + "type": "string", + "description": "A code identifying the outer packaging/overpack. `PackageCode` must follow the codes specified in [Recommendation N°21](https://unece.org/trade/uncefact/cl-recommendations)\n\n**Condition:** only applicable to dangerous goods if the `IMO packaging code` is not available.\n", + "example": "5H" + }, + "imoPackagingCode": { + "maxLength": 5, + "minLength": 1, + "pattern": "^[A-Z0-9]{1,5}$", + "type": "string", + "description": "The code of the packaging as per IMO.\n\n**Condition:** only applicable to dangerous goods if specified in the [IMO IMDG code](https://www.imo.org/en/publications/Pages/IMDG%20Code.aspx). If not available, the `packageCode` as per UN recommendation 21 should be used.\n", + "example": "1A2" + }, + "numberOfPackages": { + "maximum": 99999999, + "minimum": 1, + "type": "integer", + "description": "Specifies the number of outer packagings/overpacks associated with this `Cargo Item`.\n", + "format": "int32", + "example": 18 + }, + "description": { + "maxLength": 100, + "type": "string", + "description": "Description of the outer packaging/overpack.\n", + "example": "Drum, steel" + }, + "woodDeclaration": { + "maxLength": 30, + "type": "string", + "description": "Property to clearly indicate if the products, packaging and any other items are made of wood. Possible values include:\n- `NOT_APPLICABLE` (if no wood or any other wood product such as packaging and supports are being shipped)\n- `NOT_TREATED_AND_NOT_CERTIFIED` (if the wood or wooden materials have not been treated nor fumigated and do not include a certificate)\n- `PROCESSED` (if the wood or wooden materials are entirely made of processed wood, such as plywood, particle board, sliver plates of wood and wood laminate sheets produced using glue, heat, pressure or a combination of these)\n- `TREATED_AND_CERTIFIED` (if the wood or wooden materials have been treated and/or fumigated and include a certificate)\n", + "example": "TREATED_AND_CERTIFIED" + }, + "dangerousGoods": { + "type": "array", + "description": "A list of `Dangerous Goods`\n", + "items": { + "$ref": "#/components/schemas/DangerousGoods" + } + } + }, + "description": "Object for outer packaging/overpack specification. Examples of overpacks are a number of packages stacked on to a pallet and secured by strapping or placed in a protective outer packaging such as a box or crate to form one unit for the convenience of handling and stowage during transport.\n" + }, + "DangerousGoods": { + "title": "Dangerous Goods", + "required": [ + "imoClass", + "properShippingName" + ], + "type": "object", + "properties": { + "codedVariantList": { + "maxLength": 4, + "minLength": 4, + "pattern": "^[0-3][0-9A-Z]{3}$", + "type": "string", + "description": "Four-character code supplied by Exis Technologies that assists to remove ambiguities when identifying a variant within a single UN number or NA number that may occur when two companies exchange DG information.\n\nCharacter | Valid Characters | Description\n:--------:|------------------|------------\n1| 0, 1, 2, 3|The packing group. Code 0 indicates there is no packing group\n2|0 to 9 and A to Z|A sequence letter for the PSN, or 0 if there were no alternative PSNs\n3 and 4|0 to 9 and A to Z|Two sequence letters for other information, for the cases where the variant is required because of different in subrisks, packing instruction etc.\n", + "example": "2200" + }, + "properShippingName": { + "maxLength": 250, + "type": "string", + "description": "The proper shipping name for goods under IMDG Code, or the product name for goods under IBC Code and IGC Code, or the bulk cargo shipping name for goods under IMSBC Code, or the name of oil for goods under Annex I to the MARPOL Convention.\n", + "example": "Chromium Trioxide, anhydrous" + }, + "technicalName": { + "maxLength": 250, + "type": "string", + "description": "The recognized chemical or biological name or other name currently used for the referenced dangerous goods as described in chapter 3.1.2.8 of the IMDG Code.\n", + "example": "xylene and benzene" + }, + "imoClass": { + "maxLength": 4, + "type": "string", + "description": "The hazard class code of the referenced dangerous goods according to the specified regulation. Examples of possible values are:\n\n- `1.1A` (Substances and articles which have a mass explosion hazard)\n- `1.6N` (Extremely insensitive articles which do not have a mass explosion hazard)\n- `2.1` (Flammable gases)\n- `8` (Corrosive substances)\n", + "example": "1.4S" + }, + "subsidiaryRisk1": { + "maxLength": 3, + "minLength": 1, + "pattern": "^[0-9](\\.[0-9])?$", + "type": "string", + "description": "Any risk in addition to the class of the referenced dangerous goods according to the IMO IMDG Code.\n", + "example": "1.2" + }, + "subsidiaryRisk2": { + "maxLength": 3, + "minLength": 1, + "pattern": "^[0-9](\\.[0-9])?$", + "type": "string", + "description": "Any risk in addition to the class of the referenced dangerous goods according to the IMO IMDG Code.\n", + "example": "1.2" + }, + "isMarinePollutant": { + "type": "boolean", + "description": "Indicates if the goods belong to the classification of Marine Pollutant.\n", + "example": false + }, + "packingGroup": { + "maximum": 3, + "minimum": 1, + "type": "integer", + "description": "The packing group according to the UN Recommendations on the Transport of Dangerous Goods and IMO IMDG Code.\n", + "format": "int32", + "example": 3 + }, + "isLimitedQuantity": { + "type": "boolean", + "description": "Indicates if the dangerous goods can be transported as limited quantity in accordance with Chapter 3.4 of the IMO IMDG Code.\n", + "example": false + }, + "isExceptedQuantity": { + "type": "boolean", + "description": "Indicates if the dangerous goods can be transported as excepted quantity in accordance with Chapter 3.5 of the IMO IMDG Code.\n", + "example": false + }, + "isSalvagePackings": { + "type": "boolean", + "description": "Indicates if the cargo has special packaging for the transport, recovery or disposal of damaged, defective, leaking or nonconforming hazardous materials packages, or hazardous materials that have spilled or leaked.\n", + "example": false + }, + "isEmptyUncleanedResidue": { + "type": "boolean", + "description": "Indicates if the cargo is residue.\n", + "example": false + }, + "isWaste": { + "type": "boolean", + "description": "Indicates if waste is being shipped\n", + "example": false + }, + "isHot": { + "type": "boolean", + "description": "Indicates if high temperature cargo is shipped.\n", + "example": false + }, + "isCompetentAuthorityApprovalRequired": { + "type": "boolean", + "description": "Indicates if the cargo require approval from authorities\n", + "example": false + }, + "competentAuthorityApproval": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name and reference number of the competent authority providing the approval.\n", + "example": "{Name and reference...}" + }, + "segregationGroups": { + "type": "array", + "description": "List of the segregation groups applicable to specific hazardous goods according to the IMO IMDG Code.\n\n**Condition:** only applicable to specific hazardous goods.\n", + "items": { + "maxLength": 2, + "type": "string", + "description": "Grouping of Dangerous Goods having certain similar chemical properties. Possible values are:\n\n- `1` (Acids)\n- `2` (Ammonium Compounds)\n- `3` (Bromates)\n- `4` (Chlorates)\n- `5` (Chlorites)\n- `6` (Cyanides)\n- `7` (Heavy metals and their salts)\n- `8` (Hypochlorites)\n- `9` (Lead and its compounds)\n- `10` (Liquid halogenated hydrocarbons)\n- `11` (Mercury and mercury compounds)\n- `12` (Nitrites and their mixtures)\n- `13` (Perchlorates)\n- `14` (Permanganates)\n- `15` (Powdered metals)\n- `16` (Peroxides),\n- `17` (Azides)\n- `18` (Alkalis)\n", + "example": "12" + } + }, + "innerPackagings": { + "type": "array", + "description": "A list of `Inner Packings` contained inside this `outer packaging/overpack`.\n", + "items": { + "$ref": "#/components/schemas/InnerPackaging" + } + }, + "emergencyContactDetails": { + "$ref": "#/components/schemas/EmergencyContactDetails" + }, + "EMSNumber": { + "maxLength": 7, + "type": "string", + "description": "The emergency schedule identified in the IMO EmS Guide – Emergency Response Procedures for Ships Carrying Dangerous Goods. Comprises 2 values; 1 for spillage and 1 for fire. Possible values spillage: S-A to S-Z. Possible values fire: F-A to F-Z.\n", + "example": "F-A S-Q" + }, + "endOfHoldingTime": { + "type": "string", + "description": "Date by when the refrigerated liquid needs to be delivered.\n", + "format": "date", + "example": "2021-09-03" + }, + "fumigationDateTime": { + "type": "string", + "description": "Date & time when the container was fumigated\n", + "format": "date-time", + "example": "2024-09-04T09:41:00Z" + }, + "isReportableQuantity": { + "type": "boolean", + "description": "Indicates if a container of hazardous material is at the reportable quantity level. If `TRUE`, a report to the relevant authority must be made in case of spill.\n", + "example": false + }, + "inhalationZone": { + "maxLength": 1, + "minLength": 1, + "type": "string", + "description": "The zone classification of the toxicity of the inhalant. Possible values are:\n\n- `A` (Hazard Zone A) can be assigned to specific gases and liquids\n- `B` (Hazard Zone B) can be assigned to specific gases and liquids\n- `C` (Hazard Zone C) can **only** be assigned to specific gases\n- `D` (Hazard Zone D) can **only** be assigned to specific gases\n", + "example": "A" + }, + "grossWeight": { + "$ref": "#/components/schemas/GrossWeight" + }, + "netWeight": { + "$ref": "#/components/schemas/NetWeight" + }, + "netExplosiveContent": { + "$ref": "#/components/schemas/NetExplosiveContent" + }, + "netVolume": { + "$ref": "#/components/schemas/NetVolume" + }, + "limits": { + "$ref": "#/components/schemas/Limits" + } + }, + "description": "Specification for `Dangerous Goods`. It is mandatory to either provide the `unNumber` or the `naNumber`. Dangerous Goods is based on **IMDG Amendment Version 41-22**.\n", + "oneOf": [ + { + "title": "UN Number", + "required": [ + "unNumber" ], - "title" : "Utilized Transport Equipment", - "type" : "object" - }, - "VesselVoyage" : { - "description" : "Vessel and export voyage", - "properties" : { - "carrierExportVoyageNumber" : { - "description" : "The identifier of an export voyage. The carrier-specific identifier of the export Voyage.\n", - "example" : "2103S", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - }, - "universalExportVoyageReference" : { - "description" : "A global unique voyage reference for the export Voyage, as per DCSA standard, agreed by VSA partners for the voyage. The voyage reference must match the regular expression pattern: `\\d{2}[0-9A-Z]{2}[NEWSR]`\n- `2 digits` for the year\n- `2 alphanumeric characters` for the sequence number of the voyage\n- `1 character` for the direction/haul (`N`orth, `E`ast, `W`est, `S`outh or `R`oundtrip).\n", - "example" : "2103N", - "maxLength" : 5, - "minLength" : 5, - "pattern" : "^\\d{2}[0-9A-Z]{2}[NEWSR]$", - "type" : "string" - }, - "vesselName" : { - "description" : "The name of the first sea going Vessel on board which the cargo is loaded or intended to be loaded\n", - "example" : "King of the Seas", - "maxLength" : 50, - "pattern" : "^\\S(?:.*\\S)?$", - "type" : "string" - } - }, - "required" : [ - "carrierExportVoyageNumber", - "vesselName" + "type": "object", + "properties": { + "unNumber": { + "maxLength": 4, + "minLength": 4, + "pattern": "^\\d{4}$", + "type": "string", + "description": "United Nations Dangerous Goods Identifier (UNDG) assigned by the UN Sub-Committee of Experts on the Transport of Dangerous Goods and shown in the IMO IMDG.\n", + "example": "1463" + } + } + }, + { + "title": "NA Number", + "required": [ + "naNumber" ], - "title" : "Vessel/Voyage", - "type" : "object" - } - } - }, - "info" : { - "contact" : { - "email" : "info@dcsa.org", - "name" : "Digital Container Shipping Association (DCSA)", - "url" : "https://dcsa.org" + "type": "object", + "properties": { + "naNumber": { + "maxLength": 4, + "minLength": 4, + "pattern": "^\\d{4}$", + "type": "string", + "description": "Four-digit number that is assigned to dangerous, hazardous, and harmful substances by the United States Department of Transportation.\n", + "example": "9037" + } + } + } + ] }, - "description" : "

DCSA OpenAPI specification for the issuance of an electronic Bill of Lading (eBL) via an eBL Solution Provider

\n\nThis API is intended as an API between a carrier and a EBL Solution Platform.\n\nThe EBL Solution Provider is to implement\n\n PUT /v3/ebl-issuance-requests\n\nfor the carrier to call and the carrier is to implement\n\n POST /v3/ebl-issuance-responses\n\nfor the EBL Solution Provider to call.\n\nWhen the document is to be surrendered, it should happen via a version of the [DCSA EBL Surrender](https://app.swaggerhub.com/apis-docs/dcsaorg/DCSA_EBL_SUR/3.0.0) API.\n\n### API Design & Implementation Principles\nThis API follows the guidelines defined in version 2.1 of the API Design & Implementation Principles which can be found on the [DCSA Developer page](https://developer.dcsa.org/api_design)\n\nFor a changelog, please click [here](https://github.com/dcsaorg/DCSA-OpenAPI/tree/master/ebl/v3/issuance#v300). Please [create a GitHub issue](https://github.com/dcsaorg/DCSA-OpenAPI/issues/new) if you have any questions/comments.\n\nAPI specification issued by [DCSA.org](https://dcsa.org/).\n", - "license" : { - "name" : "Apache 2.0", - "url" : "http://www.apache.org/licenses/LICENSE-2.0.html" + "GrossWeight": { + "title": "Gross Weight", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "The grand total weight of the DG cargo and weight per `UNNumber`/`NANumber` including packaging items being carried, which can be expressed in imperial or metric terms, as provided by the shipper.\n", + "format": "float", + "example": 12000.3 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in imperial or metric terms\n\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", + "example": "KGM", + "enum": [ + "KGM", + "LBR" + ] + } + }, + "description": "Total weight of the goods carried, including packaging.\n" }, - "title" : "DCSA eBL Issuance API", - "version" : "3.0.0" - }, - "openapi" : "3.0.3", - "paths" : { - "/v3/ebl-issuance-requests" : { - "put" : { - "description" : "Submit a transport document (EBL) for issuance\n\n**This endPoint is to be implemented by an EBL Solution Provider for the carrier to call**\n", - "operationId" : "put-ebl-issuance-requests", - "parameters" : [ - { - "description" : "An API-Version header **MAY** be added to the request (optional); if added it **MUST** only contain **MAJOR** version. API-Version header **MUST** be aligned with the URI version.\n", - "explode" : false, - "in" : "header", - "name" : "API-Version", - "required" : false, - "schema" : { - "example" : "3", - "type" : "string" - }, - "style" : "simple" - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/IssuanceRequest" - } - } - }, - "required" : true - }, - "responses" : { - "204" : { - "description" : "Platform acknowledges the issuance request and will follow up later with a response via the DCSA_ISS_RSP API. Please see the API description for the concrete link and version.\n\nNote that the platform MUST NOT accept an issuance request twice. If the client misbehaves and attempts to complete the same transaction more than once, then the platform must ensure that at most one of these requests sees a successful response. The rest should an error instead.\n", - "headers" : { - "API-Version" : { - "$ref" : "#/components/headers/API-Version" - } - } - }, - "409" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - }, - "description" : "An Issuance Request is made with a Transport Document Reference (TDR), that was used previously to request the issuance of a Transport Document (TD). The document is either already issued or an TD with the same TDR. \n\nThe eBL platform will inform the carrier when the carrier needs to act on this document again. If the issuance is pending, then the carrier will be notified via the DCSA_EBL_ISS_RSP API once the issuance process completes. If the issuance has already succeeded, the eBL platform will notify the carrier when there is a surrender request via the DCSA_EBL_SUR API.\n", - "headers" : { - "API-Version" : { - "$ref" : "#/components/headers/API-Version" - } - } - }, - "default" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - }, - "description" : "Request failed for some reason.", - "headers" : { - "API-Version" : { - "$ref" : "#/components/headers/API-Version" - } - } - } - }, - "summary" : "Request issuance of an EBL", - "tags" : [ - "Issuance EBL" + "NetWeight": { + "title": "Net Weight", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "Total weight of the goods carried, excluding packaging.\n", + "format": "float", + "example": 2.4 + }, + "unit": { + "type": "string", + "description": "Unit of measure used to describe the `netWeight`. Possible values are\n\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", + "example": "KGM", + "enum": [ + "KGM", + "LBR" ] - } + } + }, + "description": "Total weight of the goods carried, excluding packaging.\n" }, - "/v3/ebl-issuance-responses" : { - "post" : { - "description" : "Submit a response to a carrier issuance request.\n\n**This endPoint is to be implemented by a carrier for the EBL Solution Provider to call**\n", - "operationId" : "create-ebl-issuance-response", - "parameters" : [ - { - "description" : "An API-Version header **MAY** be added to the request (optional); if added it **MUST** only contain **MAJOR** version. API-Version header **MUST** be aligned with the URI version.\n", - "explode" : false, - "in" : "header", - "name" : "API-Version", - "required" : false, - "schema" : { - "example" : "3", - "type" : "string" - }, - "style" : "simple" - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/IssuanceResponse" - } - } - }, - "required" : true - }, - "responses" : { - "204" : { - "description" : "Carrier's acknowledgement of the Issuance Response", - "headers" : { - "API-Version" : { - "$ref" : "#/components/headers/API-Version" - } - } - }, - "default" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - }, - "description" : "Request failed for some reason.", - "headers" : { - "API-Version" : { - "$ref" : "#/components/headers/API-Version" - } - } - } - }, - "summary" : "Respond to a transport document issuance request", - "tags" : [ - "Issuance Response" + "NetExplosiveContent": { + "title": "Net Explosive Content", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "The total weight of the explosive substances, without the packaging’s, casings, etc.\n", + "format": "float", + "example": 2.4 + }, + "unit": { + "type": "string", + "description": "Unit of measure used to describe the `netExplosiveWeight`. Possible values are\n\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n- `GRM` (Grams)\n- `ONZ` (Ounce)\n", + "example": "KGM", + "enum": [ + "KGM", + "LBR", + "GRM", + "ONZ" + ] + } + }, + "description": "The total weight of the explosive substances, without the packaging’s, casings, etc.\n" + }, + "NetVolume": { + "title": "Net Volume", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "The volume of the referenced dangerous goods.\n", + "format": "float", + "example": 2.4 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in either imperial or metric terms\n\n- `FTQ` (Cubic foot)\n- `MTQ` (Cubic meter)\n- `LTR` (Litre)\n", + "example": "MTQ", + "enum": [ + "MTQ", + "FTQ", + "LTR" + ] + } + }, + "description": "The volume of the referenced dangerous goods.\n\n**Condition:** only applicable to liquids and gas.\n" + }, + "InnerPackaging": { + "title": "Inner Packaging", + "required": [ + "description", + "material", + "quantity" + ], + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "description": "Count of `Inner Packagings` of the referenced `Dangerous Goods`.\n", + "format": "int32", + "example": 20 + }, + "material": { + "maxLength": 100, + "type": "string", + "description": "The `material` used for the `Inner Packaging` of the referenced `Dangerous Goods`.\n", + "example": "Plastic" + }, + "description": { + "maxLength": 100, + "type": "string", + "description": "Description of the packaging.\n", + "example": "Woven plastic water resistant Bag" + } + }, + "description": "Object for inner packaging specification\n" + }, + "EmergencyContactDetails": { + "title": "Emergency Contact Details", + "required": [ + "contact", + "phone" + ], + "type": "object", + "properties": { + "contact": { + "maxLength": 255, + "type": "string", + "description": "Name of the Contact person during an emergency.\n", + "example": "Henrik Larsen" + }, + "provider": { + "maxLength": 255, + "type": "string", + "description": "Name of the third party vendor providing emergency support\n", + "example": "GlobeTeam" + }, + "phone": { + "maxLength": 30, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Phone number for the contact. Phone **MUST** include an international phone number format as defined in the [ITU-T recommendation E.123](https://www.itu.int/rec/T-REC-E.123/en).\n", + "example": "+45 70262970" + }, + "referenceNumber": { + "maxLength": 255, + "type": "string", + "description": "Contract reference for the emergency support provided by an external third party vendor.\n", + "example": "12234" + } + }, + "description": "24 hr emergency contact details\n" + }, + "Limits": { + "title": "Limits", + "required": [ + "temperatureUnit" + ], + "type": "object", + "properties": { + "temperatureUnit": { + "type": "string", + "description": "The unit for **all attributes in the limits structure** in Celsius or Fahrenheit\n\n- `CEL` (Celsius)\n- `FAH` (Fahrenheit)\n", + "example": "CEL", + "enum": [ + "CEL", + "FAH" + ] + }, + "flashPoint": { + "type": "number", + "description": "Lowest temperature at which a chemical can vaporize to form an ignitable mixture in air.\n\n**Condition:** only applicable to specific hazardous goods according to the IMO IMDG Code.\n", + "format": "float", + "example": 42 + }, + "transportControlTemperature": { + "type": "number", + "description": "Maximum temperature at which certain substance (such as organic peroxides and self-reactive and related substances) can be safely transported for a prolonged period.\n", + "format": "float", + "example": 24.1 + }, + "transportEmergencyTemperature": { + "type": "number", + "description": "Temperature at which emergency procedures shall be implemented\n", + "format": "float", + "example": 74.1 + }, + "SADT": { + "type": "number", + "description": "Lowest temperature in which self-accelerating decomposition may occur in a substance\n", + "format": "float", + "example": 54.1 + }, + "SAPT": { + "type": "number", + "description": "Lowest temperature in which self-accelerating polymerization may occur in a substance\n", + "format": "float", + "example": 70 + } + }, + "description": "Limits for the `Dangerous Goods`. The same `Temperature Unit` needs to apply to all attributes in this structure.\n" + }, + "UtilizedTransportEquipment": { + "title": "Utilized Transport Equipment", + "required": [ + "equipment", + "isShipperOwned", + "seals" + ], + "type": "object", + "properties": { + "equipment": { + "$ref": "#/components/schemas/Equipment" + }, + "isShipperOwned": { + "type": "boolean", + "description": "Indicates whether the container is shipper owned (SOC).\n", + "example": true + }, + "isNonOperatingReefer": { + "type": "boolean", + "description": "If the equipment is a Reefer Container then setting this attribute will indicate that the container should be treated as a `DRY` container.\n\n**Condition:** Only applicable if `ISOEquipmentCode` shows a Reefer type.\n", + "example": false + }, + "activeReeferSettings": { + "$ref": "#/components/schemas/ActiveReeferSettings" + }, + "shippingMarks": { + "maxItems": 50, + "type": "array", + "description": "A list of the `ShippingMarks` applicable to this `UtilizedTransportEquipment`\n\n**Condition:** The order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "The identifying details of a package or the actual markings that appear on the package(s). This information is provided by the customer.\n", + "example": "Made in China" + } + }, + "seals": { + "minItems": 1, + "type": "array", + "description": "A list of `Seals`\n", + "items": { + "$ref": "#/components/schemas/Seal" + } + }, + "references": { + "type": "array", + "description": "A list of `References`\n", + "items": { + "$ref": "#/components/schemas/Reference" + } + }, + "customsReferences": { + "type": "array", + "description": "A list of `Customs references`\n", + "items": { + "$ref": "#/components/schemas/CustomsReference" + } + } + }, + "description": "Specifies the container (`equipment`), the total `weight`, total `volume`, possible `ActiveReeferSettings`, `seals` and `references`\n" + }, + "Equipment": { + "title": "Equipment", + "required": [ + "equipmentReference" + ], + "type": "object", + "properties": { + "equipmentReference": { + "maxLength": 11, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The unique identifier for the equipment, which should follow the BIC ISO Container Identification Number where possible.\nAccording to [ISO 6346](https://www.iso.org/standard/83558.html), a container identification code consists of a 4-letter prefix and a 7-digit number (composed of a 3-letter owner code, a category identifier, a serial number, and a check-digit).\n\nIf a container does not comply with [ISO 6346](https://www.iso.org/standard/83558.html), it is suggested to follow [Recommendation #2: Containers with non-ISO identification](https://smdg.org/documents/smdg-recommendations) from SMDG.\n", + "example": "APZU4812090" + }, + "ISOEquipmentCode": { + "maxLength": 4, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Unique code for the different equipment size and type used to transport commodities. The code can refer to either the ISO size type (e.g. 22G1) or the ISO type group (e.g. 22GP) following the [ISO 6346](https://www.iso.org/standard/83558.html) standard.\n", + "example": "22G1" + }, + "tareWeight": { + "$ref": "#/components/schemas/TareWeight" + } + }, + "description": "Used for storing cargo in/on during transport. The equipment size/type is defined by the ISO 6346 code. The most common equipment size/type is 20'/40'/45' DRY Freight Container, but several different versions exist.\n" + }, + "TareWeight": { + "title": "Tare Weight", + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "minimum": 0, + "exclusiveMinimum": true, + "type": "number", + "description": "The weight of an empty container (gross container weight).\n", + "format": "float", + "example": 4800 + }, + "unit": { + "type": "string", + "description": "The unit of measure which can be expressed in imperial or metric terms\n- `KGM` (Kilograms)\n- `LBR` (Pounds)\n", + "example": "KGM", + "enum": [ + "KGM", + "LBR" + ] + } + }, + "description": "The weight of an empty container (gross container weight).\n" + }, + "Seal": { + "title": "Seal", + "required": [ + "number" + ], + "type": "object", + "properties": { + "number": { + "maxLength": 15, + "type": "string", + "description": "Identifies a seal affixed to the container.", + "example": "VET123" + }, + "source": { + "type": "string", + "description": "The source of the seal, namely who has affixed the seal.\n- `CAR` (Carrier)\n- `SHI` (Shipper)\n- `VET` (Veterinary)\n- `CUS` (Customs)\n\n**Condition:** Seal source may be required depending on the type of commodity being shipped.\n", + "example": "CUS", + "enum": [ + "CAR", + "SHI", + "VET", + "CUS" + ] + } + }, + "description": "Addresses the seal-related information associated with the shipment equipment. A seal is put on a shipment equipment once it is loaded. This `Seal` is meant to stay on until the shipment equipment reaches its final destination.\n" + }, + "ActiveReeferSettings": { + "title": "Active Reefer Settings", + "type": "object", + "properties": { + "temperatureSetpoint": { + "type": "number", + "description": "Target value of the temperature for the Reefer based on the cargo requirement.\n", + "format": "float", + "example": -15 + }, + "temperatureUnit": { + "type": "string", + "description": "The unit for temperature in Celsius or Fahrenheit\n\n- `CEL` (Celsius)\n- `FAH` (Fahrenheit)\n\n**Condition:** Mandatory to provide if `temperatureSetpoint` is provided\n", + "example": "CEL", + "enum": [ + "CEL", + "FAH" + ] + }, + "o2Setpoint": { + "maximum": 100, + "minimum": 0, + "type": "number", + "description": "The percentage of the controlled atmosphere CO2 target value\n", + "format": "float", + "example": 25 + }, + "co2Setpoint": { + "maximum": 100, + "minimum": 0, + "type": "number", + "description": "The percentage of the controlled atmosphere CO2 target value\n", + "format": "float", + "example": 25 + }, + "humiditySetpoint": { + "maximum": 100, + "minimum": 0, + "type": "number", + "description": "The percentage of the controlled atmosphere humidity target value\n", + "format": "float", + "example": 95.6 + }, + "airExchangeSetpoint": { + "minimum": 0, + "type": "number", + "description": "Target value for the air exchange rate which is the rate at which outdoor air replaces indoor air within a Reefer container\n", + "format": "float", + "example": 15.4 + }, + "airExchangeUnit": { + "type": "string", + "description": "The unit for `airExchange` in metrics- or imperial- units per hour\n- `MQH` (Cubic metre per hour)\n- `FQH` (Cubic foot per hour)\n\n**Condition:** Mandatory to provide if `airExchange` is provided\n", + "example": "MQH", + "enum": [ + "MQH", + "FQH" + ] + }, + "isVentilationOpen": { + "type": "boolean", + "description": "If `true` the ventilation orifice is `Open` - if `false` the ventilation orifice is `closed`\n", + "example": true + }, + "isDrainholesOpen": { + "type": "boolean", + "description": "Is drain holes open on the container\n", + "example": true + }, + "isBulbMode": { + "type": "boolean", + "description": "Is special container setting for handling flower bulbs active\n", + "example": true + }, + "isColdTreatmentRequired": { + "type": "boolean", + "description": "Indicator whether cargo requires cold treatment prior to loading at origin or during transit, but prior arrival at POD\n", + "example": true + }, + "isControlledAtmosphereRequired": { + "type": "boolean", + "description": "Indicator of whether cargo requires Controlled Atmosphere.\n", + "example": true + } + }, + "description": "The specifications for a Reefer equipment.\n\n**Condition:** Only applicable when `isNonOperatingReefer` is set to `false`\n" + }, + "Transports": { + "title": "Transports", + "required": [ + "plannedArrivalDate", + "plannedDepartureDate", + "portOfDischarge", + "portOfLoading", + "vesselVoyages" + ], + "type": "object", + "properties": { + "plannedArrivalDate": { + "type": "string", + "description": "The planned date of arrival.\n", + "format": "date", + "example": "2024-06-07" + }, + "plannedDepartureDate": { + "type": "string", + "description": "The planned date of departure.\n", + "format": "date", + "example": "2024-06-03" + }, + "preCarriageBy": { + "maxLength": 50, + "type": "string", + "description": "Mode of transportation for pre-carriage when transport to the port of loading is organized by the carrier. If this attributes is populated, then a Place of Receipt must also be defined. The currently supported values include:\n- `VESSEL` (Vessel)\n- `RAIL` (Rail)\n- `TRUCK` (Truck)\n- `BARGE` (Barge)\n- `MULTIMODAL` (if multiple modes are used)\n", + "example": "RAIL" + }, + "onCarriageBy": { + "maxLength": 50, + "type": "string", + "description": "Mode of transportation for on-carriage when transport from the port of discharge is organized by the carrier. If this attributes is populated, then a Place of Delivery must also be defined. The currently supported values include:\n- `VESSEL` (Vessel)\n- `RAIL` (Rail)\n- `TRUCK` (Truck)\n- `BARGE` (Barge)\n- `MULTIMODAL` (if multiple modes are used)\n", + "example": "TRUCK" + }, + "placeOfReceipt": { + "$ref": "#/components/schemas/PlaceOfReceipt" + }, + "portOfLoading": { + "$ref": "#/components/schemas/PortOfLoading" + }, + "portOfDischarge": { + "$ref": "#/components/schemas/PortOfDischarge" + }, + "placeOfDelivery": { + "$ref": "#/components/schemas/PlaceOfDelivery" + }, + "onwardInlandRouting": { + "$ref": "#/components/schemas/OnwardInlandRouting" + }, + "vesselVoyages": { + "minItems": 1, + "type": "array", + "description": "Allow the possibility to include multiple vessels/voyages in the `Transport Document` (e.g. the first sea going vessel and the mother vessel). At least one is mandatory to provide.\n", + "items": { + "$ref": "#/components/schemas/VesselVoyage" + } + } + } + }, + "VesselVoyage": { + "title": "Vessel/Voyage", + "required": [ + "carrierExportVoyageNumber", + "vesselName" + ], + "type": "object", + "properties": { + "vesselName": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the first sea going Vessel on board which the cargo is loaded or intended to be loaded\n", + "example": "King of the Seas" + }, + "carrierExportVoyageNumber": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The identifier of an export voyage. The carrier-specific identifier of the export Voyage.\n", + "example": "2103S" + }, + "universalExportVoyageReference": { + "maxLength": 5, + "minLength": 5, + "pattern": "^\\d{2}[0-9A-Z]{2}[NEWSR]$", + "type": "string", + "description": "A global unique voyage reference for the export Voyage, as per DCSA standard, agreed by VSA partners for the voyage. The voyage reference must match the regular expression pattern: `\\d{2}[0-9A-Z]{2}[NEWSR]`\n- `2 digits` for the year\n- `2 alphanumeric characters` for the sequence number of the voyage\n- `1 character` for the direction/haul (`N`orth, `E`ast, `W`est, `S`outh or `R`oundtrip).\n", + "example": "2103N" + } + }, + "description": "Vessel and export voyage" + }, + "PlaceOfReceipt": { + "title": "Place of Receipt", + "type": "object", + "properties": { + "locationName": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the location.", + "example": "Port of Amsterdam" + }, + "address": { + "$ref": "#/components/schemas/Address" + }, + "facility": { + "$ref": "#/components/schemas/Facility" + }, + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", + "example": "NLAMS" + }, + "geoCoordinate": { + "$ref": "#/components/schemas/GeoCoordinate" + } + }, + "description": "An object to capture `Place of Receipt` location specified as: the location where the cargo is handed over by the shipper, or his agent, to the shipping line. This indicates the point at which the shipping line takes on responsibility for carriage of the container.\n\n**Condition:** Only when pre-carriage is done by the carrier.\n\nThe location can be specified in **any** of the following ways: `UN Location Code`, `Facility` or an `Address`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `Address` and as a `Facility`) that both ways point to the same location.\n", + "example": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + } + }, + "PortOfLoading": { + "title": "Port of Loading", + "type": "object", + "properties": { + "locationName": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the location.", + "example": "Port of Amsterdam" + }, + "city": { + "$ref": "#/components/schemas/City" + }, + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", + "example": "NLAMS" + } + }, + "description": "An object to capture `Port of Loading` location specified as: the location where the cargo is loaded onto a first sea-going vessel for water transportation.\n\nThe location can be specified in **any** of the following ways: `UN Location Code` or `City and Country`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `UN Location Code` and as a `City and Country`) that both ways point to the same location.\n", + "example": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + } + }, + "PortOfDischarge": { + "title": "Port of Discharge", + "type": "object", + "properties": { + "locationName": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the location.", + "example": "Port of Amsterdam" + }, + "city": { + "$ref": "#/components/schemas/City" + }, + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", + "example": "NLAMS" + } + }, + "description": "An object to capture `Port of Discharge` location specified as: the location where the cargo is discharged from the last sea-going vessel.\n\nThe location can be specified in **any** of the following ways: `UN Location Code` or `City and Country`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `UN Location Code` and as a `City and Country`) that both ways point to the same location.\n", + "example": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + } + }, + "PlaceOfDelivery": { + "title": "Place of Delivery", + "type": "object", + "properties": { + "locationName": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the location.", + "example": "Port of Amsterdam" + }, + "address": { + "$ref": "#/components/schemas/Address" + }, + "facility": { + "$ref": "#/components/schemas/Facility" + }, + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", + "example": "NLAMS" + }, + "geoCoordinate": { + "$ref": "#/components/schemas/GeoCoordinate" + } + }, + "description": "An object to capture `Place of Delivery` location specified as: the location where the cargo is handed over to the consignee, or his agent, by the shipping line and where responsibility of the shipping line ceases.\n\n**Condition:** Only when onward transport is done by the carrier\n\nThe location can be specified in **any** of the following ways: `UN Location Code`, `Facility` or an `Address`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `Address` and as a `Facility`) that both ways point to the same location.\n", + "example": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + } + }, + "OnwardInlandRouting": { + "title": "Onward Inland Routing", + "type": "object", + "properties": { + "locationName": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the location.", + "example": "Port of Amsterdam" + }, + "address": { + "$ref": "#/components/schemas/Address" + }, + "facility": { + "$ref": "#/components/schemas/Facility" + }, + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", + "example": "NLAMS" + } + }, + "description": "An object to capture `Onward Inland Routing` location specified as the end location of the inland movement that takes place after the container(s) being delivered to the port of discharge/place of delivery for account and risk of merchant (merchant haulage).\n\nThe location can be specified in **any** of the following ways: `UN Location Code`, `Facility` or an `Address`.\n\n**Condition:** It is expected that if a location is specified in multiple ways (e.g. both as an `Address` and as a `Facility`) that both ways point to the same location.\n", + "example": { + "locationName": "Hamburg", + "UNLocationCode": "DEHAM" + } + }, + "Charge": { + "title": "Charge", + "required": [ + "calculationBasis", + "chargeName", + "currencyAmount", + "currencyCode", + "paymentTermCode", + "quantity", + "unitPrice" + ], + "type": "object", + "properties": { + "chargeName": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Free text field describing the charge to apply\n", + "example": "Documentation fee - Destination" + }, + "currencyAmount": { + "minimum": 0, + "type": "number", + "description": "The monetary value of all freight and other service charges for a transport document, with a maximum of 2-digit decimals.\n", + "format": "float", + "example": 1012.12 + }, + "currencyCode": { + "maxLength": 3, + "minLength": 3, + "pattern": "^[A-Z]{3}$", + "type": "string", + "description": "The currency for the charge, using a 3-character code ([ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)).\n", + "example": "DKK" + }, + "paymentTermCode": { + "type": "string", + "description": "An indicator of whether a charge is prepaid (PRE) or collect (COL). When prepaid, the charge is the responsibility of the shipper or the Invoice payer on behalf of the shipper (if provided). When collect, the charge is the responsibility of the consignee or the Invoice payer on behalf of the consignee (if provided).\n\n- `PRE` (Prepaid)\n- `COL` (Collect)\n", + "example": "PRE", + "enum": [ + "PRE", + "COL" ] - } + }, + "calculationBasis": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The code specifying the measure unit used for the corresponding unit price for this cost, such as per day, per ton, per square metre.\n", + "example": "Per day" + }, + "unitPrice": { + "minimum": 0, + "type": "number", + "description": "The unit price of this charge item in the currency of the charge.\n", + "format": "float", + "example": 3456.6 + }, + "quantity": { + "minimum": 0, + "type": "number", + "description": "The amount of unit for this charge item.\n", + "format": "float", + "example": 34.4 + } + }, + "description": "Addresses the monetary value of freight and other service charges for a `Booking`.\n" + }, + "Address": { + "title": "Address", + "required": [ + "city", + "countryCode", + "street" + ], + "type": "object", + "properties": { + "street": { + "maxLength": 70, + "type": "string", + "description": "The name of the street.", + "example": "Ruijggoordweg" + }, + "streetNumber": { + "maxLength": 50, + "type": "string", + "description": "The number of the street.", + "example": "100" + }, + "floor": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The floor of the street number.\n", + "example": "N/A" + }, + "postCode": { + "maxLength": 10, + "type": "string", + "description": "The post code.", + "example": "1047 HM" + }, + "POBox": { + "maxLength": 20, + "type": "string", + "description": "A numbered box at a post office where a person or business can have mail or parcels delivered.", + "example": "123" + }, + "city": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the city.\n", + "example": "Amsterdam" + }, + "stateRegion": { + "maxLength": 65, + "type": "string", + "description": "The name of the state/region.", + "example": "North Holland" + }, + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "NL" + } + }, + "description": "An object for storing address related information\n" + }, + "City": { + "title": "City", + "required": [ + "city", + "countryCode" + ], + "type": "object", + "properties": { + "city": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the city.\n", + "example": "Amsterdam" + }, + "stateRegion": { + "maxLength": 65, + "type": "string", + "description": "The name of the state/region.\n", + "example": "North Holland" + }, + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "NL" + } + }, + "description": "An object for storing city, state/region and country related information\n" + }, + "Facility": { + "title": "Facility", + "required": [ + "facilityCode", + "facilityCodeListProvider" + ], + "type": "object", + "properties": { + "facilityCode": { + "maxLength": 6, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The code used for identifying the specific facility. This code does not include the UN Location Code.\nThe definition of the code depends on the `facilityCodeListProvider`. As code list providers maintain multiple codeLists the following codeList is used:\n- `SMDG` (the codeList used is the [SMDG Terminal Code List](https://smdg.org/documents/smdg-code-lists/))\n- `BIC` (the codeList used is the [BIC Facility Codes](https://www.bic-code.org/facility-codes/))", + "example": "ADT" + }, + "facilityCodeListProvider": { + "type": "string", + "description": "The provider used for identifying the facility Code. Some facility codes are only defined in combination with an `UN Location Code`\n- `BIC` (Requires a UN Location Code)\n- `SMDG` (Requires a UN Location Code)\n", + "example": "SMDG", + "enum": [ + "BIC", + "SMDG" + ] + } + }, + "description": "An interface used to express a location using a `Facility`. The facility can either be expressed using a `BIC` code or a `SMDG` code. The `facilityCode` does not contain the `UNLocationCode` - this should be provided in the `UnLocationCode` attribute.\n" + }, + "GeoCoordinate": { + "title": "Geo Coordinate", + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "properties": { + "latitude": { + "maxLength": 10, + "type": "string", + "description": "Geographic coordinate that specifies the north–south position of a point on the Earth's surface.", + "example": "48.8585500" + }, + "longitude": { + "maxLength": 11, + "type": "string", + "description": "Geographic coordinate that specifies the east–west position of a point on the Earth's surface.", + "example": "2.294492036" + } + }, + "description": "An object used to express a location using `latitude` and `longitude`.\n" + }, + "OtherDocumentParty": { + "title": "Other Document Party", + "required": [ + "party", + "partyFunction" + ], + "type": "object", + "properties": { + "party": { + "$ref": "#/components/schemas/Party" + }, + "partyFunction": { + "maxLength": 3, + "type": "string", + "description": "Specifies the role of the party in a given context. Possible values are:\n\n- `SCO` (Service Contract Owner)\n- `DDR` (Consignor's freight forwarder)\n- `DDS` (Consignee's freight forwarder)\n- `COW` (Invoice payer on behalf of the consignor (shipper))\n- `COX` (Invoice payer on behalf of the consignee)\n", + "example": "DDS" + } + }, + "description": "A list of document parties that can be optionally provided in the `Shipping Instructions` and `Transport Document`.\n" + }, + "PartyAddress": { + "title": "Party Address", + "required": [ + "city", + "countryCode", + "street" + ], + "type": "object", + "properties": { + "street": { + "maxLength": 70, + "type": "string", + "description": "The name of the street of the party’s address.", + "example": "Ruijggoordweg" + }, + "streetNumber": { + "maxLength": 50, + "type": "string", + "description": "The number of the street of the party’s address.", + "example": "100" + }, + "floor": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The floor of the party’s street number.\n", + "example": "2nd" + }, + "postCode": { + "maxLength": 10, + "type": "string", + "description": "The post code of the party’s address.", + "example": "1047 HM" + }, + "POBox": { + "maxLength": 20, + "type": "string", + "description": "A numbered box at a post office where a person or business can have mail or parcels delivered.", + "example": "123" + }, + "city": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The city name of the party’s address.\n", + "example": "Amsterdam" + }, + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the carrier booking office is located. The pattern used must be\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)\n", + "example": "NLAMS" + }, + "stateRegion": { + "maxLength": 65, + "type": "string", + "description": "The state/region of the party’s address.", + "example": "North Holland" + }, + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "NL" + } + }, + "description": "An object for storing address related information\n" + }, + "Shipper": { + "title": "Shipper", + "required": [ + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "IKEA Denmark" + }, + "typeOfPerson": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Can be one of the following values as per the Union Customs Code art. 5(4):\n- `NATURAL_PERSON` (A person that is an individual living human being)\n- `LEGAL_PERSON` (person (including a human being and public or private organizations) that can perform legal actions, such as own a property, sue and be sued)\n- `ASSOCIATION_OF_PERSONS` (Not a legal person, but recognised under Union or National law as having the capacity to perform legal acts)\n", + "example": "NATURAL_PERSON" + }, + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "displayedAddress": { + "maxItems": 6, + "type": "array", + "description": "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A single address line\n", + "example": "Strawinskylaan 4117" + } + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + }, + "reference": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A reference linked to the `Shipper`.\n", + "example": "HHL007" + }, + "purchaseOrderReferences": { + "type": "array", + "description": "A list of `Purchase Order Reference`s linked to the `Shipper`.\n", + "items": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A purchase order reference linked to the `Shipper`.\n", + "example": "HHL007" + } + } + }, + "description": "The party by whom or in whose name or on whose behalf a contract of carriage of goods by sea has been concluded with a carrier, or the party by whom or in whose name, or on whose behalf, the goods are actually delivered to the carrier in relation to the contract of carriage by sea.\n\n**Condition:** Either the `address` or the `displayedAddress` must be included in the `Transport Document`.\n" + }, + "Consignee": { + "title": "Consignee", + "required": [ + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "IKEA Denmark" + }, + "typeOfPerson": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Can be one of the following values as per the Union Customs Code art. 5(4):\n- `NATURAL_PERSON` (A person that is an individual living human being)\n- `LEGAL_PERSON` (person (including a human being and public or private organizations) that can perform legal actions, such as own a property, sue and be sued)\n- `ASSOCIATION_OF_PERSONS` (Not a legal person, but recognised under Union or National law as having the capacity to perform legal acts)\n", + "example": "NATURAL_PERSON" + }, + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "displayedAddress": { + "maxItems": 6, + "type": "array", + "description": "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A single address line\n", + "example": "Strawinskylaan 4117" + } + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + }, + "reference": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A reference linked to the `Consignee`.\n", + "example": "HHL007" + }, + "purchaseOrderReferences": { + "type": "array", + "description": "A list of `Purchase Order Reference`s linked to the `Consignee`.\n", + "items": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A purchase order reference linked to the `Consignee`.\n", + "example": "HHL007" + } + } + }, + "description": "The party to which goods are consigned in the `Master Bill of Lading`.\n\n**Condition:** Mandatory for non-negotiable BL (`isToOrder=false`)\n" + }, + "Endorsee": { + "title": "Endorsee", + "required": [ + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "IKEA Denmark" + }, + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "displayedAddress": { + "maxItems": 6, + "type": "array", + "description": "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A single address line\n", + "example": "Strawinskylaan 4117" + } + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + } + }, + "description": "The party to whom the title to the goods is transferred by means of endorsement.\n\n**Condition:** Can only be provided for negotiable BLs (`isToOrder=true`). If a negotiable BL does not have an `Endorsee`, the BL is said to be \"blank endorsed\". Note `Consignee` and `Endorsee` are mutually exclusive.\n" + }, + "CarriersAgentAtDestination": { + "title": "Carrier's Agent At Destination", + "required": [ + "address", + "partyContactDetails", + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "IKEA Denmark" + }, + "address": { + "$ref": "#/components/schemas/Address" + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + } + }, + "description": "The party on the import side assigned by the carrier to whom the customer need to reach out to for cargo release.\n" + }, + "NotifyParty": { + "title": "Notify Party", + "required": [ + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "IKEA Denmark" + }, + "typeOfPerson": { + "maxLength": 50, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Can be one of the following values as per the Union Customs Code art. 5(4):\n- `NATURAL_PERSON` (A person that is an individual living human being)\n- `LEGAL_PERSON` (person (including a human being and public or private organizations) that can perform legal actions, such as own a property, sue and be sued)\n- `ASSOCIATION_OF_PERSONS` (Not a legal person, but recognised under Union or National law as having the capacity to perform legal acts)\n", + "example": "NATURAL_PERSON" + }, + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "displayedAddress": { + "maxItems": 6, + "type": "array", + "description": "The address of the party to be displayed on the `Transport Document`. The displayed address may be used to match the address provided in the `Letter of Credit`.\n\n**Conditions:** If provided:\n - the displayed address must be included in the `Transport Document`.\n - for physical BL (`isElectronic=false`), it is only allowed to provide max 2 lines of 35 characters\n - for electronic BL (`isElectronic=true`), the limit is 6 lines of 35 characters\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "maxLength": 35, + "type": "string", + "description": "A single address line\n", + "example": "Strawinskylaan 4117" + } + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + }, + "reference": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A reference linked to the `NotifyParty`.\n", + "example": "HHL007" + } + }, + "description": "The person to be notified when a shipment arrives at its destination.\n" + }, + "Party": { + "title": "Party", + "required": [ + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "Asseco Denmark" + }, + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + }, + "reference": { + "maxLength": 35, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A reference linked to the `Party`.\n", + "example": "HHL007" + } + }, + "description": "Refers to a company or a legal entity.\n" + }, + "IssuingParty": { + "title": "Issuing Party", + "required": [ + "address", + "partyName" + ], + "type": "object", + "properties": { + "partyName": { + "maxLength": 70, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Name of the party.\n", + "example": "Asseco Denmark" + }, + "address": { + "$ref": "#/components/schemas/PartyAddress" + }, + "identifyingCodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentifyingCode" + } + }, + "taxLegalReferences": { + "type": "array", + "description": "A list of `Tax References` for a `Party`\n", + "items": { + "$ref": "#/components/schemas/TaxLegalReference" + } + }, + "partyContactDetails": { + "type": "array", + "description": "A list of contact details\n", + "items": { + "$ref": "#/components/schemas/PartyContactDetail" + } + } + }, + "description": "Refers to a company or a legal entity.\n" + }, + "IssuanceError": { + "title": "Issuance Error", + "type": "object", + "properties": { + "reason": { + "maxLength": 255, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Human readable description of the rationale for an unsuccessful issuance.\n\nThe `reason` should be omitted when the `issuanceResponseCode` is `ISSU`. If the platform for some reason chooses to deviate from this and provide the field anyway, they should use canned phrased like `Issued` that matches the meaning of the `issuanceResponseCode`.\n", + "example": "Cannot get..." + }, + "errorCode": { + "maxLength": 50, + "pattern": "^\\S+$", + "type": "string", + "description": "A vendor provided error code.\n\nThe meaning of each code is agreed bilaterally between the vendor.\n", + "example": "ERR-1234" + } + } + }, + "IssuanceResponse": { + "title": "Issuance Response", + "required": [ + "issuanceResponseCode", + "transportDocumentReference" + ], + "type": "object", + "properties": { + "transportDocumentReference": { + "maxLength": 20, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "A unique number allocated by the shipping line to the transport document and the main number used for the tracking of the status of the shipment.\n", + "example": "HHL71800000" + }, + "issuanceResponseCode": { + "type": "string", + "description": "The platforms verdict on the issuance of the EBL identified by the `transportDocumentReference`\n\nOptions are:\n - `ISSU`: The document was successfully `ISSU` and successfully delivered to the initial possessor.\n - `BREQ`: The platform reviewed the document and believe they cannot issue the document due to an error/issue with the content of the issuance request.\n - `REFU`: The eBL issuance is rejected for a reason that the issuing eBL platform cannot resolve (for example when an Interoperable transfer fails, due to a reject of the receiving eBL platform via the `BENV` code from the interoperability standard). One reason could be that the `issueTo` referenced a valid eBL platform but the receiving platform did not recognise the recipient specified.\n\nRegardless of the response code, the issuance request is now considered handled. In case of successful issuance, the platform will still have some responsibility but that is covered by other processes and APIs (e.g., the DCSA_SUR API mentioned in the description of this API). In case of failed issuance, it is up to the carrier to resolve the issue and, if needed, submit a revised issuance request.\n", + "example": "ISSU", + "enum": [ + "ISSU", + "BREQ", + "REFU" + ] + }, + "reason": { + "maxLength": 255, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "Human readable description of the rationale for an unsuccessful issuance.\n\nThe `reason` should be omitted when the `issuanceResponseCode` is `ISSU`. If the platform for some reason chooses to deviate from this and provide the field anyway, they should use canned phrased like `Issued` that matches the meaning of the `issuanceResponseCode`.\n", + "example": "Cannot get..." + }, + "errors": { + "maxItems": 255, + "type": "array", + "description": "A list of errors if the issuance failed for some reason.\n", + "items": { + "$ref": "#/components/schemas/IssuanceError" + } + } + } + }, + "PlaceOfIssue": { + "title": "Place of Issue", + "type": "object", + "properties": { + "locationName": { + "maxLength": 100, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string", + "description": "The name of the location.", + "example": "Port of Amsterdam" + } + }, + "description": "An object to capture where the original Transport Document (`Bill of Lading`) will be issued.\n\nThe location can be specified either as a `UN Location Code` or as a `CountryCode`.\n", + "oneOf": [ + { + "title": "UN Location Code", + "required": [ + "UNLocationCode" + ], + "type": "object", + "properties": { + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)", + "example": "NLAMS" + } + } + }, + { + "title": "Country Code", + "required": [ + "countryCode" + ], + "type": "object", + "properties": { + "countryCode": { + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string", + "description": "The 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n", + "example": "NL" + } + } + } + ] + }, + "InvoicePayableAt": { + "title": "Invoice Payable At", + "type": "object", + "description": "Location where payment of ocean freight and charges for the main transport will take place by the customer.\n\nThe location can be provided as a `UN Location Code` or as a fallback - a `freeText` field\n", + "oneOf": [ + { + "title": "UN Location Code", + "required": [ + "UNLocationCode" + ], + "type": "object", + "properties": { + "UNLocationCode": { + "maxLength": 5, + "minLength": 5, + "pattern": "^[A-Z]{2}[A-Z2-9]{3}$", + "type": "string", + "description": "The UN Location code specifying where the place is located. The pattern used must be\n\n- 2 characters for the country code using [ISO 3166-1 alpha-2](https://www.iso.org/obp/ui/#iso:pub:PUB500001:en)\n- 3 characters to code a location within that country. Letters A-Z and numbers from 2-9 can be used\n\nMore info can be found here: [UN/LOCODE](https://unece.org/trade/cefact/UNLOCODE-Download)", + "example": "NLAMS" + } + } + }, + { + "title": "Free text", + "required": [ + "freeText" + ], + "type": "object", + "properties": { + "freeText": { + "maxLength": 35, + "type": "string", + "description": "The name of the location where payment will be rendered by the customer.\n", + "example": "DCSA Headquarters" + } + } + } + ] + }, + "DocumentParties": { + "title": "Document Parties", + "required": [ + "issuingParty", + "shipper" + ], + "type": "object", + "properties": { + "shipper": { + "$ref": "#/components/schemas/Shipper" + }, + "consignee": { + "$ref": "#/components/schemas/Consignee" + }, + "endorsee": { + "$ref": "#/components/schemas/Endorsee" + }, + "issuingParty": { + "$ref": "#/components/schemas/IssuingParty" + }, + "carriersAgentAtDestination": { + "$ref": "#/components/schemas/CarriersAgentAtDestination" + }, + "notifyParties": { + "maxItems": 3, + "type": "array", + "description": "List of up to 3 `Notify Parties`. The first item in the list is the **First Notify Party** (`N1`), the second item is the **Second Notify Party** (`N2`) and the last item is the **Other Notify Party** (`NI`).\n\n**Conditions:** If provided:\n - mandatory for To Order BLs, `isToOrder=true`\n - the order of the items in this array **MUST** be preserved as by the provider of the API.\n", + "items": { + "$ref": "#/components/schemas/NotifyParty" + } + }, + "other": { + "type": "array", + "description": "A list of document parties that can be optionally provided in the `Shipping Instructions` and `Transport Document`.", + "items": { + "$ref": "#/components/schemas/OtherDocumentParty" + } + } + }, + "description": "All `Parties` with associated roles.\n" } - }, - "servers" : [ - { - "description" : "SwaggerHub API Auto Mocking", - "url" : "https://virtserver.swaggerhub.com/dcsaorg/DCSA_EBL_ISS/3.0.0" + }, + "parameters": { + "Api-Version-Major": { + "name": "API-Version", + "in": "header", + "description": "An API-Version header **MAY** be added to the request (optional); if added it **MUST** only contain **MAJOR** version. API-Version header **MUST** be aligned with the URI version.\n", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "3" + } } - ], - "tags" : [ - { - "description" : "Issuance EBL **implemented** by EBL Solution Platform\n", - "name" : "Issuance EBL" - }, - { - "description" : "Issuance Response **implemented** by carrier\n", - "name" : "Issuance Response" + }, + "headers": { + "API-Version": { + "description": "SemVer used to indicate the version of the contract (API version) returned.\n", + "style": "simple", + "explode": false, + "schema": { + "type": "string", + "example": "3.0.0" + } } - ] + } + } }