Booking Handling
The ProcessTerms Request
The ProcessTerms request performs three main functions:
- The submission of any profile details not yet submitted
The extraction of any final information from the supplier's website, some of which can only be obtained with the full profile details (e.g. card charges)
The generation of a TRAVELfusion booking reference. A booking record is created in the TRAVELfusion database, with a unique TFBookingReference. All the details of the booking are stored even though the booking has not yet been executed. This TFBookingReference should be recorded by the customer before starting the booking.
The Booking Process
The 'StartBooking' request instructs the TRAVELfusion engine to begin the booking process.
Once this is submitted, the booking cannot be stopped.
The StartBooking request will respond immediately to confirm that the booking has been started. Whatever response is received, you should assume
that a booking may have been made - even if an error response is received or no response at all.
From then on, the CheckBooking request must be submitted every few seconds until the booking attempt is completed. See the
CheckBooking response specification for more details. If the booking does not complete
within a reasonable time (e.g. a few minutes), the customer should handle this booking as 'unconfirmed' (see table below).
Some merchants/ suppliers require credit/ debit cards to be verified by the card issuer
(E.g. 'Verified by Visa' or 'Mastercard Securecode'). This involves forwarding the customer to a URL operated by
the card issuer (visa/ mastercard etc). The user then enters a password on the card issuer's website and is then returned to a URL
of your choice. The mechanics of this process are explained in full in the Card Verification Handling Guide
Credit Card Verification
After Booking Completion...
Once the booking attempt is complete, the booking will have a number of possible statuses. The following table shows these statuses and the
action that should be taken. Note that if the TRAVELfusion system responds in any way other than with one of these statuses, this should be treated
as incomplete (and therefore 'CheckBooking' polling should continue as if the 'BookingInProgress' status had been returned).
| Status | Action |
|---|---|
| Succeeded | The traveller should be informed that the booking has succeeded and they should be presented with the supplier reference number (and optionally the TRAVELfusion reference number) |
| Failed | The traveller should be informed that the booking failed and the reason for failure should be displayed to them. They should then be given the opportunity to amend their details and try to make the booking again as the reason for failure may be related to the details they entered (e.g. card declined by supplier) |
| Unconfirmed | The traveller should be informed that their booking may or may not have been made and that they should wait to be updated by email or phone, and to contact customer support if they require further assistance. Meanwhile, the CheckBooking request should continue to be submitted at a reduced frequency (every few minutes). This should continue indefinitely until the status changes to either failed or succeeded. Once this occurs, the traveller must be contacted to inform them of the status of their booking. Ideally, the XML client customer will handle all such customer support. Your customer care team should contact TRAVELfusion if a booking remains 'unconfirmed' for an extended period of time. |
| UnconfirmedBySupplier | This should be handled in a similar way to 'Unconfirmed', except that there may be a supplier reference which may be presented to the traveller. |
'Fake' Bookings
For development purposes, a facility is provided for making 'fake' bookings. See the StartBooking request specification for more details. This can be used to simulate a real booking without actually billing a card. It is advisable to not use a real card number for fake bookings, although in theory it should be safe to do so.
About TRAVELfusion | Contact Our API Support Team | Latest API Change - 2nd January

