Generic Parameter Types and Handling
Custom Supplier Parameters have been designed for generic handling. This means that in principle you do not need to implement specific code for each possible parameter, and when a new parameter is introduced you should not need to modify your code. In the cases of 'custom' and 'notice' types, these are not generic and each one must be handled in a special way. You should implement support for all parameters of type 'custom' or 'notice'. In principle, a supplier may change its functionality at any time to require a new non-generic parameter to be added and supported. These cases are very rare, but you should build your application in such a way that any unrecognised parameters are detected and the booking process halted - developers should be alerted in such cases as they will need to implement support for the parameter.
All these parameters should be supplied in a CustomSupplierParameterList, which can be supplied in the BookingProfile element at any stage of the search / booking process. Various other parameters can be supplied in the CustomSupplierParameterList that are not specified here as they will never appear in the RequiredParameterList since they are not designed for display to the user. The BookingProfile element is specified fully in the ProcessTerms Request specification.
There are 7 types of custom parameter and the type determines exactly how they should be handled:
Generic Parameter Examples
The following table contains some specific examples of the 'text', 'formatted_text' and 'value_select' parameters. Since these can be handled generically, there is no need to list them here, but they are supplied for customers who wish to implement their own custom handling of these parameters.
Note: The customer's applications must parse and display the values of the relevant CSPs to the user from ProcessDetails response to select and that the corresponding values of the CSPs (chosen option) can be submitted back in the ProcessTerms request - these include any free options included as part of the fare (for example, if a fare type includes Luggage, then the relevant CSP should still be submitted in order to ensure that the luggage is included).
Parameters With Type 'Custom'