Booking On Hold

Please note that this is experimental and maybe 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. There is a flag indicating the OnHold feature -CustomSupplierParameters(CSP): BookingOnHold.

Requests & Responses

ProcessDetails Response

You will only find the CSP 'BookingOnHold' under the RequiredParameterList if the specific booking attempt supports such a function:

RequiredParameterList XML example

<RequiredParameterList>
<RequiredParameter>
<Name>BookingOnHold</Name>
<Type>custom</Type>
<DisplayText>Request booking on hold (y/n) , Please note the booking would be expired in: 48 hours</DisplayText>
<PerPassenger>false</PerPassenger>
<IsOptional>true</IsOptional>
</RequiredParameter>
</RequiredParameterList>

ProcessTerms Request
If you want to place this booking on hold, set the value to 'y' and send it via the ProcessTermsRequest, similar to the way that other CSPs are submitted at ProcessTerms:

CustomSupplierParameterList XML example

<CustomSupplierParameterList>
<CustomSupplierParameter>
<Supplier>supplier name</Supplier>
<Name>BookingOnHold</Name>
<Value>y</Value>
</CustomSupplierParameter>
</CustomSupplierParameterList>

Check here to find more details on how to handle the Custom Supplier Parameters.
StartBooking/CheckBooking/GetBookingDetailsRemaining flow are the same as the normal booking flow, you are able to get the supplier PNR and confirmation email if your on hold request is succeeded.

StartBooking Request

This request is identical to the existing booking process.

CheckBooking Request

This request is identical to the existing booking process. If successful, the status of the booking in the response will be "BookingOnHold".

StartBookingCancelPlane Request

This request will cancel bookings on status "BookingOnHold" for which users do not wish to proceed with commit. 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.

CheckBookingCancelPlane Request

This request is identical to the existing cancellation booking process.

CommitBooking Request

There is an example of the commit booking request.

CommitBooking request XML example

<CommandList>
<CommitBooking>
<LoginId>****</LoginId>
<TFBookingReference>B1KL3B76P</TFBookingReference>
<BookingProfile>
<CustomSupplierParameterList> // optional, we might be required in case of b2b version of supplier in order to send credentials // in the similar way like for StartBookingCancelPlane
</CustomSupplierParameterList>
<BillingDetails>
<CreditCard> // the same like in ProcessTerms request
</CreditCard>
</BillingDetails>
</BookingProfile>
</CommitBooking>
</CommandList>

Notes
In all instances, Travelfusion will treat the status of 'on hold' 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. 

Below is a template of an email to send in such cases.

Email template

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,


Comments