This is a technical implementation guide to the DCSA Booking (BKG) standard version 2.0. The audience of this document is technical teams of DCSA adopting organizations.
POST
request to create a booking.GET
response.202
(Accepted) containing only the carrierBookingRequestReference
.Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.202
(Accepted) / 404
(Not Found) / 409
(Conflict) without content.Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.RECEIVED
.booking
property) is included, also containing feedbackINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
feedbacks
property in the booking.GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.Back to Table of Content ⬆️
PENDING_UPDATE
.booking
property) is included, MUST also contain feedback.INFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
PENDING_UPDATE
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).PENDING_UPDATE
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.Back to Table of Content ⬆️
PUT
request to update a booking.GET
response.202
(Accepted).
404
(Not Found) is returned if the carrierBookingRequestReference
is not known.409
(Conflict) is returned if the Carrier is processing a booking request.RECEIVED
or PENDING_UPDATE
).RECEIVED
and before it is in UPDATE_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).PENDING_UPDATE
and before it is in UPDATE_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).RECEIVED
or Calling GET /bookings/{bookingReference}?amendedContent=true
1PENDING_UPDATE
and before it is in UPDATE_RECEIVED
)
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.UPDATE_RECEIVED
.booking
property) is included, also containing feedbackINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
UPDATE_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).UPDATE_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.Back to Table of Content ⬆️
REJECTED
.booking
property) is included, also containing feedbackINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
REJECTED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).REJECTED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.Back to Table of Content ⬆️
CONFIRMED
.CONFIRMED
) the Carrier clears:
amendedBooking
statebookingCancellation
state.booking
property) is included, also containing feedbackamendedBooking
property) is clearedINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
amendedBooking
property) is clearedCONFIRMED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CONFIRMED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
404
(Not Found)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).Back to Table of Content ⬆️
PENDING_AMENDMENT
.amendedBooking
state.bookingCancellation
state.booking
property) is included, it MUST contain feedback.amendedBooking
property) is cleared.INFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
PENDING_AMENDMENT
)Calling `GET /bookings/{bookingReference} 1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).PENDING_AMENDMENT
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as a possible amendment has been cleared.Back to Table of Content ⬆️
CONFIRMED
or PENDING_AMENDMENT
).AMENDMENT_RECEIVED
.booking
property) is included, also containing optional feedback connected to the confirmed booking (if the confirmed booking is in state PENDING_AMENDMENT
- the feedback is mandatory)amendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
AMENDMENT_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the confirmed booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).AMENDMENT_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).Back to Table of Content ⬆️
CONFIRMED
.AMENDMENT_CONFIRMED
.booking
property and the amendedBooking
property now contain the same value).booking
property) is included, also containing optional feedback connected to the confirmed bookingamendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
AMENDMENT_CONFIRMED
)Calling `GET /bookings/{bookingReference} 1
GET
request to retrieve the booking.200
(Ok) with the content of the booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).AMENDMENT_CONFIRMED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CONFIRMED
or PENDING_AMENDMENT
).AMENDMENT_DECLINED
.booking
property) is included, also containing optional feedback connected to the confirmed booking (if the confirmed booking is in state PENDING_AMENDMENT
- the feedback is mandatory)amendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
AMENDMENT_DECLINED
)Calling `GET /bookings/{bookingReference} 1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).AMENDMENT_DECLINED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).Back to Table of Content ⬆️
PATCH
request to cancel a booking amendment.202
(Accepted).
404
(Not Found) is returned if the carrierBookingReference
is not known.409
(Conflict) is returned if the Carrier is processing a booking request.CONFIRMED
or PENDING_AMENDMENT
).AMENDMENT_RECEIVED
).CONFIRMED
or PENDING_AMENDMENT
and before it is in AMENDMENT_CANCELLED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CONFIRMED
or PENDING_AMENDMENT
and before it is in AMENDMENT_CANCELLED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CONFIRMED
or PENDING_AMENDMENT
).AMENDMENT_CANCELLED
.booking
property) is included, also containing optional feedback connected to the confirmed booking (if the confirmed booking is in state PENDING_AMENDMENT
- the feedback is mandatory)amendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
AMENDMENT_CANCELLED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).AMENDMENT_CANCELLED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CONFIRMED
or PENDING_AMENDMENT
).AMENDMENT_RECEIVED
.booking
property) is included, also containing optional feedback connected to the confirmed booking (if the confirmed booking is in state PENDING_AMENDMENT
- the feedback is mandatory)amendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
AMENDMENT_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).AMENDMENT_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).Back to Table of Content ⬆️
DECLINED
.AMENDMENT_DECLINED
.booking
property) is included, also containing optional feedback connected to the confirmed bookingamendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
DECLINED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).404
(Not Found) as there is no amendment (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).Back to Table of Content ⬆️
CANCELLED
).booking
property) is included, also containing optional feedback (if the confirmed booking is in state PENDING_UPDATE
- the feedback is mandatory)INFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
CANCELLED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CANCELLED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.RECEIVED
, PENDING_UPDATE
or UPDATE_RECEIVED
).booking
property) is included, also containing optional feedback (if the confirmed booking is in state PENDING_UPDATE
- the feedback is mandatory)INFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
RECEIVED
, PENDING_UPDATE
or UPDATE_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_UPDATE
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).RECEIVED
, PENDING_UPDATE
or UPDATE_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.404
(Not Found) as no amendment exists before the booking is confirmed.Back to Table of Content ⬆️
COMPLETED
.booking
property) is included, also containing optional feedback connected to the confirmed bookingamendedBooking
property) is included, also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
COMPLETED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the completed booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).COMPLETED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).404
(Not Found) as there is no amendment (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).Back to Table of Content ⬆️
PATCH
request to cancel a confirmed booking.202
(Accepted).
404
(Not Found) is returned if the carrierBookingReference
is not known.409
(Conflict) is returned if the Carrier is processing a booking request.CONFIRMED
or PENDING_AMENDMENT
CONFIRMED
or PENDING_AMENDMENT
and before booking cancellation is in CANCELLATION_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CONFIRMED
or PENDING_AMENDMENT
and before booking cancellation is in CANCELLATION_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).404
(Not Found) as there is no amendment (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).CONFIRMED
or PENDING_AMENDMENT
).CANCELLATION_RECEIVED
.booking
property) is included, also containing optional feedback connected to the confirmed booking (if the confirmed booking is in state PENDING_AMENDMENT
- the feedback is mandatory)amendedBooking
property) is included (if it exists), also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
CANCELLATION_RECEIVED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
PENDING_AMENDMENT
- the feedback is mandatory)GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CANCELLATION_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).404
(Not Found) as there is no amendment (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).Back to Table of Content ⬆️
CANCELLED
.AMENDMENT_CANCELLED
.CANCELLATION_CONFIRMED
.booking
property) is included, also containing optional feedback connected to the confirmed bookingamendedBooking
property) is included (if it exists), also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
CANCELLATION_CONFIRMED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CANCELLATION_RECEIVED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).404
(Not Found) as there is no amendment (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).CONFIRMED
or PENDING_AMENDMENT
).CANCELLATION_DECLINED
.booking
property) is included, also containing optional feedback connected to the confirmed booking (if the confirmed booking is in state PENDING_AMENDMENT
- the feedback is mandatory)amendedBooking
property) is included (if it exists), also containing optional feedback connected to the amendmentINFO
feedback in the root but not within the booking, or the other way around).id
or previous notification id
can be reused.
CANCELLATION_DECLINED
)Calling GET /bookings/{bookingReference}
1
GET
request to retrieve the booking.200
(Ok) with the content of the confirmed booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).CANCELLATION_DECLINED
)Calling GET /bookings/{bookingReference}?amendedContent=true
1
GET
request with the amendedContent
query parameter set to true
to retrieve the amended booking.200
(Ok) with the content of the amended booking (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).
GET
requests MAY return different feedback (e.g. the Carrier MAY still be processing the booking asynchronously).404
(Not Found) as there is no amendment (or a 202
(Accepted) / 409
(Conflict) in case the Carrier is in the middle of processing the booking).Back to Table of Content ⬆️