All flight details must be checked, at each stage, by the client system and by the end traveller. TF does not take responsibility for any changes in details that are not noticed, since this can sometimes be caused by the supplier.
Multiple term requests should not be submitted for a particular session unless a data validation error is returned (necessitating a correction to the data and resubmission of therequest).
It is very important to handle the booking process as defined in these pages. We have also included a booking flow diagram to explain the process.
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 Credit Card Verification Handling Guide.
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 fails to respond, or 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). Please take careful note of the timeout and retry recommendations defined elsewhere in this specification. Please ask Travelfusion for more information if required.
For development purposes, a facility is provided for making 'fake' bookings. See the StartBooking request specifications 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. See the Credit Card Verification guide for advice about using the
In the StartBooking request, an Expected Price must be submitted. This should be the total price that your system believes is going to be charged. Travelfusion will confirm this is correct before proceeding with the booking. If it is not correct, a DataValidationError will be returned, containing the price that the Travelfusion system believes will be booked (see the JourneyPrice element below). At this point it is recommended that you do not complete the booking process and you investigate the problem immediately as it probably represents an error in your interpretation of Travelfusion's pricing information. However you may choose to display the 'JourneyPrice' to the user and allow them to resubmit the booking request if they are happy with this price. Travelfusion does not take responsibility for any business consequences of doing this without any investigation of the cause of the problem.
Example StartBooking request (note that in the ExpectedPrice element, only one Amount and Currency should be submitted. No other information such as tax or passenger breakdowns should be included):
Example StartBooking response (note the JourneyPrice element and the error attributes in the StartBooking element):
<StartBooking ecode="3-8039" etext="Booking expected price does not match the journey final price" edate="16/05/2011-12:15" millis="172">