DCSA Standards Public Reference / Standards / Releases / Booking / Archive / Booking v2.0.4
DCSA BKG 2.0.4 - Changelog
Archived release: Booking v2.0.4 has been superseded. View the current v2 documentation.
Contents
- Release v2.0.4 - 14 April 2026
- Release v2.0.3 - 14 November 2025
- Release v2.0.2 - 31 July 2025
- Release v2.0.1 - 25 April 2025
- Release v2.0.0 - 17 December 2024
- Release v2.0.0 Beta 20241108 - 8 November 2024
- Release v2.0.0 Beta 20241025 - 25 October 2024
- Release v2.0.0 Beta 20241011 - 11 October 2024
- Release v2.0.0 Beta 20240927 - 27 September 2024
- Release v2.0.0 Beta 20240913 - 13 September 2024
- Release v2.0.0 Beta 20240830 - 30 August 2024
- Release v2.0.0 Beta 20240816 - 16 August 2024
- Release v2.0.0 Beta 20240726 - 26 July 2024
- Release v2.0.0 Beta 20240614 - 28 June 2024
- Release v2.0.0 Beta 3
- Release v2.0.0 Beta 2 - 12 April 2024
- Release v2.0.0 Beta 1 - 28 December 2023
Release v2.0.4 - 14 April 2026
This is a patch release for the DCSA Booking API. Updated the partyFunction list, allowed for unstructured address (addressLines), deprecated HSCodes, nationalCommodityCodes and chargeName in order to allow extended versions and DG can now have an “infinite” level of innerPackagings.
- descriptions have been improved (typos, clarifications and improvements)
- GET endpoint now also mentions the
bookingCancellationStatus - PATCH endpoint now mentions when
bookingCancellationStatusis cleared
- GET endpoint now also mentions the
errorCodedescription in theDetailedErrorobject has been changed to not mention standardization of error codes (this never got traction by the community)- new
partyFunction:CSR(Carrier customer service representative) - it is now possible to specify an address as unstructured (
addressLines) for the Party objects. eblPlatformadded toShipper,ConsigneeandEndorsee- added 3 new eBL Solution Providers to the
IdentifyingCodes:DOCU(DocuTrade)AEOT(AEOTrade)SGTD(SGTraDex)
- added
departingVesselVoyageto theShipmentLocationsin order to better specify Vessel and/or voyage information. facilityNameandaddressLines(unstructured address) added to theLocation,ContainerPositioningLocation,EmptyContainerDepotReleaseLocation,LoadLocation,DischargeLocationobjectsHSCodesandnationalCommodityCodesmarked as deprecated -extendedHSCodesandextendedNationalCommodityCodesto be used instead in order to support new requirementsinnerPackagings(in DG object) can now have a nestedinnerPackagingsstructure- added
extendedChargeNameand deprecatedchargeNameto allow for longer charge names (now 100 is max)
Release v2.0.3 - 14 November 2025
This is a patch release for the DCSA Booking API. A new codeListProvider has been added (and one deprecated).
- descriptions have been added to objects where they were missing:
CancelBookingRequest,CreateBooking,UpdateBooking,Booking,IdentifyingCode ESSD(EssDOCS) has been marked as deprecated in codeListProvider (please useIDTinstead)BLOC(BlockPeer Technologies) added as new codeListProviderROUadded aslocationTypeCodeon theShipmentLocations- can be used in combination with theroutingReferencepropertyIssue To Partyadded indocumentParties- clarify in
latitudeandlongitudedescription that the value is expressed using ISO 6709 data interchange numeric format
Release v2.0.2 - 31 July 2025
This is a patch release for the DCSA Booking API. A bug in the GET, PUT and PATCH description has been fixed (chaning the semantics of the endPoints) and a lot of minor changes have been added to this patch, here is a list of changes
- allow
countryCodeZZin case it is not known - added
expectedDepartureFromPlaceOfReceiptDatenext toexpectedDepartureDatefor the Shipper to also be able to specify the departure date fromPRE(Place of Receipt) transportDocumentReferences(a list of TDR) to replacetransportDocumentReference(a single TDR) as a Booking can potentially result in multiple Transport DocumentstransportDocumentReferencemarked as DeprecatedrequestedNumberOfTransportDocumentsadded in case the Shipper does not know the TDR(s) but knows how many are neededrequestedPreCarriageModeOfTransportandrequestedOnCarriageModeOfTransportadded for Shipper to specify the Mode of Transport forpre- andon-Carriage- add
originEmptyContainerPickupto allow empty container pickups that are not covered byemptyContainerPickup - and
fullContainerPickupDateTime EmptyContainerPickupmarked as Deprecated asoriginEmptyContainerPickupcovers all cases1970-01-01should be used forplannedDepartureDateandplannedArrivalDatein case the dates are not know- the following (extra)
Modes of Transporthave been added:RAIL_TRUCK(Rail and truck)BARGE_TRUCK(Barge and truck)BARGE_RAIL(Barge and rail)
- We have removed a constraint that was preventing shippers who don’t receive notifications to transition from using the carrier booking request reference (CBRR) to using the carrier booking reference (CBR) when the booking is confirmed
codeListProviderupdated with the following values:COVA(Covantis),ETIT(e-title),KTNE(KTNET) andCRED(Credore)- clarifies which party
partyContactDetailsrefers to
Link to commits included in this patch
Release v2.0.1 - 25 April 2025
This is a patch release for the DCSA Booking API. The primary purpose of this patch is to include the routingReference property in order to reference a route found in Commercial Schedules, it also adds the NAC (Named Account Customer) party to otherDocumentParty. Here is a list of changes
routingReferenceproperty added to the Booking object. WhenroutingReferenceis provided, other properties should be omitted. The conditions for the following properties have changed:carrierServiceName,carrierServiceCode,universalServiceReference,carrierExportVoyageNumber,universalExportVoyageReference,expectedDepartureDate,expectedArrivalAtPlaceOfDeliveryStartDate,expectedArrivalAtPlaceOfDeliveryEndDate,Vesselobject and the followingshipmentLocationTypeCodes:PRE(Place of Receipt),POL(Port of Loading),POD(Port of Discharge) andPDE(Place of Delivery)NAC(Named Account Customer) added as partyFunctionCode onotherDocumentPartyobject- removed Servers list that was wrongly added (no Virtual Servers are connected to DCSA APIs)
- removed the reference to
ISO 8601in theerrorDateTimeproperty in theErrorobject (all dateTime fields must comply with RFC 3339, section 5.6)
Link to commits included in this patch
Release v2.0.0 - 17 December 2024
This is the final version 2.0.0 for the DCSA Booking API. Compared to latest snapshot released 8 November the following has changed:
- the API follows API Design & Implementation Principles v2.0 instead of v2.1
- Link to create a GitHub issue has been updated to point to DCSA Contact Us page
- License url has been updated to secure socket (http —> https)
- a
nullhas been inserted into the empty202response values - the following object titles have been updated:
- In
BookingFullNotificationtitle has been updated fromBooking—>Booking Full Notification - In
DocumentPartiesReqtitle has been updated fromDocument Parties—>Document Parties (Shipper)
- In
- The following conditions have been made more clear:
declaredValueCurrencyshould not be provided ifdeclaredValueis not providedtemperatureUnitshould not be provided iftemperatureSetpointis not providedairExchangeUnitshould not be provided ifairExchangeis not provided
- description updated for
PlaceOfBLIssue - typo fixed in
o2Setpoint(CO2 —> O2) - typo fixed in
reference(inImportLicense) (athorizes —> authorizes)
Release v2.0.0 Beta 20241108 - 8 November 2024
Snapshot as of 8 of November 2024 for Booking 2.0.0 Beta Key changes
- No changes to this version of the Snapshot
Release v2.0.0 Beta 20241025 - 25 October 2024
Snapshot as of 25 of October 2024 for Booking 2.0.0 Beta Key changes
- minor updates to description
Object changes
- properties modified:
EU(European Union Member State Customs Authority) removed fromcodeListProviderinIdentifyingCode
Minor changes
- many places in descriptions ‘either X or Y’ has been replaced with ‘one of X or Y’ to make it clear only one of the values are applicable (whenever both values are allowed this will be explicitly mentioned)
declaredValueCurrencyis now a conditional property based ondeclaredValuebeing providedEU(European Union Member State Customs Authority) removed fromcodeListProviderinIdentifyingCodeunitdescriptions aligned for weights and volumes
Release v2.0.0 Beta 20241011 - 11 October 2024
Snapshot as of 11 of October 2024 for Booking 2.0.0 Beta Key changes
importLicenseandexportLicenseadded toCommodityandCommodityShippercargoGrossWeightadded toRequestedEquipmentandRequestedEquipmentShipperand is no longer mandatory onCommodityandCommodityShipper. It is required to provide thecargoGrossWeighton eitherRequestedEquipmentorCommoditylevel Object changes- properties added:
cargoGrossWeightadded toRequestedEquipmentandRequestedEquipmentShipperimportLicenseandexportLicenseadded toCommodityandCommodityShipperExportLicenseandImportLicenseobjects added with the following properties:isRequired,reference,issueDateandexpiryDate
- properties modified:
isExportDeclarationRequiredis no longer a mandatory property in BookingcargoGrossWeightis no longer a mandatory property onCommoditycommoditySubreferencerenamed tocommoditySubReference(using upperCaseR)countryCodeis no longer mandatory onNationalCommodityCodenor onAdvanceManifestFilingunNumberandnaNumberrenamed toUNNumberandNANumberinDangerous Goods
- properties removed:
isImportLicenseRequiredandimportLicenseReferenceremoved fromBookingexportLicenseIssueDateandexportLicenseExpiryDateremoved fromCommodityandCommodityShipper
All changes
- endPoint examples updated
- wording in Booking Cancellation endPoint description updated to reflect that the Booking is not immediately cancelled when the endPoint is called
exportDeclarationReferencedescription updatedTRACdescription updated fromTRACE OriginaltoEnigio trace:originalEUremoved fromcodeListProviderinIdentifyingCodeEORIremoved fromcodeListNameinIdentifyingCode
Release v2.0.0 Beta 20240927 - 27 September 2024
Snapshot as of 27 of September 2024 for Booking 2.0.0 Beta Key changes
- API description updated
- Converted all inner defined objects to globally defined objects. The following objects are now global:
CreateBookingResponsepreviously defined as inner object on thePOST /v2/bookingsendPointCancelBookingRequestpreviously defined as inner object on thePATCH /v2/bookings/{bookingReference}endPointBookingNotificationobject split into multiple global objects:dataproperty of the CloudEvent now defined asBookingNotificationData- the
bookingproperty of thedataobject now defined asBookingFullNotification - the
amendedBookingproperty of thedataobject now defined asAmendedBookingFullNotification BookingFullNotificationdefined as anallOfof theBookingobjectAmendedBookingFullNotificationdefined as anallOfof theBookingobject
EmptyContainerPickuppreviously defined as inner inConfirmedEquipments,RequestedEquipmentandRequestedEquipmentShipperNetVolume,NetExplosiveContent,NetWeight,GrossWeightpreviously defined as inner inDangerousGoodsCargoGrossVolumeandCargoGrossWeightpreviously defined as inner inCommodityandCommodityShipperTareWeightpreviously defined as inner inRequestedEquipmentandRequestedEquipmentShipperDocumentPartiespreviously defined as inner inBookingDocumentPartiesReqpreviously defined as inner inCreateBookingandUpdateBookingPlaceOfBLIssuepreviously defined as inner inCreateBookingandUpdateBookingInvoicePayableAtpreviously defined as inner inCreateBookingandUpdateBookingObject changes
- properties added:
cargoNetVolumeandcargoNetWeightadded toCommodityandCommodityShipperand created as global objectsCargoNetVolumeandCargoNetWeight
- properties modified:
purchaseOrderReferencerenamed topurchaseOrderReferencesand is now an array of Purchase Order References instead of a single Reference in theShipperandConsgineepartiesPOboxrenamed toPOBox(with capitalB)isPartialLoadAllowedis no longer a required property onCreateBooking,UpdateBookingnorBookingobjects
- properties removed:
communicationChannelCoderemoved from Booking standard
All changes
numberOfPackagesnow has a maximum limit of 99999999phonedescription updated to include ITU-T recommendation E.123- description updates to properties in the
Addressobject (the Address object can be used for other things than just a Party-address) - Link to the standardized
errorCodein theErrorobject updated to a public page: Error codes as specified by DCSA - multiple description updated that are conditional in order to streamline how Conditions are specified as part of a description
- endPoint examples updated to align with new schema
Release v2.0.0 Beta 20240913 - 13 September 2024
Snapshot as of 13 of September 2024 for Booking 2.0.0 Beta Key changes
POST,PUTandPATCHendPoints only return202(Accepted) as a success response code- changed all PseudoEnum values so they no longer include spaces (
) - links to specific standardisation bodies versions replaced with more “general” links (Wikipedia links replaced with links to www.iso.org)
- structure of
weightandvolume(valueandunit) specifications changed to object containing two properties:valueandunitinstead of conditional properties volumerenamed tonetVolumein DG (Dangerous Goods)
All changes
- fixed a lot of typos in descriptions
- Added a link to API Design & Implementation Principles v2.0
- API endPoint descriptions updated
- anything but
200(OK) and201(Created) removed as response codes forPOSt,PUTandPATCH - modified endPoint examples
- title property added to all objects
bookingStatus,amendedBookingStatusandbookingCancellationStatusvalues updated - all spaces () have been replaced with underscore (_)originChargesPaymentTerm,destinationChargesPaymentTermandvesselcreated as globally defined objects and referenced where neededdeclaredValueCurrencydescription link updatedcarrierCodedescription updated to make it more clear that it is aSCACcodeincoTermsdescription updated to not include list of values as this is defined by https://iccwbo.org/business-solutions/incoterms-rules/- changed
errorDateTimeexample to UTC instead of timeZone specific facilityCodedescription link updated to a more general page instead of a specific versionBookingRefStatusobject removed as it is no longer needed in response payloadsTaxLegalReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align withtypeexample
CustomsReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align withtypeexample
ISOEquipmentCodedescription link updated to www.iso.org instead of WikipediaemptyContainerPickupdateTimeexample updated to be UTC timeequipmentReferencesdescription link updated to www.iso.org instead of Wikipedia- structure of
RequestedEquipmentandRequestedEquipmentShipperobjects changed so it no longer usesoneOfto choose between SOC (Shipper Owned Container) and COC (Carrier Owned Container). Instead, a conditionaltareWeightproperty has been added along withisShipperOwned ContainerPositioningandContainerPositioningEstimateddateTimeexample updated to be UTC timeContainerPositioningLocationandEmptyContainerDepotReleaseLocationdescription updated to include a conditionHSCodesdescription link updated to a general link instead of a specific versioncargoGrossWeightandcargoGrossWeightUnitmerged into a property calledcargoGrossWeightcontaining two mandatory propertiesvalueandunitcargoGrossVolumeandcargoGrossVolumeUnitmerged into a property calledcargoGrossVolumecontaining two mandatory propertiesvalueandunitSCHEDULE Bupdated toSCHEDULE_Bas a value in thetypeinNationalCommodityCodeto avoid the space ()packageCodedescription link updated to a general link instead of a specific versionimoPackagingCodedescription updatedimoClassreference data link removedfumigationDateTimeexample updated to use UTC timevolumerenamed tonetVolumein DG (Dangerous Goods)LoadLocationandDischargeLocationdescription updated to make it clear that if multiple ways of specifying a location is used they must point to the same placecutOffDateTimeexample updated to use UTCAdvanceManifestFilingobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align withmanifestTypeCodeexample
currencyCodedescription link updatedOriginChargesPaymentTerm,DestinationChargesPaymentTermandVesselobjects created
Release v2.0.0 Beta 20240830 - 30 August 2024
Snapshot as of 30 of August 2024 for Booking 2.0.0 Beta Key changes
- Semantics for
202responseCode changed - async Cancellation added
- renaming and reordering of
"Empty" Container PositioningsinRequestedEquipmentandConfirmedEquipment partyName,street,ContactDetailNameandcitymaxLength modified to be compatible with EDIFeedbackobject inserted as a communication fromCarrier—>Shipper(no morereasonproperty)
All changes
- API endPoint descriptions updated
- API endPoint examples updated (
nameremoved fromaddressobjects,isCompetentAuthorityApprovalProvidedrenamed toisCompetentAuthorityApprovalRequested) 409(Conflict) responseCode added toGETendPointPATCHendPoint updated to reflect async Booking CancellationBooking Notificationupdated (in lightweight Notifications):bookingCancellationStatusadded as property in both lightweight and full Notificationsfeedbacksproperty added as an array ofFeedbackobjects in both lightweight and full Notificationsreasonfield removed (replaced byfeedbacks) in both lightweight and full NotificationsbookingandamendedBookingobjects (used for full Notifications) updated just likeBookingobject below
CreateBooking,UpdateBookingandBookingobjects updated with:carrierCodeListProviderdescription forNMFTAis updated
Bookingobject (only) additionally updated with:reasonproperty removed- condition on
feedbacksremoved bookingCancellationStatusadded
messagemaxLength updated from 500 —> 5000 inFeedbackobjecterrorCodeMessagemaxLength updated from 200 —> 5000 inDetailedErrorobjectAddressandPartyAddressobjects updates:streetmaxLength changed from 100 —> 70POboxadded as propertycitymaxLength changed from 65 —> 35
BookingRefStatusobject updated with:bookingCancellationStatusadded- condition on
feedbacksremoved reasonproperty removed
BookingRefCancelledStatusobject no longer neededBookingAgentobject changes:partyNamemaxLength changed from 100 —> 70bookingAgentsReferencerenamed toreference
Shipperobject changes:partyNamemaxLength changed from 100 —> 70shippersReferencerenamed toreferenceshippersPurchaseOrderReferencerenamed topurchaseOrderReference
Consigneeobject changes:partyNamemaxLength changed from 100 —> 70consigneesReferencerenamed toreferenceconsigneesPurchaseOrderReferencerenamed topurchaseOrderReference
ServiceContractOwnerobject changes:partyNamemaxLength changed from 100 —> 70serviceContractOwnersReferencerenamed toreference
CarrierBookingOfficeobject changes:partyNamemaxLength changed from 100 —> 70
Partyobject changes:partyNamemaxLength changed from 100 —> 70
namemaxLength changed from 100 —> 35 inPartyContactDetailobjectIdentifyingCodeobject changes:EUadded to thecodeListProvidervaluesEORIadded tocodeListNamevaluespartyCodemaxLength changed from 100 —> 150
- In
RequestedEquipment(andRequestedEquipmentShipper) objects:emptyContainerPositioningshas been renamed tocontainerPositioningsas only the first position in the list is empty- descriptions for
containerPositioningsupdated emptyContainerPickupDateTimeandemptyContainerDepotReleaseLocationmerged into an object with 2 properties:dateTimeanddepotReleaseLocation
ContainerPositioningobject has renamed:emptyContainerPositioningDateTimeto justdateTimeemptyContainerPositioningLocationto justlocation
- same changes as the
RequestedEquipmentalso applies toConfirmedEquipmentwith:EmptyContainerPositioningEstimatedbeing calledContainerPositioningEstimatedestimatedEmptyContainerPositioningDateTimerenamed toestimatedDateTimeemptyContainerPositioningLocationrenamed tolocation
Schedule Bchanged toSCHEDULE BintypeinNationalCommodityCodeobject and a typo was fixed in the description- in Dangerous Goods (DG):
isCompetentAuthorityApprovalProvidedrenamed toisCompetentAuthorityApprovalRequired
Release v2.0.0 Beta 20240816 - 16 August 2024
Snapshot as of 16 of August 2024 for Booking 2.0.0 Beta Key changes
202response code added to all endPoints- maxLength of
valueproperty of all references changed from100—>35(in order to align with EDI) CustomReferencenow allows a list of values- support for multiple
ECP(Empty Container Positioning) locations
All changes
- API description updated
- all endPoint descriptions updated to support
202response 202response code added to all endPoints404(Not Found) added toPUTandPATCHendPointsdeclaredValuedescription updatedcarrierCodeandcarrierCodeListProvideradded toCreateBooking,UpdateBookingandBookingobject. Also added to thebookingandamendedBookingobject in the NotificationmaxLength=100changed tomaxLength=35(in order to be EDI compatible):- in
bookingAgentsReferenceinBookingAgentparty object - in
shippersReferenceinShipperparty object - in
shippersPurchaseOrderReferenceinShipperparty object - in
consigneesReferenceinConsigneeparty object - in
consigneesPurchaseOrderReferenceinConsigneeparty object - in
serviceContractOwnersReferenceinServiceContractOwnerparty object - in
referenceinPartyobject - in
valueinTaxLegalReferenceobject - in
valueinReferenceandReferenceShipperobjects
- in
CustomReferenceobject has the following changes:maxLength=100changed tomaxLength=35for thevalueproperty- the
valueproperty has been renamed tovaluesand is now a list of values instead of a single value
RequestedEquipmentandRequestedEquipmentShipperobject structures changed and now allows for a list ofemptyContainerPositioningsinstead of a singleemptyContainerPositioningLocationtogether with an optionalemptyContainerPositioningDateTimeEmptyContainerPositioningobject added which consists of anemptyContainerPositioningLocationtogether with an optionalemptyContainerPositioningDateTimeEmptyContainerPositioningEstimatedobject added which consists of anemptyContainerPositioningLocationtogether with an optionalestimatedEmptyContainerPositioningDateTimeConfirmedEquipmentobject structure changed and now allows for a list ofemptyContainerPositioningsinstead of a singleemptyContainerPositioningLocationtogether with an optionalestimatedEmptyContainerPositioningDateTime
Release v2.0.0 Beta 20240726 - 26 July 2024
Snapshot as of 26 of July 2024 for Booking 2.0.0 Beta Key changes
- Notification endPoints added (supporting both
LightweightandFull State TransferNotifications) requestedChangesreplaced byFeedbackobject- locations no longer use
oneOfbut is now a set of optional properties
All changes
- API description updated
- endPoint examples updated
/v2/booking-notificationsadded to include:Lightweight Notificationsfor BookingFull State Transfer Notificationsfor Booking- Notifications use the
CloudEventstructure (and is merged from the deprecated Booking Notification API)
Booking Notificationobject addedrequestedChangesreplaced byfeedbacksfor better “feedback” from provider —> consumer in the following objects:BookingandBookingRefStatusRequestedChangesobject deletedFeedback objectadded- locations are handled differently going forward. Locations are no longer defined using a
oneOfbut rather via optional properties. This impacts:AddressLocationobject deleted as it is no longer neededFacilityLocationrenamed toFacilityand modified to no longer havelocationTypeUnLocationLocationobject deleted as it is no longer neededGeoCoordinateobject added
streetNumberis no longer a mandatory field in theAddressnorPartyAddressobjectsplaceOfBLIssueno longer defined inline but references using a $refcustomsReferencesadded toCreateBooking,UpdateBookingandBookingobjectsbookingAgentsReferenceadded toBookingAgentobjectshippersReferenceandshippersPurchaseOrderReferenceadded toShipperobjectconsigneesReferenceandconsigneesPurchaseOrderReferenceadded toConsigneeobjectserviceContractOwnersReferenceadded toServiceContractOwnerobjectreferenceadded toPartyobjectReferenceShipperobject added to differentiate between references sent by consumer and references sent by provider- references has been split into 2 objets:
ReferenceandReferenceShipper. Both objects now only allow:CR,AKGandAEF.Referenceobject (used in GET /bookings) also includes:ECR CustomsReferenceobject addedShipmentLocationsmodified:DRLremovedlocationobject modified
emptyContainerPositioningDateTime,emptyContainerPositioningLocation,emptyContainerPickupDateTime,emptyContainerDepotReleaseLocationandcustomsReferencesadded toRequestedEquipmentandRequestedEquipmentShipperEmptyContainerPositioningLocationandEmptyContainerDepotReleaseLocationobjects addednationalCommodityCodesandcustomsReferencesadded toCommodityandcommodityShipperNationalCommodityCodeobject addedestimatedEmptyContainerPositioningDateTime,emptyContainerPositioningLocation,emptyContainerPickupDateTimeandemptyContainerDepotReleaseLocationadded toConfirmedEquipmentLoadLocationandDischargeLocationobjects modified to no longer useoneOfECPremoved fromShipmentCutOffTimeCodedocumentPartiesnow hasbookingAgentas a mandatory propertyMULTIMODALadded as aMode of Transportin theTransport Plan
Release v2.0.0 Beta 20240614 - 28 June 2024
Snapshot as of 14 of June 2024 for Booking 2.0.0 Beta Major changes
pattern: ^\S(?:.*\S)?$has been added to thelocationNameof theAddressLocationinterfacestreet,streetNumber,cityandcountryCodeare now required properties on theAddressLocationinterfacestreet,streetNumber,cityandcountryCodeare now required properties on thePartyAddressobjectTRAC(TRACE Original) andBRIT(BRITC eBL) added as values forcodeListProviderinIdentifyingCodeobjecteventDateTimeremoved from theShipmentLocationobject- in
DangerousGoodsthe following has changed:netWeightproperty must now be >= 0netExplosiveContentproperty must now be >= 0netExplosiveContentunit now also allow:LBR(Pounds) andONZ(Ounce)volumeproperty object must now be >= 0
- typo fixed in
carrierServiceCode—>carrierSerivceCodein theTransportobject AddressLocationno longer needed because of new way of specifying locationsstreetNumberno longer a required field inAddressnorPartyAddressobjectsCityLocationturned into aCityobjectFacilityLocationturned into aFacilityobjectUnLocationLocationobject no longer needed because of new way of specifying locationsGeoCoordinateadded as new objectshippersReferenceandshippersPurchaseOrderReferenceadded to theShipper-Party objectconsigneesReferenceandconsigneesPurchaseOrderReferenceadded to theConsignee-Party objectreferenceadded to thePartyobject
Object changes
RequestedEquipmentCarrierrenamed toRequestedEquipmentand modified to include everything that was in theRequestedEquipmentCarrier(no use ofallOfanymore)RequestedEquipmentShippermodified so it no longer needs aallOfCommodityCarriermodified so it no longer needs aallOf
Minor changes
- Many description changes
- Title properties were added on all objects
- Some examples have been updated/added
Release v2.0.0 Beta 3
Going forward Beta 3 will not be updated anymore. The new way of working will be that we update the final v2.0.0 continuously. Every once in a while we release “Snapshots”. An example of this is the Snapshot of 14 June 2024 just above.
Release v2.0.0 Beta 2 - 12 April 2024
Beta 2 release of the DCSA OpenAPI definitions for Booking 2.0.0. Business changes: This is a list of high-level business changes:
DocumentPartiesstructure has been changed so it no longer is a “one-size fits all” solution.[Origin|Destination]ChargesPaymentTermshave been updated to allow a differentiation betweenport,haulageandotherpayment codes (PREorCOL).- longer
vesselNameandvesselIMONumberallowed codeListProviderlist cleaned up and all SP (Solution Providers) have been addedUNLocationCodeadded as a property on Party-addresses Technical changes: This is a list of high-level technical changes:- The API is now developed using ShopLight instead of SwaggerHub-editor. This means that we are no longer using Domains but now have everything defined inline.
- As a new principle:
- no $ref pointing outside the yaml file
- all
simpleTypesare now specified “inline” in objects - all
objectsare now PascalCased and have atitleproperty set with a presentable version of the object name in Title Case (all representations of snake_case or Pascal_Snake_Case have been removed)
- all strings having a pattern that matches
^\S+(\s+\S+)*$have been changed to\S(?:.*\S)?$in order to prevent Catastrophic Backtracking additionalProperties= falsehave been added to theUNLocationLocationin order to prevent schema errors whenUNLocationis used together with aFacilityLocationin aoneOfconstruction (prevents schema error: should be valid to one and only one schema, but 2 are valid) List of detailed changes- API description has been updated with new link to Information Model and Interface documents. Link to the Stats API has been updated
- all endPoint examples have been updated to reflect changes
RequestedChangeobject has split thefieldproperty into 2 properties:propertyandjsonPathin order to align with theDetailedErrorobject- fixed some typos in the
ErrorResponsedescriptions Addressobject- no longer has a
nameproperty countryproperty has been changed tocountryCodeflootexample changed to2nd- no required properties in the object
- no longer has a
UNLocationLocationinterface hasadditionalProperties= falsein order to prevent schema violations when included in aoneOfconstruction together with aFacilityLocationin properties defining a locationCreateBookingobject has the following changes:titlechanged fromBooking—>Create BookingdocumentPartiesis now a required propertyoriginChargesPaymentTermCodeanddestinationChargesPaymentTermCodehas changed from being a string to being a structure with the following properties:haulageChargesPaymentTermCode,portChargesPaymentTermCodeandotherChargesPaymentTermCodewhich can all be either Prepaid (PRE) or Collect (COL). Both properties have also been renamed tooriginChargesPaymentTermanddestinationChargesPaymentTerm(so the name no longer ends withCode)vesselobject has been updated soname(vesselName) has maxLength changed from35—>50vesselIMONumberhas maxLength changed from7—>8,minLength=7has been added and the pattern has been changed to^\\d{7,8}$
universalServiceReferenceadded aminLengthof 8 (as theuniversalServiceReferencemust be exactly 8 characters long)universalExportVoyageReferenceadded aminLengthandmaxLengthto both 5 characters (asminLengthmust be exactly 5 characters long)declaredValueCurrencyadded aminLengthof 3 (as thedeclaredValueCurrencymust be exactly 3 characters long)exportDeclarationReferenceandimportLicenseReferencedescriptions no longer require any conditionsinvoicePayableAtstructure changed - it is no longer aoneOfbetween aUNLocationLocationand anAddressLocation.invoicePayableAtis now an object consisting of a single property:UNLocationCodewhich is requiredplaceOfBLIssuestructure changed to a more simple structure. It is now aoneOfbetween aUNLocationCodeand acountryCodedocumentPartiesstructure changed - it is no longer a list ofDocumentPartiesbut an object containing a requiredbookingAgentand optionalshipper,consignee,serviceContractOwner,carrierBookingOfficeandotherdocumentParties- added a
minItemsof 1 onShipmentLocationsas it is a required property - added a
minItemsof 1 onRequestedEquipmentsas it is a required property
UpdateBookingobject has the same changes asCreateBookingexcept:titlechanged fromBooking—>Update Booking
Booking(used for the GET request) object has the same changes asCreateBookingexcept:titlestays asBookingconfirmedEquipmentsdescription updatedtransportPlandescription updatedshipmentCutOffTimesdescription updated
ActiveReeferSettings_BKGandActiveReeferSettingsconsolidated into a single object calledActiveReeferSettings- new
PartyAddressobject created where- all properties are optional
UNLocationCodeis addedcountryis now acountryCode
DocumentPartyhas been renamed toOtherDocumentPartyandisToBeNotifiedhas been removedpartyFunctionhas been reduced to only contain:- DDR (Consignor’s freight forwarder)
- DDS (Consignee’s freight forwarder)
- COW (Invoice payer on behalf of the consignor (shipper))
- COX (Invoice payer on behalf of the consignee)
- N1 (First Notify Party)
- N2 (Second Notify Party)
- NI (Other Notify Party)
- added 5 new “Document Party” objects:
BookingAgent,Shipper,Consignee,ServiceContractOwnerandCarrierBookingOfficeto be used in the newdocumentPariesstructure Partynow uses thePartyAddressobject (instead of theAddressobject)IdentifyingCodestructure has the following changes:codeListProviderhas changedmaxLengthfrom 5 —> 100codeListProviderhas a new list of allowed values:WAVE(Wave),CARX(CargoX),ESSD(EssDOCS),IDT(ICE Digital Trade),BOLE(Bolero),EDOX(EdoxOnline),IQAX(IQAX),SECR(Secro),TRGO(TradeGO),ETEU(eTEU),GSBN(Global Shipping Business Network),WISE(WiseTech),GLEIF(Global Legal Entity Identifier Foundation),W3C(World Wide Web Consortium),DNB(Dun and Bradstreet),FMC(Federal Maritime Commission),DCSA(Digital Container Shipping Association) andZZZ(Mutually defined)codeListProviderexample updatedcodeListNamedescription changed
RequestedEquipment_CARrenamed toRequestedEquipmentCarrierRequestedEquipment_SHIrenamed toRequestedEquipmentShipper- Fixed conditional requirement on
cargoGrossVolumeUnitdescription Commodity_CONFrenamed toCommodityCarrierpackageCodeminLengthandmaxLengthset to 2 in order to allow exactly 2 charactersimoPackagingCodeminLengthandmaxLengthset to 1 and 5 in order to allow strings of length 1-5dangerousGoodsminLengthproperty removed as it was wrongly specifiedDangerousGoods_BGKandDangerousGoodshave been merged intoDangerousGoodscodedVariantListminLengthandmaxLengthset to 4 in order to allow exactly 4 characterssubsidiaryRisk[1|2]minLengthandmaxLengthset to 1 and 3 in order to allow strings of length 1-3volumeproperty of DG now has both properties (valueandunit) as required propertiesunNumberandnaNumberminLengthandmaxLengthset to 4 in order to allow exactly 4 charactersvesselNamechangedmaxLengthfrom 35 —> 50vesselIMONumberchangedmaxLengthfrom 7 —> 8 and added aminLengthof 7universalServiceReferenceminLengthset to 8 in order to allow exactly 8 charactersuniversalImportVoyageReferenceanduniversalExportVoyageReferenceminLengthandmaxLengthset to 5 in order to allow exactly 5 charactersLoadLocationandDischargeLocationhavetitleproperty with a Title Case version of the object nameAdvanceManifestFiling_BKGrenamed toAdvanceManifestFilingcurrencyCodeminLengthset to 3 in order to allow exactly 3 characters- Fixed wrong required
bookingStatuson the root level on the Patch endPoint
Release v2.0.0 Beta 1 - 28 December 2023
Beta 1 release of the DCSA OpenAPI definitions for Booking 2.0.0. This release adds Active Reefer Settings and Dangerous Goods. It improves the amendment flow. It removes the Events endPoint and now supports the Notification pattern.
- Bump Documentation_Domain to version 3.0.0 (was previously v2.1.0)
- Bump Error_Domain to version 3.0.0 (was previously v2.0.0)
- Event_Domain no longer used
- Check above Domains to see changes of objects since last version
summary-endPoints removedBooking RequestandShipmentendPoint consolidated into one GET endPoint- amendment flow improved. It is now possible to follow the status of an amendment via the
amendedBookingStatus eventsendPoint removed and a notification API added to support Push Notifications- multiple examples added to most endPoints
- descriptions improved to all endPoints explaining flows