<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PaxFaB – Reference</title><link>/reference/</link><description>Recent content in Reference on PaxFaB</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>Reference: API change management</title><link>/reference/api_change_management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/api_change_management/</guid><description>
&lt;p>PaxFaB is &lt;strong>not&lt;/strong> a versioned API. Instead API changes are classified as either Minor, Major Optional, or Major Mandatory; and the corresponding policy followed.&lt;/p>
&lt;h2 id="minor">Minor&lt;/h2>
&lt;p>For minor changes no development work should be required by you &lt;strong>as long as&lt;/strong> your integration adheres to Paxport’s guidance and gracefully accepts minor changes (see later &amp;ldquo;Minor vs Major&amp;rdquo; section for definition). Though you may wish to make changes to take advantage of the new features included in the minor change.&lt;/p>
&lt;h2 id="major---optional">Major - optional&lt;/h2>
&lt;p>Optional major changes will almost certainly require you to make development changes &lt;strong>if&lt;/strong> the new functionality is enabled for you.&lt;/p>
&lt;p>These changes are referred to as optional because they will be feature gated/switched on the PaxFaB backend then either:&lt;/p>
&lt;ul>
&lt;li>disabled by default for pre-existing API users&lt;/li>
&lt;li>or enabled by default but you will be notified of the option to disable pre-release&lt;/li>
&lt;/ul>
&lt;h2 id="major---mandatory">Major - mandatory&lt;/h2>
&lt;p>Mandatory major changes will almost certainly require you to make development changes by a deadline. If you fail to make any necessary changes &lt;strong>you will be unable to continue using PaxFab once the deadline is reached&lt;/strong>.&lt;/p>
&lt;p>Mandatory major changes are rare on the PaxFab API and deadlines are devised through customer consultation. The typical deadline would be 12 months.&lt;/p>
&lt;h2 id="notifications">Notifications&lt;/h2>
&lt;p>Emails will be sent out for all &amp;ldquo;Major Mandatory&amp;rdquo; release events and for most &amp;ldquo;Major Optional&amp;rdquo; release events. It is therefore important that you keep your release contacts up to date with Paxport Customer Services.&lt;/p>
&lt;h2 id="minor-vs-major">Minor vs Major&lt;/h2>
&lt;p>We consider the following Paxport initiated changes to be minor:&lt;/p>
&lt;ul>
&lt;li>Adding new API endpoints/messages
&lt;ul>
&lt;li>As long as they don’t result in a mandatory change to an existing flow.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Adding new response fields&lt;/li>
&lt;li>Adding new optional request fields&lt;/li>
&lt;li>Making an optional response field mandatory&lt;/li>
&lt;li>Making a mandatory request field optional&lt;/li>
&lt;li>Reordering of response fields for XML elements and attributes
&lt;ul>
&lt;li>Unless an order has previously been explicitly defined in written documentation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Changing the contents of any field as long as it stays within the limits of the API specification.&lt;/li>
&lt;/ul>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
Paxport retains the right to break the change management policy in case of extraordinary circumstances. For example security, legal, or regulatory issues.
&lt;/div></description></item><item><title>Reference: XSDs</title><link>/reference/xsds/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/xsds/</guid><description>
&lt;p>FAB &lt;a href="https://en.wikipedia.org/wiki/XML_Schema_(W3C)">XSD&lt;/a> files&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_SimpleTypes.xsd">FAB_SimpleTypes.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_CommonTypes.xsd">FAB_CommonTypes.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_FormattedContent.xsd">FAB_FormattedContent.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_PkgAvailRQ.xsd">FAB_PkgAvailRQ.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_PkgAvailRS.xsd">FAB_PkgAvailRS.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_BasketRQ.xsd">FAB_BasketRQ.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_BasketRS.xsd">FAB_BasketRS.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_InfoRQ.xsd">FAB_InfoRQ.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_InfoRS.xsd">FAB_InfoRS.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_ControlRQ.xsd">FAB_ControlRQ.xsd&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://storage.googleapis.com/fab-api-schemas-public/FAB_ControlRS.xsd">FAB_ControlRS.xsd&lt;/a>&lt;/p></description></item><item><title>Reference: FABRequestResponse</title><link>/reference/fabrequestresponse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fabrequestresponse/</guid><description>
&lt;p>Each request message or response message from FAB is an example of a FABRequestResponse object and as such has the following structure:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>@Target&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>test&lt;/code> or &lt;code>production&lt;/code>&lt;/td>
&lt;td>Controls which FAB system is used. Bookings against &amp;ldquo;test&amp;rdquo; are not real.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@Version&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Must be set to &lt;code>2002A&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SyndicatorInfo@SyndicatorId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String of syndicatorId&lt;/td>
&lt;td>Used for authN/authZ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SyndicatorInfo@SyndicatorPassword&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String of syndicator password&lt;/td>
&lt;td>Used for authN/authZ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SessionInfo@CreateNewSession&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>true&lt;/code> or &lt;code>false&lt;/code>&lt;/td>
&lt;td>Controls whether to create a new FAB session, see API concepts section on sessions.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SessionInfo@FABSessionId&lt;/code>&lt;/td>
&lt;td>Yes for all responses. Yes for requests if continuing a session.&lt;/td>
&lt;td>String&lt;/td>
&lt;td>See API concepts section on sessions&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ConsumersContext@Reference&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>consisting of any string that the syndicator wishes to attach to this request/response.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ConsumersContext/Parameter[*]@Name&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Key pair value variation of Reference&lt;/td>
&lt;td>Element can be repeated up to a total of 10&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ConsumersContext/Parameter[*]@Value&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Key pair value variation of Reference&lt;/td>
&lt;td>Element can be repeated up to a total of 10&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Warnings&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of &lt;code>Warning&lt;/code> that are relevant to current request or response&lt;/td>
&lt;td>Note that for FAB_BasketRS warnings may also be set a level down so check both locations, &lt;a href="/reference/fab_basketrs/">see FAB__BasketRS&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Warnings/Warning[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Warning text&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Errors&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of &lt;code>Error&lt;/code> that are relevant to current request or response&lt;/td>
&lt;td>Note that for FAB_BasketRS errors may also be set a level down so check both locations, &lt;a href="/reference/fab_basketrs/">see FAB_BasketRS&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Errors/Error[*]@ErrorText&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Error&lt;/code> element is being set&lt;/td>
&lt;td>a generic human readable description of the error&lt;/td>
&lt;td>Likely not appropriate to expose to consumers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Errors/Error[*]@ErrorCode&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Error&lt;/code> element is being set&lt;/td>
&lt;td>string error code&lt;/td>
&lt;td>&lt;a href="/reference/errorcodes/">see Error Codes&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ConfigOverride@NormalisationCurrency&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>ISO 4217 alphabetic currency that response prices should be normalised (converted) to&lt;/td>
&lt;td>Should be used consistently throughout all stages of a journey&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>CurrencyConversionRates&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains a list of &lt;code>Rate&lt;/code> that can be used for currency conversion in place of spot rate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>CurrencyConversionRates/Rate[*]@FromCurrency&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Rate&lt;/code> element is being set&lt;/td>
&lt;td>ISO 4217 alphabetic currency. From currency for rate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>CurrencyConversionRates/Rate[*]@ToCurrency&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Rate&lt;/code> element is being set&lt;/td>
&lt;td>ISO 4217 alphabetic currency. To currency for rate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>CurrencyConversionRates/Rate[*]@Rate&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Rate&lt;/code> element is being set&lt;/td>
&lt;td>Float greater than zero. Rate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Languages&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of Language codes in priority order descending. Indicates preferred content language. &lt;br/>&lt;br/>If unset or none of the listed languages are supported by the supplier then English (&lt;code>EN&lt;/code>) will be used.&lt;/td>
&lt;td>Also see &lt;a href="/examples-features/language-preferences/">example page for this feature&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Languages/Language[*]&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Languages&lt;/code> element is being set&lt;/td>
&lt;td>ISO 639-1 two letter language code, e.g &lt;code>EN&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FABSearchRequest</title><link>/reference/fabsearchrequest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fabsearchrequest/</guid><description>
&lt;p>&lt;a href="/reference/fab_pkgavailrq/">FAB_PkgAvailRQ&lt;/a> is an example of a FABSearchRequest type.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>ResultSetPreferences&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Limit and sort the result set&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetPreferences@SortCode&lt;/code>&lt;/td>
&lt;td>No, default &lt;code>cost&lt;/code>&lt;/td>
&lt;td>&lt;code>none&lt;/code> or &lt;code>cost&lt;/code>. Sort result set&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetPreferences@SortAscending&lt;/code>&lt;/td>
&lt;td>No, default true&lt;/td>
&lt;td>Boolean, if true then sort ascending&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetPreferences@MaxItems&lt;/code>&lt;/td>
&lt;td>No, default 300&lt;/td>
&lt;td>Integer limit of max number of results to return&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>InitialViewInfo&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>InitialViewInfo@Offset&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Advisable to leave unset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>InitialViewInfo@Length&lt;/code>&lt;/td>
&lt;td>No, default 50&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Advisable to always set equal to &lt;code>ResultSetPreferences@MaxItems&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ResponseTimeoutSecs&lt;/code>&lt;/td>
&lt;td>No, has default of 30&lt;/td>
&lt;td>Non negative integer&lt;/td>
&lt;td>FAB will attempt to abort and return early if this timeout is reached. Advisable to set no lower than 3 seconds. Generally set to the maximum time your consumer or operator is willing to wait for a response (with some margin for your own processing).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ExcludeNonBookableSuppliers&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true exclude results that are not bookable in FAB&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FABSearchResponse</title><link>/reference/fabsearchresponse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fabsearchresponse/</guid><description>
&lt;p>&lt;a href="/reference/fab_pkgavailrs/">FAB_PkgAvailRS&lt;/a> is an example of a FABSearchResponse type.&lt;/p>
&lt;p>Any &lt;a href="/reference/fabsearchrequest/">FABSearchRequest&lt;/a> type will result in a FABSearchResponse.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>@Success&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Boolean indicating if search was successful&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetInfo@SortCode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Indicates how result set was sorted&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetInfo@SortAscending&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetInfo@MaxItems&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ResultSetInfo@NumItems&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>How many results have been returned&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ViewInfo@Offset&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ViewInfo@Length&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FAB_PkgAvailRQ</title><link>/reference/fab_pkgavailrq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fab_pkgavailrq/</guid><description>
&lt;p>A FAB_PkgAvailRQ message will result in a FAB_PkgAvailRS response message that will show holiday availability information. Each FAB_PkgAvailRQ must contain a HolidaySearchRequest.&lt;/p>
&lt;h3 id="holidaysearchrequest">HolidaySearchRequest&lt;/h3>
&lt;p>HolidaySearchRequest is an example of a &lt;a href="/reference/fabsearchrequest/">FABSearchRequest&lt;/a>&lt;/p>
&lt;p>It has the following additional structure:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@FlightOnly&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then search is for flights, if false then search is for packages&lt;/td>
&lt;td>Always set this to true&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@OneWayOnly&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then search is for one way flights, if false then search is for return flights&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@NumberOfAdults&lt;/code>&lt;/td>
&lt;td>No, default 1&lt;/td>
&lt;td>Number of adults in party&lt;/td>
&lt;td>An adult is aged 16 years or older at datetime of final flight.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@NumberOfYouths&lt;/code>&lt;/td>
&lt;td>No, default 0&lt;/td>
&lt;td>Number of youths in party&lt;/td>
&lt;td>A youth is aged 12 years or older but less than 16 years old at datetime of final flight.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@NumberOfChildren&lt;/code>&lt;/td>
&lt;td>No, default 0&lt;/td>
&lt;td>Number of children in party&lt;/td>
&lt;td>A child is aged 2 years or older but less than 12 years old at datetime of final flight.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@NumberOfInfants&lt;/code>&lt;/td>
&lt;td>No, default 0&lt;/td>
&lt;td>Number of infants in party&lt;/td>
&lt;td>An infant is less than 2 years old at datetime of final flight.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria@IncludeITFares&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean if true FAB will attempt to include IT Fares in the result set&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/DepartureDateRange@StartDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd start date of departure date range&lt;/td>
&lt;td>For a range greater than 7 contact your Account Manager about our PaxCache product&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/DepartureDateRange@EndDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd end date of departure date range&lt;/td>
&lt;td>For a range greater than 7 contact your Account Manager about our PaxCache product&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/HolidayDuration@MinNumberOfNights&lt;/code>&lt;/td>
&lt;td>Yes for a return search&lt;/td>
&lt;td>Integer greater than zero&lt;/td>
&lt;td>Must equal &lt;code>MaxNumberOfNights&lt;/code>. For duration ranged searches talk to your Paxport Account Manager about our PaxCache product. Simple calculation between departure date and return departure date, no consideration of time.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/HolidayDuration@MaxNumberOfNights&lt;/code>&lt;/td>
&lt;td>Yes for a return search&lt;/td>
&lt;td>Integer greater than zero&lt;/td>
&lt;td>Must equal &lt;code>MinNumberOfNights&lt;/code>. For duration ranged searches talk to your Paxport Account Manager about our PaxCache product. Simple calculation between departure date and return departure date, no consideration of time.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/TimePreferences&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Optionally limit results based on departure/arrival times&lt;/td>
&lt;td>Default leeway applied to each of +/- 60 minutes, this can be adjusted by Paxport Customer Service Team.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/TimePreferences@OutboundDepartureTime&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>HHmm&lt;/code>&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/TimePreferences@OutboundArrivalTime&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>HHmm&lt;/code>&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/TimePreferences@HomeboundDepartureTime&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>HHmm&lt;/code>&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/TimePreferences@HomeboundArrivalTime&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>HHmm&lt;/code>&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/FlightPreferences@DirectFlightsOnly&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then limit results to direct flights only&lt;/td>
&lt;td>A direct flight can include technical landings, this behaviour can be changed by Paxport Customer Service Team&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/FlightPreferences@CabinClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Limit results to one of the following cabin classes: &lt;code>economy&lt;/code> &lt;code>premium&lt;/code> &lt;code>business&lt;/code> &lt;code>first&lt;/code>&lt;/td>
&lt;td>If unset FAB will attempt to return all cabin classes. &lt;strong>Note&lt;/strong> that for some suppliers only one cabin class can be searched at a time, with &lt;code>economy&lt;/code> being the default.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/FlightPreferences@Carrier&lt;/code>&lt;/td>
&lt;td>No, default no limit&lt;/td>
&lt;td>Limit results to flights that are marketed and operated by this carrier (code)&lt;/td>
&lt;td>ICAO or IATA code, depending on supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/DepartureAirports&lt;/code>&lt;/td>
&lt;td>Yes, unless search uses &lt;code>SpecificRouteFlightSearchList&lt;/code>&lt;/td>
&lt;td>List of &lt;code>Airport&lt;/code> to depart from&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/DepartureAirports/Airport[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>IATA airport code&lt;/td>
&lt;td>IATA city codes are supported as long as they are unique; city codes that also refer to a specific airport are not supported&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/DestinationChoice/DestinationAirports&lt;/code>&lt;/td>
&lt;td>Yes, unless search uses &lt;code>SpecificRouteFlightSearchList&lt;/code>&lt;/td>
&lt;td>List of &lt;code>Airport&lt;/code> to arrive at&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/DestinationChoice/DestinationAirports/Airport[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>IATA airport code&lt;/td>
&lt;td>IATA city codes are supported as long as they are unique; city codes that also refer to a specific airport are not supported&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/Suppliers&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains one or &lt;code>Supplier&lt;/code> elements&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/Suppliers/Supplier[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains FAB supplier code&lt;/td>
&lt;td>Limiting your search to specific suppliers may improve performance&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/ExcludeSuppliers&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains one or &lt;code>Supplier&lt;/code> elements&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/ExcludeSuppliers/Supplier[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains FAB supplier code&lt;/td>
&lt;td>Limiting your search to exclude specific suppliers may improve performance&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/AdultAge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Integer age in years of adult at datetime of final flight, element can be repeated as a list&lt;/td>
&lt;td>Set if known as this may improve price accuracy&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/YouthAge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Integer age in years of youth at datetime of final flight, element can be repeated as a list&lt;/td>
&lt;td>Set if known as this may improve price accuracy&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/ChildAge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Integer age in years of child at datetime of final flight, element can be repeated as a list&lt;/td>
&lt;td>Set if known as this may improve price accuracy&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/CostConstraints&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Limit results to a cost range&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/CostConstraints@MaxPerPersonCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Max cost per person&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/CostConstraints@MinPerPersonCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Min cost per person&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/CostConstraints@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/SpecificRouteFlightSearchList&lt;/code>&lt;/td>
&lt;td>Yes, unless search uses &lt;code>DepartureAirports&lt;/code> and &lt;code>DestinationAirports&lt;/code>&lt;/td>
&lt;td>List of SpecificRouteFlightSearch, for making Open Jaw searches&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/SpecificRouteFlightSearchList/SpecificRouteFlightSearch[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Contains exactly two &lt;code>TravelPointPair&lt;/code> to describe one Open Jaw trip&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/SpecificRouteFlightSearchList/SpecificRouteFlightSearch[*]/TravelPointPair[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Exactly two per &lt;code>SpecificRouteFlightSearch&lt;/code>, one per segment of a trip&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/SpecificRouteFlightSearchList/SpecificRouteFlightSearch[*]/TravelPointPair[*]@DeparturePoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Departure point of segment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>SearchCriteria/SpecificRouteFlightSearchList/SpecificRouteFlightSearch[*]/TravelPointPair[*]@ArrivalPoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Arrival point of segment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FAB_PkgAvailRS</title><link>/reference/fab_pkgavailrs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fab_pkgavailrs/</guid><description>
&lt;p>FAB_PkgAvailRS is an example of a &lt;a href="/reference/fabrequestresponse/">FABRequestResponse&lt;/a>. Additionally it contains the HolidaySearchResponse element, which is an example of a &lt;a href="/reference/fabsearchresponse/">FABSearchResponse&lt;/a>. The HolidaySearchResponse also includes:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays&lt;/code>&lt;/td>
&lt;td>Yes if results are present&lt;/td>
&lt;td>List of &lt;code>PackageHolidays&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@ItineraryId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String&lt;/td>
&lt;td>Required for later basket request. Contains encoded ampersand. Length and structure is not fixed.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB supplier code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@Country&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>ISO 3166-1 alpha-2 code of destination country&lt;/td>
&lt;td>Due to limited coverage it is advisable to not rely on this attribute&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@NumberOfNights&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>Non negative integer.&lt;/td>
&lt;td>Simple calculation between departure date and return departure date, no consideration of time.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@LeadInPricePerPassenger&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Adult lead in price&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@YouthPrice&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Youth lead in price&lt;/td>
&lt;td>Enabled via backend config; contact support. Attribute will be missing if no youths were searched for. Attribute may be missing if value is unknown; e.g if supplier does not provide it at search.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@ChildPrice&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Child lead in price&lt;/td>
&lt;td>Enabled via backend config; contact support. Attribute will be missing if no children were searched for. Attribute may be missing if value is unknown; e.g if supplier does not provide it at search.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@InfantPrice&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Infant lead in price&lt;/td>
&lt;td>Enabled via backend config; contact support. Attribute will be missing if no infants were searched for. Attribute may be missing if value is unknown; e.g if supplier does not provide it at search.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@FlightOnly&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>true&lt;/code> indicates trip is a flight. &lt;code>false&lt;/code> indicates package.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@OneWayOnly&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean that indicates if trip is oneway or return&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@BookableByFAB&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean that indicates if FAB can book this trip&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of provided prices&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@BookingChannel&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Advised to ignore&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@PassengerIdRequired&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then ID information must be provided to the supplier before departure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@PassengerIdMandatory&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then ID information must be provided to the supplier before booking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@NationalityRequired&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>&lt;code>true&lt;/code> or &lt;code>false&lt;/code>, if true then nationality information must be provided to the supplier before departure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@NationalityMandatory&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>&lt;code>true&lt;/code> or &lt;code>false&lt;/code>, if true then &lt;code>Nationality&lt;/code> attribute must be set for each passenger before booking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday@LastTicketTimestamp&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>yyyyMMdd HHmm&lt;/code> UTC timestamp for deadline to ticket fare by&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OriginAirport&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@DestinationAirport&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@HomeboundDeparturePoint&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>IATA code&lt;/td>
&lt;td>Only set for Open Jaw trips&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@HomeboundArrivalPoint&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>IATA code&lt;/td>
&lt;td>Only set for Open Jaw trips&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@DepartureDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@DepartureTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnHomeDate&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnHomeTime&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnHomeDepartDate&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnHomeDepartTime&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ArrivalDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ArrivalTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>In local time of airport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundFlightNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Outbound flight number, prefixed with marketing carrier code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnFlightNumber&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>Return flight number, prefixed with marketing carrier code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundFlightBasePrice&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Outbound adult price for fare + taxes&lt;/td>
&lt;td>For some older supplier integrations this may exclude tax, contact Customer Service for more information&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnFlightBasePrice&lt;/code>&lt;/td>
&lt;td>Yes for a return trip&lt;/td>
&lt;td>Return adult price for fare + taxes&lt;/td>
&lt;td>For some older supplier integrations this may exclude tax, contact Customer Service for more information&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Outbound operating carrier code of first leg&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Return operating carrier code of first leg&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@MarketingCarrier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Outbound marketing carrier code of first leg&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundMarketingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Marketing outbound carrier code&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@InboundMarketingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Marketing indbound carrier code&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@FareClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates the fare class of the first outbound leg&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundFlightClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates the fare class of the first outbound leg&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnFlightClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates the fare class of the first inbound leg&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundStopPoints&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>IATA code of any technical stops that are part of the outbound flight&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnStopPoints&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>IATA code of any technical stops that are part of the return flight&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundAirlineName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Outbound operating carrier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnAirlineName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Return operating carrier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OriginAirportName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Origin airport name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@DestinationAirportName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Destination airport name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@FareType&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Published&lt;/code> &lt;code>Private&lt;/code> &lt;code>NoFrills&lt;/code> &lt;code>NegoCorporate&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundCabinClass&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>ECONOMY&lt;/code> &lt;code>PREMIUM&lt;/code> &lt;code>BUSINESS&lt;/code> &lt;code>FIRST&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnCabinClass&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>ECONOMY&lt;/code> &lt;code>PREMIUM&lt;/code> &lt;code>BUSINESS&lt;/code> &lt;code>FIRST&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundJourneyMins&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>total outbound journey duration in minutes&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnJourneyMins&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>total return journey duration in minutes&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@OutboundNumStops&lt;/code>&lt;/td>
&lt;td>No, default zero&lt;/td>
&lt;td>the total number of stops on the outbound journey&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ReturnNumStops&lt;/code>&lt;/td>
&lt;td>No, default zero&lt;/td>
&lt;td>the total number of stops on the return journey&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@ITFare&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if this flight result is an IT (Inclusive Tour) fare and therefore should only be used when using the flight as part of an “inclusive package”.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@CAT35Fare&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if this flight result is a CAT35 fare&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@MultiLegOutboundFlight&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if the outbound flight consists of multiple legs&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@MultiLegReturnFlight&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if the return flight consists of multiple legs&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight@DisconnectedFlights&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then trip is Open Jaw&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundBaggageAllowance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates included baggage allowance&lt;/td>
&lt;td>Only supported by select suppliers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundBaggageAllowance@Per&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Passenger&lt;/code> or &lt;code>Adult&lt;/code> or &lt;code>Youth&lt;/code> or &lt;code>Child&lt;/code> or &lt;code>Infant&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundBaggageAllowance@Unit&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Piece&lt;/code> or &lt;code>kg&lt;/code> or &lt;code>lb&lt;/code> or &lt;code>Unknown&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundBaggageAllowance@Quantity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Integer&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundBaggageAllowance@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Hold&lt;/code> or &lt;code>Hand&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/HomeboundBaggageAllowance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Same structure as &lt;code>OutboundBaggageAllowance&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>If segment is multileg/indirect one or more subsegments/legs will be listed&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@DeparturePoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@DepartureDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@DepartureTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@ArrivalPoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@ArrivalDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@ArrivalTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@OperatingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Operating carrier code of leg&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@MarketingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Marketing carrier code of leg&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@OperatedBy&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Operating carrier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@FlightNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Flight number, prefixed with marketing carrier code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@OriginAirportName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@DestinationAirportName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@FlightClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates the fare class of the leg&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]@JourneyMins&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>journey duration in minutes of the leg&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/OutboundSubSegments[*]/BaggageAllowance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Same structure as &lt;code>OutboundBaggageAllowance&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/HomeboundSubSegments[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Same structure as &lt;code>OutboundSubSegments&lt;/code>, only set if inbound segment is a multileg&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains additional flight details&lt;/td>
&lt;td>Generally only populated for MIX trips.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@Direction&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>outbound&lt;/code> or &lt;code>inbound&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB Supplier Code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@MarketingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Marketing carrier code of first leg&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@FareType&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>Published&lt;/code> &lt;code>Private&lt;/code> &lt;code>NoFrills&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@FareClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Generally a single letter indicating the fare class&lt;/td>
&lt;td>Sometimes delimited with a `&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@ITFare&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if this flight is an IT (Inclusive Tour) fare and therefore should only be used when using the flight as part of an “inclusive package”.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]@CAT35Fare&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if this flight is a CAT35 fare&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]/CostDetails&lt;/code>&lt;/td>
&lt;td>No, only populated where enabled and supported&lt;/td>
&lt;td>Contains a richer breakdown of the flight costs&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]/CostDetails/Charge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>A charge or cost detail&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]/CostDetails/Charge[*]@Amount&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>The charge amount i.e cost&lt;/td>
&lt;td>Will be per passenger&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]/CostDetails/Charge[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>Amount&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]/CostDetails/Charge[*]@PaxType&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates which passenger type the charge/cost applies to; &lt;code>Adult&lt;/code> or &lt;code>Youth&lt;/code> or &lt;code>Child&lt;/code> or &lt;code>Infant&lt;/code>.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/FlightJourneyDetails[*]/CostDetails/Charge[*]@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Type of charge; &lt;code>Fare&lt;/code> or &lt;code>SuppsTaxes&lt;/code> or &lt;code>Baggage&lt;/code> or &lt;code>EstimatedPaymentCardCharge&lt;/code> or &lt;code>SupplierBookingFee&lt;/code>&lt;/td>
&lt;td>&lt;code>Fare&lt;/code> may include tax/discounts/fees if discrete values are not known&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/BookingCharges&lt;/code>&lt;/td>
&lt;td>No, only populated where enabled and supported&lt;/td>
&lt;td>Contains a richer breakdown of the booking costs&lt;/td>
&lt;td>Similar to &lt;code>CostDetails&lt;/code> but for &lt;code>Charges&lt;/code> that apply to the whole flight booking&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/BookingCharges/Charge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>A charge or cost detail&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/BookingCharges/Charge[*]@Amount&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>The charge amount i.e cost&lt;/td>
&lt;td>Will be per booking&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/BookingCharges/Charge[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>Amount&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>/PackageHolidays/PackageHoliday[*]/Flight/BookingCharges/Charge[*]@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Type of charge; &lt;code>Fare&lt;/code> or &lt;code>SuppsTaxes&lt;/code> or &lt;code>Baggage&lt;/code> or &lt;code>EstimatedPaymentCardCharge&lt;/code> or &lt;code>SupplierBookingFee&lt;/code>&lt;/td>
&lt;td>&lt;code>Fare&lt;/code> may include tax/discounts/fees if discrete values are not known&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FAB_BasketRQ</title><link>/reference/fab_basketrq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fab_basketrq/</guid><description>
&lt;p>Once an itinerary has been chosen by the end user, it can be booked by creating a FAB Basket. The FAB_BasketRQ is an example of a &lt;a href="/reference/fabrequestresponse/">FABRequestResponse&lt;/a> but also requires one of the following:&lt;/p>
&lt;h3 id="createbasketrequest">CreateBasketRequest&lt;/h3>
&lt;p>In order to start the booking process a CreateBasketRequest is required. It must contain the Itinerary that will eventually be booked. A CreateBasketRequest will return with a response only once the TargetBookingStage has been reached except if more information is required to reach the target stage or if the ResponseTimeoutSecs has been reached.&lt;/p>
&lt;p>CreateBasketRequest structure:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>@ResponseTimeoutSecs&lt;/code>&lt;/td>
&lt;td>No, has default of 0&lt;/td>
&lt;td>Non negative integer. If timeout is reached FAB will return the basket even if processing is not complete (so basket is still &amp;ldquo;active&amp;rdquo;).&lt;/td>
&lt;td>FAB will continue to process in the background. Advisable to set no lower than 5 seconds. Generally set to the maximum time your consumer or operator is willing to wait for a response (with some margin for your own processing).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@TargetBookingStage&lt;/code>&lt;/td>
&lt;td>No, default &lt;code>confirmed_costing&lt;/code>&lt;/td>
&lt;td>&lt;code>passenger_details&lt;/code> or &lt;code>confirmed_costing&lt;/code>&lt;/td>
&lt;td>Can generally be left unset. If set to &lt;code>confirmed_costing&lt;/code> (default) but &lt;code>PassengerDetails&lt;/code> have not been provided then FAB will automatically stop at &lt;code>passenger_details&lt;/code> stage instead.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ReplaceExistingBasket&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>must be set to true if a Basket already exists in the current user session.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>List of &lt;code>ComponentIdentity&lt;/code> to basket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ComponentIdentity@Identity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String of component identity taken from search response. For flights this is the &lt;code>ItineraryId&lt;/code>&lt;/td>
&lt;td>Ampersand must be correctly encoded&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of OptionalExtras to add/remove to the basket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>An OptionalExtra to add/remove to the basket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Code&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>From &lt;code>OptionalExtra@Code&lt;/code> &lt;a href="/reference/fab_basketrs/">FAB_BasketRS&lt;/a>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB supplier code of OptionalExtra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Quantity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Less than or equal to &lt;code>OptionalExtra@QuantityAvailable&lt;/code>&lt;/td>
&lt;td>Sometimes set to zero to remove an automatically selected optional extra.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Direction&lt;/code>&lt;/td>
&lt;td>Yes, if set on the respective extra in FAB_BasketRS&lt;/td>
&lt;td>From &lt;code>OptionalExtra@Direction&lt;/code> &lt;a href="/reference/fab_basketrs/">FAB_BasketRS&lt;/a>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PartyInfo@NumberOfAdults&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Number of adults in party&lt;/td>
&lt;td>Aged 16 years or older at datetime of itinerary, or for a return flight trip; at datetime of final flight. Note that this differs from &lt;code>FAB_PkgAvailRQ&lt;/code>, hence YoungPersonAge is mandatory.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PartyInfo@NumberOfInfants&lt;/code>&lt;/td>
&lt;td>Yes if infants are present&lt;/td>
&lt;td>Number of infants in party&lt;/td>
&lt;td>An infant is less than 2 years at datetime of itinerary, or for a return flight trip; at datetime of final flight.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PartyInfo/YoungPersonAge[*]&lt;/code>&lt;/td>
&lt;td>Yes if young person is present&lt;/td>
&lt;td>List of ages of every young person in the party&lt;/td>
&lt;td>A young person is aged 2 years or older but less than 16 years old at datetime of itinerary or, for a return flight trip, at datetime of final flight. Excludes party members that have been counted by &lt;code>NumberOfAdults&lt;/code> or &lt;code>NumberOfInfants&lt;/code>. Can be approximate but this may cause price changes if it deviates greatly from later &lt;code>@DOB&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails&lt;/code>&lt;/td>
&lt;td>No, but must be provided before booking&lt;/td>
&lt;td>List containing exactly one &lt;code>LeadCustomer&lt;/code> and zero or more &lt;code>Customer&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@Gender&lt;/code>&lt;/td>
&lt;td>No unless Title is non-gendered (Inf/Dr/Prof/Rev), but highly advised to always set.&lt;/td>
&lt;td>&lt;code>Male&lt;/code> or &lt;code>Female&lt;/code>&lt;/td>
&lt;td>If gender is set but does not match the title (e.g Male Miss) then unexpected behaviour may occur.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@Nationality&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>NationalityMandatory=&amp;quot;true&amp;quot;&lt;/code> or &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>ISO 3166-1 alpha-2&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@Firstname&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@Surname&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@DOB&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Date of birth, yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@Title&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Inf&lt;/code> &lt;code>Master&lt;/code> &lt;code>Miss&lt;/code> &lt;code>Ms&lt;/code> &lt;code>Mrs&lt;/code> &lt;code>Mr&lt;/code> &lt;code>Dr&lt;/code> &lt;code>Prof&lt;/code> &lt;code>Rev&lt;/code>&lt;/td>
&lt;td>Non-gendered titles (Inf/Dr/Prof/Rev) can only be used if the Gender attribute is set&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@MiddleInitials&lt;/code>&lt;/td>
&lt;td>Yes, if passenger has middle name(s)&lt;/td>
&lt;td>Middle name(s) of passenger&lt;/td>
&lt;td>&lt;strong>Note&lt;/strong> attribute&amp;rsquo;s reference to &amp;ldquo;Initials&amp;rdquo; is misleading/incorrect. Also &lt;strong>note&lt;/strong> best to always set this attribute if passenger has middle name(s), regardless of &lt;code>PassengerFullMiddleNameMandatory&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@PassengerID&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>String&lt;/td>
&lt;td>Normally passport number&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@IDExpireDate&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>yyyyMMdd ID expiration date&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@IDIssueDate&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>yyyyMMdd ID issue date&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@FOID&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>See FOID table&lt;/td>
&lt;td>Normally &lt;code>PP&lt;/code> for passport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@IDIssueCountry&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>ISO 3166-1 alpha-2 of issuing country&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]@CountryOfResidence&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PassengerIdMandatory=&amp;quot;true&amp;quot;&lt;/code>&lt;/td>
&lt;td>ISO 3166-1 alpha-2 for country of residence&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/SeatOptions[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Element for selecting a seat per pax per flight&lt;/td>
&lt;td>Can be repeated once per pax per flight. Populate based on FAB_BasketRS SeatOptions&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/SeatOptions[*]@FlightNumber&lt;/code>&lt;/td>
&lt;td>Yes if SeatOptions is desired&lt;/td>
&lt;td>Flight number from FAB_BasketRS &lt;code>SeatOptions@FlightNumber&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/SeatOptions[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes if set on FAB_BasketRS &lt;code>SeatOptions@Supplier&lt;/code>&lt;/td>
&lt;td>Supplier from FAB_BasketRS &lt;code>SeatOptions@Supplier&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/SeatOptions[*]@DeparturePoint&lt;/code>&lt;/td>
&lt;td>Yes if set on FAB_BasketRS &lt;code>SeatOptions@DeparturePoint&lt;/code>&lt;/td>
&lt;td>Supplier from FAB_BasketRS &lt;code>SeatOptions@DeparturePoint&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/SeatOptions[*]/Seat@Num&lt;/code>&lt;/td>
&lt;td>Yes if SeatOptions is desired&lt;/td>
&lt;td>Num from FAB_BasketRS &lt;code>SeatOptions/Seat@Num&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/SeatOptions[*]/Seat@MeetsRestriction&lt;/code>&lt;/td>
&lt;td>no, default false&lt;/td>
&lt;td>boolean, must be set to true if selected seat is &lt;code>Access=&amp;quot;Restricted&amp;quot;&lt;/code> &lt;strong>and&lt;/strong> this customer meets that restriction&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/OptionalExtras&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of OptionalExtra to select for this specific passenger/customer&lt;/td>
&lt;td>&lt;strong>Cannot be used if the passenger is an infant.&lt;/strong> When used in &lt;code>FAB_BasketRS&lt;/code> indicates what has been selected for this specific passenger/customer.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/Customer[*]/OptionalExtras/OptionalExtra[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>See &lt;code>Itinerary/OptionalExtras/OptionalExtra[*]&lt;/code> for structure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/LeadCustomer&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Same structure as &lt;code>Customer&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/LeadCustomer/ContactDetails&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains contact details&lt;/td>
&lt;td>How and when FAB uses this information will vary by supplier. By default FAB will avoid using it where possible. Contact Customer Services to find out more.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/LeadCustomer/ContactDetails@EmailAddress&lt;/code>&lt;/td>
&lt;td>No, unless basket contains Norse or Ryanair flight.&lt;/td>
&lt;td>Contact email address&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/LeadCustomer/ContactDetails@Telephone&lt;/code>&lt;/td>
&lt;td>No, unless basket contains a Norse, Ryanair, Wizzair or Jet2 flight.&lt;/td>
&lt;td>E.164 formatted contact telephone number&lt;/td>
&lt;td>E.g &lt;code>+441174960999&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/LeadCustomer/ContactDetails@MobilePhone&lt;/code>&lt;/td>
&lt;td>No, unless basket contains a Norse, Ryanair, Wizzair or Jet2 flight.&lt;/td>
&lt;td>E.164 formatted contact mobile telephone number&lt;/td>
&lt;td>E.g &lt;code>+441174960999&lt;/code>. Only supported for select suppliers so generally advisable to set &lt;code>Telephone&lt;/code> in addition.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails/LeadCustomer/ContactDetails/Address&lt;/code>&lt;/td>
&lt;td>No, unless basket contains a Ryanair or Wizzair flight.&lt;/td>
&lt;td>See Address. Contact address.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Remarks&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>See Remarks.&lt;/td>
&lt;td>&lt;a href="/examples-features/remarks/">See example&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ConsumersReference&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>String&lt;/td>
&lt;td>Allows syndicator to attach a reference that will be stored within the basket.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="address">Address&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Address@Address1&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>First line of the address&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Address@Address2&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Second line of the address&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Address@Address3&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Third line of the address&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Address@Address4&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Fourth line of the address&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Address@CityOrTown&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Name of city or town&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Address@PostCode&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Post code or equivalent&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Address@Country&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 3166-1 alpha-2 country code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="foid">FOID&lt;/h4>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Tip&lt;/h4>
Passport (PP) is the most common Form Of ID required for FAB bookings.
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>FOID&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>CC&lt;/td>
&lt;td>Credit Card&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FF&lt;/td>
&lt;td>Frequent Flight number&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>NI&lt;/td>
&lt;td>National Identity card&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ID&lt;/td>
&lt;td>Staff Id card&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PP&lt;/td>
&lt;td>Passport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GP&lt;/td>
&lt;td>Group Passport&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RD&lt;/td>
&lt;td>Refugee Document&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>DL&lt;/td>
&lt;td>Driving license&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="remarks">Remarks&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Remarks@Supplier&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB supplier code of Remarks&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Remarks@ComponentId&lt;/td>
&lt;td>Mandatory for multi-component basket&lt;/td>
&lt;td>Identifies component&lt;/td>
&lt;td>Unique per basket. Used for multi-component flight baskets.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Remarks/Remark&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Remark text&lt;/td>
&lt;td>Not blank&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="amendbasketrequest">AmendBasketRequest&lt;/h3>
&lt;p>Once a basket has been created, it can only be changed through the use of an AmendBasketRequest.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>Itinerary/AmendOptionalExtras&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of OptionalExtras to add/remove to the basket&lt;/td>
&lt;td>If used then you must list all optional extras that you wish to keep from the current basket, unlisted selected extras are removed.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/AmendOptionalExtras/OptionalExtra[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>An OptionalExtra to add/remove to the basket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/AmendOptionalExtras/OptionalExtra[*]@Code&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>From &lt;code>OptionalExtra@Code&lt;/code> &lt;a href="/reference/fab_basketrs/">FAB_BasketRS&lt;/a>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/AmendOptionalExtras/OptionalExtra[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB supplier code of OptionalExtra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/AmendOptionalExtras/OptionalExtra[*]@Quantity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Less than or equal to &lt;code>OptionalExtra@QuantityAvailable&lt;/code>&lt;/td>
&lt;td>Set to zero to remove an already selected optional extra.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/AmendOptionalExtras/OptionalExtra[*]@Direction&lt;/code>&lt;/td>
&lt;td>Yes, if set on the respective extra in FAB_BasketRS&lt;/td>
&lt;td>From &lt;code>OptionalExtra@Direction&lt;/code> &lt;a href="/reference/fab_basketrs/">FAB_BasketRS&lt;/a>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ConsumersReference&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>String&lt;/td>
&lt;td>Allows syndicator to attach a reference that will be stored within the basket.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@BasketId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ID of basket to amend&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@TargetBookingStage&lt;/code>&lt;/td>
&lt;td>No, default &lt;code>confirmed_costing&lt;/code>&lt;/td>
&lt;td>&lt;code>passenger_details&lt;/code> or &lt;code>confirmed_costing&lt;/code>&lt;/td>
&lt;td>Can generally be left unset &lt;strong>unless&lt;/strong> you intend to amend the basket multiple times in which case set to to &lt;code>passenger_details&lt;/code> and only change to &lt;code>confirmed_costing&lt;/code> once you are ready to book as a &lt;code>confirmed_costing&lt;/code> basket cannot be further amended. If set to &lt;code>confirmed_costing&lt;/code> (default) but &lt;code>PassengerDetails&lt;/code> have not been provided then FAB will automatically stop at &lt;code>passenger_details&lt;/code> stage instead.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ResponseTimeoutSecs&lt;/code>&lt;/td>
&lt;td>No, default 30&lt;/td>
&lt;td>Non negative integer. If timeout is reached FAB will return the basket even if processing is not complete (so basket is still &amp;ldquo;active&amp;rdquo;).&lt;/td>
&lt;td>FAB will continue to process in the background. Advisable to set no lower than 5 seconds. Generally set to the maximum time your consumer or operator is willing to wait for a response (with some margin for your own processing).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/PassengerDetails&lt;/code>&lt;/td>
&lt;td>No, but must be provided before booking&lt;/td>
&lt;td>See PassengerDetails in CreateBasketRequest&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Remarks&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>See Remarks.&lt;/td>
&lt;td>&lt;a href="/examples-features/remarks/">See example&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="checkbasketrequest">CheckBasketRequest&lt;/h3>
&lt;p>Used to poll an active basket until it becomes inactive.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>@BasketId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String of Basket ID you wish to check&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ResponseTimeoutSecs&lt;/code>&lt;/td>
&lt;td>No, default 5&lt;/td>
&lt;td>Non negative integer. If timeout is reached FAB will return the basket even if processing is not complete (so basket is still &amp;ldquo;active&amp;rdquo;).&lt;/td>
&lt;td>FAB will continue to process in the background. Advisable to set no lower than 5 seconds. Generally set to the maximum time your consumer or operator is willing to wait for a response (with some margin for your own processing).&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="bookbasketrequest">BookBasketRequest&lt;/h3>
&lt;p>In order to actually do the booking, the basket must be inactive at the confirmed_costing booking stage, at which point you can send a BookBasketRequest message. A Basket can only be booked once.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>@BasketId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String of Basket ID you wish to book&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@TotalCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Expected total cost of booking&lt;/td>
&lt;td>This is used to validate that you, fab, and the supplier(s) are agreed on the booking cost&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ConsumersReference&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>String&lt;/td>
&lt;td>Allows syndicator to attach a reference that will be stored within the basket.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ResponseTimeoutSecs&lt;/code>&lt;/td>
&lt;td>No, default 290&lt;/td>
&lt;td>Non negative integer. If timeout is reached FAB will return the basket even if processing is not complete, with success status of pending.&lt;/td>
&lt;td>Generally set to the maximum time your consumer or operator is willing to wait for a response (with some margin for your own processing).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment@PaymentMode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Enum indicating how you wish to pay the supplier&lt;/td>
&lt;td>See PaymentMode section&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment@PayOnlyDeposit&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>Deprecated&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>PaymentMode=&amp;quot;card_payment_override_lodged&amp;quot;&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@CardNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>The card number&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@ExpiryDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>MMyy&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@Authorisation&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Describes how the card payment should be authorised&lt;/td>
&lt;td>Should be set to &lt;code>cv2_only&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@CardType&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>See CardType&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@CardHoldersName&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>the full name of the card holder as it appears on the card&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@IssueDate&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>MMyy&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@Cv2SecurityNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>3 or 4 digit cv2&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@CardHoldersTelephoneNumber&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>E.164 formatted telephone number&lt;/td>
&lt;td>E.g &lt;code>+441174960999&lt;/code>. How and when FAB uses this information will vary by supplier. Contact Customer Services to find out more.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard@CardHoldersEmailAddress&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>How and when FAB uses this information will vary by supplier. Contact Customer Services to find out more.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Payment/PaymentCard/CardHoldersAddress&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>See Address&lt;/td>
&lt;td>How and when FAB uses this information will vary by supplier. Contact Customer Services to find out more.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Component&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Provides additional controls over the booking, e.g to make a held booking&lt;/td>
&lt;td>Must list all components or none.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Component[*]@ComponentId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Identifies component&lt;/td>
&lt;td>Unique per basket&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Component[*]@CurrentBookingStage&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>confirmed_costing&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Component[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier code of component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Component[*]@TargetTicketingStatus&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>confirmed&lt;/code> or &lt;code>held&lt;/code>. If supported allows control over ticket status&lt;/td>
&lt;td>&lt;a href="/examples-features/held-flight-booking/">See example&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Remarks&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>See Remarks.&lt;/td>
&lt;td>&lt;a href="/examples-features/remarks/">See example&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
If passing in a card, only cards exempt from SCA (Strong Customer Authentication) are supported.
&lt;/div>
&lt;h4 id="paymentmode">PaymentMode&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>PaymentMode&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>syndicator_deferred&lt;/td>
&lt;td>Indicates that FAB should handle any required supplier payments. This could by generating Pax2Pay virtual cards or by sending account details (e.g BSP Cash).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>card_payment_override_lodged&lt;/td>
&lt;td>Indicates that any required card payments to supplier should be made with the passed in card.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="fab-payment-card-type">FAB Payment Card Type&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>CardType&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>American_Express&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American_Express_Corporate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Debit_Mastercard&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Laser&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Maestro&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Mastercard&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Mastercard_Credit_Corporate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Mastercard_Debit_Corporate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pre_Paid_Mastercard&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Solo&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Switch&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visa_Credit&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visa_Credit_Corporate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visa_Debit&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visa_Debit_Corporate&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visa_Delta&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visa_Electron&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Diners_Club&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>JCB&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>UATP&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>IATA_Easy_Pay&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="fab-card-authorisation-modes">FAB Card Authorisation Modes&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Mode&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>card_only&lt;/td>
&lt;td>Neither CV2 nor AVS are carried out, only the card number and expiry dates are checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cv2_only&lt;/td>
&lt;td>Only card number, dates, and CV2 number is checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>address_only&lt;/td>
&lt;td>Only card number, dates, address is checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>postcode_only&lt;/td>
&lt;td>Only card number, dates, and postcode is checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cv2_and_address&lt;/td>
&lt;td>Only card number, dates, CV2 number, and address is checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cv2_and_postcode&lt;/td>
&lt;td>Only card number, dates, CV2 number, and postcode is checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>address_and_postcode&lt;/td>
&lt;td>Only card number, dates, postcode, and address is checked&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>all&lt;/td>
&lt;td>All checks are performed and must all pass&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FAB_BasketRS</title><link>/reference/fab_basketrs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fab_basketrs/</guid><description>
&lt;p>The FAB_BasketRS will be the result of any FAB_BasketRQ and is an example of a &lt;a href="/reference/fabrequestresponse/">FABRequestResponse&lt;/a>. It will additionally contain a element of &lt;code>CurrentBasket&lt;/code>.&lt;/p>
&lt;h3 id="currentbasket">CurrentBasket&lt;/h3>
&lt;p>&lt;code>CurrentBasket&lt;/code> has the following structure:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>@CurrentlyActive&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>true&lt;/code> or &lt;code>false&lt;/code>, if true then FAB is still attempting to process the basket (e.g waiting for a supplier response)&lt;/td>
&lt;td>An active basket is not ready to book or to display to consumers, instead you must check the basket until it becomes inactive. See section check basket&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@BasketId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String identifying current basket&lt;/td>
&lt;td>Used for subsequent basket actions&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@Status&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Text indicating the basket’s current status.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@TargetBookingStage&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>passenger_details&lt;/code> or &lt;code>confirmed_costing&lt;/code> or &lt;code>booked&lt;/code>&lt;/td>
&lt;td>May differ from &lt;code>CurrentBookingStage&lt;/code> if you didn&amp;rsquo;t provide &lt;code>PassengerDetails&lt;/code> resulting in FAB only reaching &lt;code>passenger_details&lt;/code> not your target of &lt;code>confirmed_costing&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@CurrentBookingStage&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>passenger_details&lt;/code> or &lt;code>confirmed_costing&lt;/code> or &lt;code>booked&lt;/code>&lt;/td>
&lt;td>&lt;code>PassengerDetails&lt;/code> must be provided to proceed from &lt;code>passenger_details&lt;/code> to &lt;code>confirmed_costing&lt;/code>. Only a basket at &lt;code>confirmed_costing&lt;/code> can proceed to book.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>@ConsumersReference&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Reference set from request&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PartyInfo&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>See FAB_BasketRQ&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Details the requested itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PassengerDetails&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>See &lt;code>PassengerDetails&lt;/code> in &lt;a href="/reference/fab_basketrq/">BasketRQ&lt;/a> for structure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@PassengerIdRequired&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then ID information must be provided to the supplier before departure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@PassengerIdMandatory&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then ID information must be provided to the supplier before booking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@NationalityRequired&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then nationality information must be provided to the supplier before departure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@NationalityMandatory&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then &lt;code>Nationality&lt;/code> attribute must be set for each passenger before booking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@PassengerFullMiddleNameMandatory&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean, if true then passengers must have &lt;code>MiddleInitials&lt;/code> set to their full middle name(s) if they have one&lt;/td>
&lt;td>&lt;strong>Note&lt;/strong> this attribute is not widely supported, it is best to always set &lt;code>MiddleInitials&lt;/code> to the passenger&amp;rsquo;s middle name(s) if they have one.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@ItineraryId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>the id associated with the Itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@StartDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd the start date for this Itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@EndDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd the end date for this Itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@NumNights&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>the duration in number of nights of this Itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@Availability&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>available&lt;/code> or &lt;code>unavailable&lt;/code> or &lt;code>unknown&lt;/code> Indicates whether or not a particular itinerary is available&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@BookableByFab&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean, if true then FAB is capable of booking this itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of PerPassengerCost&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary@PerPassengerCost&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>The cost per passenger of this itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Contains details of the itinerary costs, including both totals and a breakdown&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@TotalCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Total cost of itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>TotalCost&lt;/code> and &lt;code>DepositRequiredAtBooking&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@CostingStage&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>estimate&lt;/code> or &lt;code>quick&lt;/code> or &lt;code>confirmed&lt;/code> or &lt;code>booked&lt;/code>&lt;/td>
&lt;td>See &amp;ldquo;FAB Costing Stages&amp;rdquo; table&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@CostingAccuracy&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>indicates the accuracy, as a percentage, of the associated cost structure&lt;/td>
&lt;td>Deprecated&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@BasedOn&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Human readable description of the itinerary&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@PartyInfoCheck&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Human readable description of the party&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@DepositRequiredAtBooking&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates booking deposit cost&lt;/td>
&lt;td>Not widely supported&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost@CostingValid&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean, if true then the costing is valid&lt;/td>
&lt;td>Deprecated&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/Component[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Contains some info in relation to the suppliers of the itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/Component[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier code of component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/Component[*]@BookingChannel&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Advised to ignore&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/Component[*]@BookingChannelName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>String indicating the supplier integration of hte component&lt;/td>
&lt;td>Should not be mapped as it is not stable&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/FOIDAllowed[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Lists acceptable forms of identification&lt;/td>
&lt;td>Useful if you need/want to set FOID request attribute&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/FOIDAllowed[*]/FOID[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>See FAB_BasketRQ FOID&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier (code) of component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@TotalCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Total cost of component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>TotalCost&lt;/code> and &lt;code>DepositRequiredAtBooking&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@CostingStage&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>estimate&lt;/code> or &lt;code>quick&lt;/code> or &lt;code>confirmed&lt;/code> or &lt;code>booked&lt;/code>&lt;/td>
&lt;td>See &amp;ldquo;FAB Costing Stages&amp;rdquo; table&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@DepositRequiredAtBooking&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates booking deposit cost&lt;/td>
&lt;td>Not widely supported&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@UpdatedTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>yyyyMMdd HHmm&lt;/code> indicates when costing was produced&lt;/td>
&lt;td>UK local time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]@HostSystemRequiresPaymentCard&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>&lt;code>true&lt;/code> or &lt;code>false&lt;/code>. If true then this component must be paid by card&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>A Component&amp;rsquo;s cost is broken down into one or more cost details&lt;/td>
&lt;td>&lt;strong>Note&lt;/strong> that the list of details is dynamic so care must be taken to not hard-code an expectation that a certain Detail will always be present.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@Description&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>A description of the Detail&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@UnitCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Unit cost&lt;/td>
&lt;td>Following any currency conversion and/or syndicator markup&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@Quantity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>quantity of this cost item&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@ExtendedCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Unit cost multiplied by quantity&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>UnitCost&lt;/code> and &lt;code>ExtendedCost&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@PriceDescription&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Additional description of Detail&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@PriceCode&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Categorises the cost line item&lt;/td>
&lt;td>Derived from the fab price code.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@FPC&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB Price Code categorises the cost line item&lt;/td>
&lt;td>&lt;a href="/reference/fpcs/">see fpcs&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]@ExtraCode&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Code of related optional extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains information about costs before any markup/discounts or currency conversion had been applied.&lt;/td>
&lt;td>Can generally be ignored&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@SourceUnitCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Unit cost before any currency conversion or syndicator markup&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@SourceCurrency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>SourceUnitCost&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@UnitCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Unit cost after any currency conversion&lt;/td>
&lt;td>In currency of &lt;code>Detail&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/Detail[*]/SourceCostDetail@UnitMarkup&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Unit syndicator markup, if any&lt;/td>
&lt;td>In currency of &lt;code>Detail&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Info about what card types are accepted by the supplier of this component and the charge for each&lt;/td>
&lt;td>Never currency normalised&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]@CardType&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Card type, see FAB_BasketRQ&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]@Amount&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Card charge amount&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>Amount&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/Component[*]/PaymentCardCharge[*]/AcceptableAuthMode[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>What auth modes are accepted&lt;/td>
&lt;td>See FAB_BasketRQ &amp;ldquo;FAB Card Authorisation Modes&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/PaymentCardCharge[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Intersection of PaymentCardCharges from each Component, with Amount summed&lt;/td>
&lt;td>i.e lists cards and charges that can be used to pay for all relevant components. May have been currency normalised.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/PaymentCardCharge[*]@CardType&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Card type, see FAB_BasketRQ&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/PaymentCardCharge[*]@Amount&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Card charge amount&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/PaymentCardCharge[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>Amount&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryCost/PaymentCardCharge[*]/AcceptableAuthMode[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>What auth modes are accepted&lt;/td>
&lt;td>See FAB_BasketRQ &amp;ldquo;FAB Card Authorisation Modes&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ImportantInformation/Errata[*]@Text&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Freetext information about an itinerary component.&lt;/td>
&lt;td>Can include information like fare rules or bag dimensions. This information is usually set by the supplier so Paxport does not guarantee that the information is appropriate to expose to the consumer.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ImportantInformation/Errata[*]@Code&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Code identifying the errata&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ImportantInformation/Errata[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier code that Errata applies to&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>A travel segment of the itinerary&lt;/td>
&lt;td>e.g an inbound flight&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@DeparturePoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Departure airport IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@ArrivalPoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Arrival airport IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>outbound&lt;/code> &lt;code>homebound&lt;/code> &lt;code>transfer&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@DepartureDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@DepartureTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@ArrivalDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@ArrivalTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier code of segment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@ItineraryId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ItineraryId of segment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of segment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@ITFare&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if this flight result is an IT (Inclusive Tour) fare and therefore should only be used when using the flight as part of an “inclusive package”.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@CAT35Fare&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean indicating if this flight result is a CAT35 fare&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@FareType&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Published&lt;/code> &lt;code>Private&lt;/code> &lt;code>NoFrills&lt;/code> &lt;code>NegoCorporate&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@OperatedBy&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Operating carrier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@MarketedBy&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Marketing carrier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@OperatingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Operating carrier code&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@MarketingCarrier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Marketing carrier code&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@JourneyMins&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Duration of journey in minutes&lt;/td>
&lt;td>Includes any layover time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@FareClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates the fare class of the first leg&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@FlightClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates the fare class of the first leg&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@NumStops&lt;/code>&lt;/td>
&lt;td>No, default zero&lt;/td>
&lt;td>Number of stops&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@DeparturePointName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Departure airport name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@ArrivalPointName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Arrival airport name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]@SupplierName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Supplier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains information about ticket collection, check-in, and the suchlike&lt;/td>
&lt;td>This is rarely populated beyond FlightNumber for lowcost carriers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CheckInDate&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CheckInTime&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CheckInDetails&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>details of where/how to check in&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@CollectionDetails&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>details of where/how to pick up ticket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@FlightNumber&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Flight number for ticket info&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@TicketOnDeparture&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>boolean, if true then the ticket is supposed to be collected on at the airport just before departure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@DepartureTerminal&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>details about the departure airport terminal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@ArrivalTerminal&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>details about the arrival airport terminal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@LastTicketDate&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>yyyyMMdd last date at which this fare can be ticketed&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@LastTicketTime&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>HHmm last time at which this fare can be ticketed&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@DefaultTicketingStatus&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates default ticketing status for the booking. Set to &lt;code>held&lt;/code> for &lt;a href="/examples-features/held-flight-booking/">held booking&lt;/a> or &lt;code>confirmed&lt;/code> for a standard booking&lt;/td>
&lt;td>The default status can be overridden using &lt;code>TargetTicketingStatus&lt;/code> parameter in &lt;a href="/reference/fab_basketrq/">BasketRQ&lt;/a> if &lt;code>SupportsTargetTicketingStatus&lt;/code> is set to &lt;code>true&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/TicketInfo@SupportsTargetTicketingStatus&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>boolean indicating if the handler supports the &lt;code>TargetTicketingStatus&lt;/code> attribute in &lt;a href="/reference/fab_basketrq/">BasketRQ&lt;/a>&lt;/td>
&lt;td>If set to &lt;code>false&lt;/code> then the handler can ignore the &lt;code>TargetTicketingStatus&lt;/code> parameter set during booking.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates included baggage allowance&lt;/td>
&lt;td>Only supported by select suppliers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@Per&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Passenger&lt;/code> or &lt;code>Adult&lt;/code> or &lt;code>Youth&lt;/code> or &lt;code>Child&lt;/code> or &lt;code>Infant&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@Unit&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Piece&lt;/code> or &lt;code>kg&lt;/code> or &lt;code>lb&lt;/code> or &lt;code>Unknown&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@Quantity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Integer&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/BaggageAllowance@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Hold&lt;/code> or &lt;code>Hand&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>If segment is multileg/indirect one or more subsegments/legs will be listed&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]/BaggageAllowance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Same structure as &lt;code>TravelSegment[*]/BaggageAllowance&lt;/code>. Indicates included baggage allowance for the leg/subsegment&lt;/td>
&lt;td>Only supported by select suppliers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DeparturePoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Departure airport IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalPoint&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Arrival airport IATA code&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DepartureDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DepartureTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>yyyyMMdd&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>HHmm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@OperatedBy&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Operating carrier name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@OperatingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Operating carrier code&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@MarketingCarrier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Marketing carrier code&lt;/td>
&lt;td>Can be IATA or ICAO, depending on the supplier&amp;rsquo;s preference&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@JourneyMins&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Duration of journey in minutes&lt;/td>
&lt;td>Includes any layover time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@FlightClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Fare class&lt;/td>
&lt;td>Generally a single letter, e.g &amp;ldquo;Y&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@NumStops&lt;/code>&lt;/td>
&lt;td>No, default zero&lt;/td>
&lt;td>Number of stops&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@OriginAirportName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Departure airport name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DestinationAirportName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Arrival airport name&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@FlightNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Flight number&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@DepartureTerminal&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Departure terminal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/TravelSegments/TravelSegment[*]/SubSegment[*]@ArrivalTerminal&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Arrival terminal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Seat selection options&lt;/td>
&lt;td>Only supported by select flight suppliers.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]@FlightNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Flight number (designator) of flight relevant to this SeatOption&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]@AircraftType&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Indicates aircraft type&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]@NumberOfBlocks&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Indicates the number of divisions within a row of seats. For example, an aircraft with a single aisle seat configuration will have two &amp;lsquo;blocks&amp;rsquo;.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>Price&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]@Supplier&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Supplier code of this SeatOption&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]@DeparturePoint&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Departure airport IATA code of flight relevant to this SeatOption&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/SeatBand[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Contains pricing information and description. Seat selection can be broken down into different categories of seats with different prices associated with each. The SeatBand element describes one of these categories.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/SeatBand[*]@Id&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ID used to correlate between SeatBand and Seat&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/SeatBand[*]@Description&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Text description of seat band&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/SeatBand[*]@Price&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Price of a seat in this band&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@Num&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Seat identifier, includes row number. E.g 1A&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@Availabile&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Boolean, indicates if seat is available for selection&lt;/td>
&lt;td>Attribute has typo&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@BandId&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ID used to correlate between SeatBand and Seat&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@Block&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Block number&lt;/td>
&lt;td>See &lt;code>NumberOfBlocks&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@Row&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Row number&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@AllowInfant&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean, if false then adult with infant cannot sit here&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@AllowChild&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean, if false then child cannot sit here&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@ExitRow&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean, if true then seat is on an exit row&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@Position&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Aisle&lt;/code> &lt;code>Middle&lt;/code> &lt;code>Window&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@Access&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>Regular&lt;/code> &lt;code>Special&lt;/code> &lt;code>Restricted&lt;/code>&lt;/td>
&lt;td>&lt;code>Restricted&lt;/code> - additional restrictions apply to what passengers can sit here beyond those restrictions already indicated by AllowInfant/AllowChild. These additional restrictions will be described by the &lt;code>Text&lt;/code> of &lt;code>Errata@Code=&amp;quot;Seat Selection - Restricted&amp;quot;&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/SeatOptions[*]/Seat[*]@UpperDeck&lt;/code>&lt;/td>
&lt;td>No, default false&lt;/td>
&lt;td>boolean. If true then seat is on the upper deck of the aircraft&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Contains selected optional extras, if any&lt;/td>
&lt;td>Used for itinerary extras, per pax selected extras are shown under &lt;code>PassengerDetails&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>An optional extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Code&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Code of extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier (code) of extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Quantity&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>The number of units of the extra that have been selected&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/OptionalExtras/OptionalExtra[*]@Direction&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>outbound&lt;/code> or &lt;code>homebound&lt;/code>. If set then the extra only applies to that specific direction&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Describes a set of options (e.g bags) available for the associated Itinerary&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>An optional extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@Direction&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>outbound&lt;/code> or &lt;code>homebound&lt;/code>. If set then the extra only applies to that specific direction&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@Description&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Text description of the extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@Code&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String identifying the extra, used for selection&lt;/td>
&lt;td>The value is generally based on data from the supplier (e.g an airline SSR code) so it may change over time. You are therefore advised to make any mapping of Code in your integration configurable.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@ID&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String identifying the extra&lt;/td>
&lt;td>Rarely used.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier (code) of the extra&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@FPC&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>FAB Price Code categorises the extra&lt;/td>
&lt;td>&lt;a href="/reference/fpcs/">see fpcs&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>See FABOptionalExtraType&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@QuantityAvailable&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>The number of units of this extra that are available&lt;/td>
&lt;td>Does not account for units that are already selected&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@UnitCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Unit cost&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@CurrencyCode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>UnitCost&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtra[*]@ApplyTo&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Indicates how the extra applies to the passengers, see FABApplyToType&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Rules indicate how OptionalExtras can be combined&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]@RuleCode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Code indicating rule&lt;/td>
&lt;td>See later FABGroupRuleCode section&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier code rule applies to&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]@QuantityPerBooking&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>RuleCode=&amp;quot;PerBookingLimit&amp;quot;&lt;/code>&lt;/td>
&lt;td>See later FABGroupRuleCode section for PerBookingLimit&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]/ID[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>List of IDs in the group&lt;/td>
&lt;td>Used to ID relevant OptionalExtras&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Itinerary/ItineraryOptions/OptionalExtraGroupRule[*]/ID[*]@Direction&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>outbound&lt;/code> or &lt;code>homebound&lt;/code>. If set then ID applies to an extra of a specific direction&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Remarks&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>See &lt;code>Remarks&lt;/code> in &lt;a href="/reference/fab_basketrq/">BasketRQ&lt;/a> for structure&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Warnings&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of &lt;code>Warning&lt;/code> that are relevant to the &lt;code>CurrentBasket&lt;/code>&lt;/td>
&lt;td>Note that warnings may also be set a level up so check both locations, &lt;a href="/reference/fabrequestresponse/">see FABRequestResponse&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Warnings/Warning[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Warning text&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Errors&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>List of &lt;code>Error&lt;/code> that are relevant to the &lt;code>CurrentBasket&lt;/code>&lt;/td>
&lt;td>Note that errors may also be set a level up so check both locations, &lt;a href="/reference/fabrequestresponse/">see FABRequestResponse&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Errors/Error[*]@ErrorText&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Error&lt;/code> element is being set&lt;/td>
&lt;td>a generic human readable description of the error&lt;/td>
&lt;td>Likely not appropriate to expose to consumers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Errors/Error[*]@ErrorCode&lt;/code>&lt;/td>
&lt;td>Yes if &lt;code>Error&lt;/code> element is being set&lt;/td>
&lt;td>string error code&lt;/td>
&lt;td>&lt;a href="/reference/errorcodes/">see Error Codes&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="bookinginfo">BookingInfo&lt;/h3>
&lt;p>Responses to a BookBasketRequest have an additional element of &lt;code>BookingInfo&lt;/code> within &lt;code>CurrentBasket&lt;/code>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Attribute or element&lt;/th>
&lt;th>Mandatory?&lt;/th>
&lt;th>Definition&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>BookingInfo&lt;/code>&lt;/td>
&lt;td>Yes for response to &lt;code>BookBasketRequest&lt;/code>&lt;/td>
&lt;td>Contains details about the booking attempt&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@Success&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>true&lt;/code> &lt;code>false&lt;/code> &lt;code>pending&lt;/code> indicates booking success of itinerary&lt;/td>
&lt;td>See later section&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@PaymentMode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Indicates requested PaymentMode&lt;/td>
&lt;td>See FAB_BasketRQ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@PaidOnlyDeposit&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>Deprecated&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@PaymentTakenAtBooking&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>indicates the amount that has been/should be taken from the end user.&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@PaymentTakenByFABAtBooking&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>total amount debited by payment systems directly invoked by FAB with a provided payment card&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>PaymentTakenAtBooking&lt;/code> and &lt;code>PaymentTakenByFABAtBooking&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo@ThirdPartyHandoffBookingId&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Reference to the information registered on a third-party system by a handoff handler&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>A booking component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@Supplier&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier code of booking component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@Success&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>true&lt;/code> &lt;code>false&lt;/code> &lt;code>pending&lt;/code> indicates booking success of component&lt;/td>
&lt;td>See later section&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@BookingReference&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>If successful, this will contain the suppliers booking reference for this component. Unset if failed. Set to &amp;ldquo;PENDING&amp;rdquo; if pending&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@Deposit&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Amount of deposit (taken at booking).&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@TotalCost&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Total cost of component&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@ExpectedTotalCost&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>May be used to indicate a price change that was within tolerance&lt;/td>
&lt;td>Not widely supported&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@BookingChannel&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Advised to ignore&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@BookingUsername&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>A username relevant to the booking&lt;/td>
&lt;td>Not widely supported.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@BookingPassword&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>A password relevant to the booking&lt;/td>
&lt;td>Not widely supported.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of &lt;code>TotalCost&lt;/code> and &lt;code>Deposit&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/PaymentAuth&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains information about payment made with a passed in card&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/PaymentAuth@Amount&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Amount authorised from card&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/PaymentAuth@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency of Amount&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/PaymentAuth@Last4DigitsOfCardNumberUsed&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Last 4 digits of card used for payment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/PaymentAuth@CardNameUsed&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Card holder name used&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/PaymentAuth@SupplierCode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Supplier (code) who took the payment&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/LodgedCardPaymentAuth&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Same structure as &lt;code>PaymentAuth&lt;/code> but contains information about payment made with Pax2Pay virtual card&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/Reference[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains additional references relevant to the booking.&lt;/td>
&lt;td>Only supported by select suppliers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/Reference[*]@Type&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>String identifier for reference&lt;/td>
&lt;td>E.g &lt;code>PNR&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/Reference[*]@Value&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>Value of reference&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/Reference[*]@Source&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>String indicating source of reference&lt;/td>
&lt;td>Optionally used to further clarify source of the reference. E.g could be the IATA code for the airline that issued the reference.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/@CurrentTicketingStatus&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>&lt;code>held&lt;/code> or &lt;code>confirmed&lt;/code>. Indicates ticket status if &lt;code>TargetTicketingStatus&lt;/code> was used in the request.&lt;/td>
&lt;td>&lt;a href="/examples-features/held-flight-booking/">See example&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Contains ticket documents&lt;/td>
&lt;td>An ETicket can represent a ticket, EMD, etc&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@ETicketNumber&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>The full ticket number&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@PassengerName&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@DateOfIssue&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>yyyyMMdd&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@FormOfPayment&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@IssuingAgency&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@PlaceOfIssue1&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@PlaceOfIssue2&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@IssuingAgent&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@Endorsements&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@LegalNotices&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@Type&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]@NumberOfBooklets&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@Airline&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@FlightNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DepartureDate&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>yyyyMMdd&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DepartureTime&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>&lt;code>HHmm&lt;/code>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@Origin&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OriginName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OriginTerminal&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@Destination&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DestinationName&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@DestinationTerminal&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@FlightClass&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@BaggageAllowance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@FareBasis&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@ReservationStatus&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@NotValidBeforeAfter&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@NumericAirlineCode&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@OperatedBy&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Flight[*]@Ref&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost@FareCalculation&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost@BaseFare&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost@Total&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]@Amount&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]@Code&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Cost/TaxComponent[*]@Currency&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>ISO 4217 alphabetic currency&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>A coupon within the ticket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]@Number&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/InConnectionWith&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>Allows a coupon to link to another ETicket&lt;/td>
&lt;td>E.g link a seat EMD to the main fare ticket.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/InConnectionWith@ETicketNumber&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Link to &lt;code>ETicket@ETicketNumber&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/InConnectionWith@FlightRef&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Link to &lt;code>Flight@Ref&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/ReasonForIssuance&lt;/code>&lt;/td>
&lt;td>No&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/ReasonForIssuance@Code&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>BookingInfo/BookingComponent[*]/ETicket[*]/Coupons/Coupon[*]/ReasonForIssuance@SubCode&lt;/code>&lt;/td>
&lt;td>Yes&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="fab-group-rule-codes---fabgrouprulecode">FAB Group Rule Codes - FABGroupRuleCode&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>FABGroupRuleCode&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>OneOf&lt;/td>
&lt;td>Must choose one of the group&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>MandatoryOneOfPerPax&lt;/td>
&lt;td>Must choose one of the group, per Passenger&lt;/td>
&lt;td>Like OneOf but per passenger.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OneOrNone&lt;/td>
&lt;td>Can choose Only One of the group, or None&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OneOfPerPax&lt;/td>
&lt;td>Can choose Only One of the group, or None, per Passenger&lt;/td>
&lt;td>Note that type name is misleading due to historic reasons. &lt;br/>You should think of it as if it were named OneOrNoneOfPerPax.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AllOrNone&lt;/td>
&lt;td>Must choose all of the group, or None&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PerBookingLimit&lt;/td>
&lt;td>Total (summed) selected quantity of these extras must not exceed QuantityPerBooking&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="fab-optional-extra-types---faboptionalextratype">FAB Optional Extra Types - FABOptionalExtraType&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>FABOptionalExtraType&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Meal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Transfer&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Flight&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Room&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sports&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Insurance&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CarHire&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Baggage&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Excursion&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Donation&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Theatre&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Other&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BaggageTracking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SeatOptions&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CheckIn&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Priority&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lounge&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BaggageInsurance&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>DutyFree&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FastTrack&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Unrecognised&lt;/td>
&lt;td>Can be raised with Customer Services team to fix&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="fab-apply-to-types---fabapplytotype">FAB Apply To Types - FABApplyToType&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>FABApplyToType&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>NoPax&lt;/td>
&lt;td>Not related to passengers.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AllPax&lt;/td>
&lt;td>Applies to all passengers.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SelectedPax&lt;/td>
&lt;td>Individual passengers must select this extra.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="fab-costing-stages---fabcostingstage">FAB Costing Stages - FABCostingStage&lt;/h4>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>FABCostingStage&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>estimate&lt;/td>
&lt;td>Estimated party price based on pricing information stored within the FAB system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>quick&lt;/td>
&lt;td>Live quick cost produced by accessing a suppliers reservation system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>confirmed&lt;/td>
&lt;td>Live confirmed cost produced by accessing a suppliers reservation system. One step away from booking, this represents the actual cost that will be incurred by booking this itinerary with the given party&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>booked&lt;/td>
&lt;td>Indicates that this Itinerary has been booked&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="booking-success-status">Booking success status&lt;/h4>
&lt;p>Further info on determining booking success status&lt;/p>
&lt;ul>
&lt;li>&lt;code>true&lt;/code> - component (&lt;code>BookingComponent[*]@Success&lt;/code>) or itinerary (&lt;code>BookingInfo@Success&lt;/code>) booked&lt;/li>
&lt;li>&lt;code>false&lt;/code> - component (&lt;code>BookingComponent[*]@Success&lt;/code>) or itinerary (&lt;code>BookingInfo@Success&lt;/code>) failed to book&lt;/li>
&lt;li>&lt;code>pending&lt;/code>
&lt;ul>
&lt;li>In the case of a component (&lt;code>BookingComponent[*]@Success&lt;/code>) this indicates that FAB is unsure whether the component has booked or not. You would generally need to contact the supplier to investigate. You can also raise the issue with Paxport support team.&lt;/li>
&lt;li>In the case of the itinerary (&lt;code>BookingInfo@Success&lt;/code>) this indicates at least one component was not &lt;code>Success=&amp;quot;true&amp;quot;&lt;/code>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
Note that FAB has no automated mechanism to change &lt;code>Success=&amp;quot;pending&amp;quot;&lt;/code> to &lt;code>Success=&amp;quot;true&amp;quot;&lt;/code> or &lt;code>Success=&amp;quot;false&amp;quot;&lt;/code>. Manual investigation/intervention will be required. Consequently Paxport aims for &lt;code>Success=&amp;quot;pending&amp;quot;&lt;/code> to be a rare event.
&lt;/div>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
&lt;p>If FAB fails to respond (or responds without BookingInfo) to your BookBasketRequest you should follow these steps:&lt;/p>
&lt;ol>
&lt;li>Retry the &lt;strong>exact same&lt;/strong> FAB_BasketRQ (BookBasketRequest) request&lt;/li>
&lt;li>If &lt;code>BookingInfo&lt;/code> is returned then check it as per &amp;ldquo;Booking success status&amp;rdquo; above.&lt;/li>
&lt;li>If no response (or BookingInfo) then assume that &lt;code>BookingInfo@Success=&amp;quot;pending&amp;quot;&lt;/code> and act as per &amp;ldquo;Booking success status&amp;rdquo; above&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Reference: FAB Error Codes</title><link>/reference/errorcodes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/errorcodes/</guid><description>
&lt;p>A &lt;strong>non exhaustive&lt;/strong> list of FAB ErrorCode values&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Code&lt;/th>
&lt;th>Meaning&lt;/th>
&lt;th>Suggested action&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>800&lt;/td>
&lt;td>Session error - FAB session is expired or broken&lt;/td>
&lt;td>Start a new session&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>900&lt;/td>
&lt;td>Generic error&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F4400&lt;/td>
&lt;td>Generic user input validation error&lt;/td>
&lt;td>Check error text and amend request as required&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F4401&lt;/td>
&lt;td>Generic authorization error&lt;/td>
&lt;td>Raise a support ticket&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F4422&lt;/td>
&lt;td>Passenger details are invalid&lt;/td>
&lt;td>Check error text and syndicator details&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F5000&lt;/td>
&lt;td>Generic internal error&lt;/td>
&lt;td>Raise a support ticket&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F5200&lt;/td>
&lt;td>Generic availability error&lt;/td>
&lt;td>Retry your request or request availability for different dates.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F5400&lt;/td>
&lt;td>Generic internal validation error&lt;/td>
&lt;td>Raise a support ticket&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F6100&lt;/td>
&lt;td>The supplier or related party declined the payment card&lt;/td>
&lt;td>Check card details and funding. Generate a new basket and retry.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>F6451&lt;/td>
&lt;td>The supplier blocked the request&lt;/td>
&lt;td>Generate a new basket and retry.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Reference: FAB Price Codes</title><link>/reference/fpcs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/reference/fpcs/</guid><description>
&lt;p>FAB Price Codes (FPCs) can be used to categorise various parts of the FAB_BasketRS.&lt;/p>
&lt;p>They are strings of 1-4 parts, delimited with a &lt;code>.&lt;/code>&lt;/p>
&lt;p>E.g:&lt;/p>
&lt;ul>
&lt;li>&lt;code>basic.adult.flight&lt;/code>&lt;/li>
&lt;li>&lt;code>basic.infant.flight.1&lt;/code>&lt;/li>
&lt;/ul>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Tip&lt;/h4>
Also see &lt;a href="/examples-features/parsing-itinerary-cost/">Parsing ItineraryCost&lt;/a>.
&lt;/div>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
It is advisable to have your integration gracefully handle cost details that have missing/unrecognised/unparsable FPCs; e.g by displaying them as a generic cost.
&lt;/div>
&lt;h2 id="fpcs">FPCs&lt;/h2>
&lt;p>Below is a &lt;strong>non exhaustive&lt;/strong> list of the most common FPCs.&lt;/p>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
This table only lists the first three parts, any FPC may be further appended with a &lt;code>1&lt;/code> or a &lt;code>2&lt;/code> to indicate outbound / inbound respectively.
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Type&lt;/th>
&lt;th>Sub-Type 1&lt;/th>
&lt;th>Sub-Type 2&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>unrecognised&lt;/td>
&lt;td>-&lt;/td>
&lt;td>-&lt;/td>
&lt;td>Indicates a mapping error, can be raised with Paxport Customer Services&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>basic&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>flight&lt;/td>
&lt;td>Flight fare (may include tax/discounts/fees if discrete values are not known)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>basic&lt;/td>
&lt;td>unit&lt;/td>
&lt;td>room&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>flightmeal&lt;/td>
&lt;td>Inflight meal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>insurance&lt;/td>
&lt;td>Insurance&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>seatupgrade&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>seat&lt;/td>
&lt;td>Seat selection&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>transfer&lt;/td>
&lt;td>Resort transfer&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>any&lt;/td>
&lt;td>Generic FPC for extras&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>charity&lt;/td>
&lt;td>Charity donation&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>checkin&lt;/td>
&lt;td>Check-in fee&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>unit&lt;/td>
&lt;td>baggage&lt;/td>
&lt;td>Bag cost.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>unit&lt;/td>
&lt;td>baggagetracking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>unit&lt;/td>
&lt;td>carhire&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>unit&lt;/td>
&lt;td>taxi_transfer&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>carparking&lt;/td>
&lt;td>-&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>board&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>eticket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>flight&lt;/td>
&lt;td>Generic flight fee&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>fuel&lt;/td>
&lt;td>Fuel supplement&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>room&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>paperticket&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>tod&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>handling&lt;/td>
&lt;td>Generic booking fee or card charge.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>afp&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>agent&lt;/td>
&lt;td>Agent fee or commission&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>pax&lt;/td>
&lt;td>baggage&lt;/td>
&lt;td>Bag cost, generally for the recommended bag option.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>charity&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>checkin&lt;/td>
&lt;td>Check-in fee&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>bookingfee&lt;/td>
&lt;td>Booking fee&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>service&lt;/td>
&lt;td>Service fee&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>discount&lt;/td>
&lt;td>Discount&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>earlybooking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>latebooking&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>pax&lt;/td>
&lt;td>flightmeal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>pax&lt;/td>
&lt;td>noflightmeal&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>special&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>seat&lt;/td>
&lt;td>Fee for a mandatory or automatic seat selection&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>room&lt;/td>
&lt;td>occupancy&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>unit&lt;/td>
&lt;td>room&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tax&lt;/td>
&lt;td>adult/child/infant/pax/party&lt;/td>
&lt;td>flight&lt;/td>
&lt;td>Flight tax&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="type">Type&lt;/h2>
&lt;p>The type part helps with high level categorisation.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>basic&lt;/td>
&lt;td>A core cost component, e.g the fare&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>extra&lt;/td>
&lt;td>An extra e.g a meal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>supplement&lt;/td>
&lt;td>A fee or discount&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tax&lt;/td>
&lt;td>A tax&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="sub-type-1">Sub-Type 1&lt;/h2>
&lt;p>The sub-type 1 part helps identify how the cost is applied.&lt;/p>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Tip&lt;/h4>
&lt;p>The passenger definitions (i.e age ranges) for FPCs are from the supplier. E.g a 14 year old passenger would have &lt;code>tax.adult.flight&lt;/code> for Corendon but &lt;code>tax.child.flight&lt;/code> for easyJet.&lt;/p>
&lt;p>The only exception is for youths which lack an FPC Sub-Type 1 at present; these are mapped to child FPCs.&lt;/p>
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>adult&lt;/td>
&lt;td>Applies to one or more adults in the party&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>child&lt;/td>
&lt;td>Applies to one or more children in the party&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>infant&lt;/td>
&lt;td>Applies to one or more infants in the party&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>pax&lt;/td>
&lt;td>Applies to one or more passengers in the party&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>party&lt;/td>
&lt;td>Applies to the party&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>unit&lt;/td>
&lt;td>A generic unit, e.g a bag or a room&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="sub-type-2">Sub-Type 2&lt;/h2>
&lt;p>The sub-type 2 helps identify the specific cost category. E.g &amp;ldquo;flightmeal&amp;rdquo;&lt;/p></description></item></channel></rss>