Booking API::Booking API (Provider)

Header Image
Project:
Booking API (Provider) : Public abstract <<ArchiMate_ApplicationInterface>> ApplicationInterface
Created: 10/21/2024 6:10:46 PM
Modified: 1/9/2025 4:25:13 PM
Author: DCSA
Version: 2024.4
Project:
Advanced:
Booking (Implemented by provider)<br/><br/>It is possible to use the Booking API as a standalone API. In that case poll on the following endPoints:<br/><br/>GET /v2/bookings/{bookingReference}<br/><br/>in order to poll information about status changes.<br/><br/>Note: All /v2/bookings endPoints must be implmented by the provider.<br/>Notifications (Implemented by consumer)<br/><br/>It is possible to have notifications pushed to you whenever the provider needs input and/or a state change. The format of the notification is defined by the Booking Notification endPoint.<br/><br/>POST /v2/booking-notifications<br/><br/>The endPoints support both a Lightweight Notification and a Full State Transfer. How much data is sent via this Notification endPoint depends on what kind of Notification is being subscribed to.<br/><br/>Signing up for notifications is defined outside the scope of this API specification.<br/><br/>Note: This endPoint is to be implemented by the consumers of the Booking API in order to receive push events.<br/>
  • Operations
  • Associations From
  • Messages To
  • Messages From
  • Advanced
Operation
Public
POST Create a New Booking () : void
Details:
Notes: Creates a new booking request. This endPoint corresponds with UseCase 1 - Submit booking request.<br/><b>Precondition</b><br/>The consumer has information for a Booking Request<br/><b>Postcondition</b><br/>The provider has received the Booking Request.<br/>
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ]
Public
PUT Create Update a Booking () : void
Details:
Notes: <b>Updates the Booking </b><br/>Updates the Booking Request with the bookingReference. The path can contain either a carrierBookingRequestReference or a carrierBookingReference. Once a Booking has been CONFIRMED the carrierBookingReference MUST always be used. This endPoint corresponds with either<br/><br/><ul>
<li>    UseCase 3 - Submit updated Booking request</li><li>    UseCase 7 - Request amendments to confirmed Booking</li></ul>
<br/>This endPoint is to be used in response to<br/><br/><ul>
<li>    UseCase 2 - Request to update Booking request</li><li>    UseCase 6 - Request to amend confirmed Booking</li></ul>
<br/>the endPoint can also be used in case bookingStatus='RECEIVED' and the consumer has an update to the Booking Request.<br/>
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ]
Public
GET Booking () : void
Details:
Notes: Gets the Booking<br/>Retrieves the Booking Request with the bookingReference. The path can contain a carrierBookingRequestReference or a carrierBookingReference. Once the Booking is confirmed - it is only possible to use the carrierBookingReference. It is recommended to use this endPoint to GET data before an update is made to make sure latest version is being updated.<br/><br/>The default payload when calling this endPoint is the "original" Booking. It is also possible to get the latest amendment to a Booking called the Amended Booking. In order to get the Amended Booking, it is necessary to use the query parameter amendedContent and set it to true.<br/><br/>GET /v2/bookings/{bookingReference}?amendedContent=true<br/><br/>The status of the "original" Booking is included in both payloads as bookingStatus. amendedBookingStatus and related content is only available after the provider has approved the Booking via UseCase 5: Confirm Booking request and until:<br/><br/><ul>
<li>the provider requests for a new amendment (UseCase 6: Request to amend confirmed Booking) in which case the "old update" is no longer accessable.</li><li>the consumer submits a new amendment (UseCase 7: Request amendment to confirmed Booking) in which case the "new update" provided replaces the "old update".</li><li>the provider re-confirms the Booking (UseCase 5: Confirm booking request) in which case the "old update" is no longer accessable.</li></ul>
<br/>If amendedContent=true is requested but no amendment has yet been provided by the consumer or the state of the "original" Booking is PENDING AMENDMENT, then a 404 (Not Found) is returned.<br/><br/>If the provider is requesting changes to the Booking, the feedbacks object is used to inform the consumer what needs to change.<br/><br/>In case no subscription (Notification) has been set up - it is possible to use this endPoint to poll on in order to detect if bookingStatus and/or amendedBookingStatus has changed.<br/><br/>In case a previous request is being processed by the provider - a 202 (Accepted) with no payload can be used as a response until the processing is finished.<br/><br/>
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ]
Public
PATCH Cancel Booking or Amendment () : void
Details:
Notes: Cancels the Booking or cancels an Amendment <br/>A shipper initiated cancellation of the Booking or Booking Amendment with the bookingReference. The path can contain a carrierBookingRequestReference or a carrierBookingReference. Once the Booking is confirmed - it is only possible to use the carrierBookingReference.<br/><br/>This endPoint corresponds with UseCase 11 - Cancel Booking Request by shipper, UseCase 9 - Cancel amendment to confirmed Booking or UseCase 13 - Cancel confirmed Booking by shipper.<br/>
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ]
Element Source Role Target Role
«ArchiMate_ApplicationComponent» Carrier Internal System
ApplicationComponent «ArchiMate_Association»
Name:  
 
Name:  
 
Details:
 
«ArchiMate_ApplicationComponent» Shipper Internal System
ApplicationComponent «ArchiMate_Association»
Name:  
 
Name:  
 
Details:
 
Element Message
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
«ArchiMate_ApplicationComponent» Carrier Internal System  
Details:
Type: Sequence Asynchronous Call
 
Element Message
«ArchiMate_ApplicationComponent» Shipper Internal System PATCH Cancel Booking or Amendment()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System GET Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System POST Create a New Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System PATCH Cancel Booking or Amendment()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System GET Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System GET Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System PATCH Cancel Booking or Amendment()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System PUT Create Update a Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System GET Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System PATCH Cancel Booking or Amendment()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System PUT Create Update a Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System PUT Create Update a Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System GET Booking()
Details:
Type: Sequence Synchronous Call
 
«ArchiMate_ApplicationComponent» Shipper Internal System POST Create a New Booking()
Details:
Type: Sequence Synchronous Call
 
Property Value
_HideUmlLinks: True
_defaultDiagramType: ArchiMate3::Application
isFinalSpecialization: 0