Please note that this is experimental and may be subject to change. With airline suppliers it is possible to put the booking on hold and finish the payment later via the Travelfusion XML API. This functionality is not currently available on all suppliers. However, for suppliers that do support it, the command and syntax of the requests and responses are almost identical to that of the normal booking flow. In order to indicate the Booking-On-Hold feature is available there is a special CustomSupplierParameter called BookingOnHold found in ProcessDetails response. Step 1: Retrieving booking-on-hold details.ProcessDetailsIf booking-on-hold is available for the selected result, then the BookingOnHold parameter will be found in the RequiredParameterList: Additionally, in the SupplierInfoList a remark will be found, showing the duration before this booking-on-hold expires: Step 2: Requesting booking-on-hold.ProcessTermsIn order to request booking-on-hold, the BookingOnHold parameter needs to be sent in the ProcessTerms request with the boolean value 'y' or 'true', in the similar way that other CustomSupplierParameter's are submitted: StartBooking and CheckBookingThe only difference is related to status. The successful holding booking process sets the booking status as 'BookingOnHold'. GetBookingDetailsIn the GetBookingDetails response, the holding expiration timestamp in UTC will be found in DateOfOnHoldExpiration element. The none successful holding booking process can set the booking status as 'Failed' or 'Unconfirmed' (more details can be found here). In this case of 'Failed', the booking is not created and put on-hold on the supplier side. In the case of 'Unconfirmed', TravelFusion needs to resolve the status and check if the booking can be set as 'BookingOnHold' or 'Failed'. Step 3: Confirming or cancelling booking-on-hold.CommitBookingIn order to commit the booking and proceed with the payment, the CommitBooking needs to be sent.The successful commit of the booking-on-hold process sets the booking status as 'Succeeded'. The BillingDetails needs to be the same as in the ProcessTerms request. The none successful commit process can set the booking status as 'Failed' or 'Unconfirmed' (more details can be found here). In this case of 'Failed', the booking remains on-hold or is not possible to be committed on the supplier side. In the case of 'Unconfirmed', TravelFusion needs to resolve the status and check if the booking can be set as 'Succeeded' or 'Failed'. StartBookingCancelPlane and CheckBookingCancelPlaneThis request will cancel bookings with status 'BookingOnHold' for which users do not wish to proceed with a commit or the booking-on-hold expired.The successful cancellation of the booking-on-hold process sets the booking status as 'CancelSucceeded'. The none successful cancellation process can set the booking status as 'CancelFailed' or 'CancelUnconfirmed'. In this case of 'CancelFailed', the booking remains on-hold or is not possible to be cancelled on the supplier side. In the case of 'CancelUnconfirmed', TravelFusion needs to resolve the status and check if the booking is 'CancelSucceeded' is or 'CancelFailed'. The booking-on-hold with the status 'CancelFailed' can still be committed or cancelled again if it is possible to do so. It is the responsibility of the user of the API to cancel these bookings because TravelFusion cannot guarantee that they will be automatically cancelled by the airline and also in order to release the seat. In all instances, Travelfusion will treat the status of 'BookingOnHold' attempts as successful, unless indicated otherwise. You may be required to send an email to Travelfusion (operations@travelfusion.com) with the list of bookings that had subsequently FAILED - i.e. where the offline settlement failed, or got cancelled. In such cases, Travelfusion will update its records on its booking admin pages as FAILED. To: “operations@travelfusion.com” Email Subject: “Failed On- hold Booking- [Supplier Name, e.g. “Mango”] - [Booking Reference, PNR]” Email Body: Dear Travelfusion Team, We ask you to please update the following on hold booking status to "FAILED" Supplier: [Supplier Name, e.g. “Mango”] Supplier Booking Reference: [Supplier Booking Reference, PNR] Travelfusion Booking Reference: [Travelfusion’s Booking Reference] Regards, |