The integration process MultipleFlightBookingCoordination coordinates the individual legs of a trip when booking a flight and a connecting flight.
The integration process splits the booking order into single booking orders for the individual legs of the trip. The single booking orders are sent to the respective airlines in parallel and the airlines respond with a positive or negative booking confirmation. If there is a positive booking confirmation for all legs of the trip, the integration process bundles the single confirmations into an overall booking confirmation and sends this to the travel agency. If one or more flights cannot be booked, the integration process sends a negative overall booking confirmation to the travel agency. In this case, flights that have already been booked are canceled with the respective airline. The individual flight bookings and the corresponding booking confirmation are linked by a correlation. The correlation is defined by the travel agency number and the booking order number.
The integration process is executed on the SAP System of the Integration Server.
To display the integration process in the Enterprise Services Repository, choose SAP BASIS → SAP BASIS <release number> in the namespace http://sap.com/xi/XI/Demo/Agency under MultipleFlightBookingCoordination.
The following table gives an overview of the individual steps in the integration process:
Step Type |
Step Name |
Description |
ReceiveMultipleBooking |
The integration process is started when the message MultipleBooking for booking the flight trip is received. |
|
SplitMultipleBookingOrder |
Splits the message for the flight trip and creates a booking message for each leg of the trip. The multiline container element BookingOrderList contains the list of booking messages for the various legs of the trip. |
|
SendParallel |
Enables the bookings to be sent and the corresponding confirmations to be received simultaneously. A block instance is created for each line of the multiline container element BookingOrderList. The correlation BookingConfirmation links the booking with the respective confirmation. The correlation is defined as a local correlation so that each instance of the ParForEach can process a separate instance of the correlation. |
|
SendSingleBookingToAirline |
Sends the bookings for the various legs of the trip to the relevant airlines. Activates the correlation BookingConfirmation. A separate correlation is activated for each booking message. |
|
IncreaseCount |
Counts the number of booking messages sent. |
|
ReceiveConfirmation |
Receives the confirmations. Uses the correlation BookingConfirmation, which was activated when the bookings were sent. |
|
CheckResult |
Checks the confirmation received. If the booking was successful, the confirmation message has the indicator B (booked) in the BookingStatus field. In this case, processing is continued in Branch 1. The Otherwise branch is created automatically. Since the whole process will be canceled if any one of the legs of the trip cannot be booked, no steps are required in this branch. |
|
IncrementSuccessCounter |
Counts the positive confirmations and therefore the number of legs of the trip that are booked. |
|
StoreConfirmation |
Adds the confirmations to the multiline container element ConfirmedList. |
|
AllConfirmationsReceived |
Checks whether the whole flight trip could be booked. If the number of sent messages (see step IncreaseCount) equals the number of positive confirmations (see step IncrementSuccessCounter), the flight trip can be booked and processing is continued in Branch 1. Otherwise, processing is continued in branch Otherwise. |
|
MergeSuccess |
Bundles all positive confirmation messages from the multiline container element ConfirmedList from the Note Confirmation step into an overall confirmation message. |
|
SendConfirmation |
Sends the overall confirmation message to the travel agency. |
|
CreateFailureNotification |
Creates a notification for the travel agency to inform it that the booking failed. The F (failure) indicator is set for the BookingStatus field. The mapping inserts the booking order number from the original overall booking into the notification message. |
|
SendConfirmation |
Sends the notification message to the travel agency. |
|
CancelBookedFlights |
Enables booked legs of the trip to be canceled simultaneously. An instance of the block is created for each line of the multiline container element ConfirmedList from the Note Confirmation step. |
|
CreateCancellationMessage |
Creates a cancelation message for a booked leg of the trip. The cancelation message contains the flight booking number from the confirmation from the airline and the airline ID. |
|
SendCancellation |
Sends the cancellations for the booked legs of the trip to the relevant airlines. |