Travelfusion Direct Connect XML API > Guidelines  >  

Structured Features

Outlined below is the list of Features and their respective conditions/dependencies, together with a table of what values they could have. Our intention here is to be comprehensive, by returning the various features airlines support, leaving the front end/UI to display the relevant features in an easily presentable format.

Your application should ensure that all conditions and dependencies of an option are met for that option to be valid and to be applicable to the relevant result (a flight with specific fare).

In order to test and consume this framework, please submit 'IncludeStructuredFeatures' with value 'y' as a CustomSupplierParameter within the BookingProfile of your StartRouting request.

Please note, every feature/ancillary returned within the StructuredFeatures node is for display purposes only - the correct selection of the corresponding ancillary must be handled via the relevant ancillary CSPs returned in the ProcessDetails response. Please ensure that you are dynamically parsing and displaying each option and would submit the value of the option for any ancillary that is free of charge, even if the carrier includes as part of the fare.

Please also note that the list of features (with their conditions and dependencies) may expand, at a later date, to account for any other requirements reflected in the supplier's business rules.

It is advisable to discard an option with unimplemented conditions/dependencies as they may impact its eligibility, until at least you have incorporated them into your system.

</GroupList>

<Features>

  <Feature Type="FlightChange">

    <Option Id="0" Currency="EUR" Value="0">

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChangeScale" Value="Minor" />

      <Condition Type="MinTimeBeforeDeparture" Value="150" />

      <Condition Type="MaxTimeAfterBooking" Value="1440" />

    </Option>

    <Option Id="1" Currency="EUR" MinValue="35" MaxValue="65">

      <Condition Type="Channel" Value="Online" />

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Condition Type="MinTimeBeforeDeparture" Value="150" />

      <Dependency Type="DateOfTravel" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="2" Currency="EUR" MinValue="50" MaxValue="95">

      <Condition Type="Channel" Value="Airport" />

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Condition Type="MinTimeBeforeDeparture" Value="150" />

      <Dependency Type="DateOfTravel" />

      <Dependency Type="Route" />

    </Option>

  </Feature>

  <Feature Type="NameChange">

    <Option Id="3" Currency="EUR" Value="0">

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChangeScale" Value="Minor" />

      <Condition Type="MinTimeBeforeDeparture" Value="240" />

      <Condition Type="MaxTimeAfterBooking" Value="1440" />

    </Option>

    <Option Id="4" Currency="EUR" Value="115">

      <Condition Type="Channel" Value="Online" />

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger" />

      <Condition Type="MinTimeBeforeDeparture" Value="240" />

    </Option>

    <Option Id="5" Currency="EUR" Value="160">

      <Condition Type="Channel" Value="Airport" />

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger" />

      <Condition Type="MinTimeBeforeDeparture" Value="240" />

    </Option>

  </Feature>

  <Feature Type="SmallCabinBag">

    <Option Id="6" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="Dimensions" Value="35 x 20 x 20 cm" />

    </Option>

  </Feature>

  <Feature Type="LargeCabinBag">

    <Option Id="7" Currency="EUR" Value="6">

      <Condition Type="Provision" Value="Conditional" />

      <Condition Type="Conflicts" Value="14,15,16" />

      <Condition Type="Includes" Value="10" />

      <Condition Type="Weight" Value="10 Kg" />

      <Condition Type="Dimensions" Value="55 x 40 x 20 cm" />

    </Option>

    <Option Id="8" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Plus" />

      <Condition Type="Weight" Value="10 Kg" />

      <Condition Type="Dimensions" Value="55 x 40 x 20 cm" />

    </Option>

    <Option Id="9" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Flexi Plus" />

      <Condition Type="Weight" Value="10 Kg" />

      <Condition Type="Dimensions" Value="55 x 40 x 20 cm" />

    </Option>

  </Feature>

  <Feature Type="SpeedyBoarding">

    <Option Id="10" Currency="EUR" Value="6">

      <Condition Type="Phase" Value="PreBooking" />

      <Condition Type="Provision" Value="Conditional" />

      <Condition Type="Conflicts" Value="14,15,16" />

      <Condition Type="Includes" Value="7" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

    </Option>

    <Option Id="11" Currency="EUR" Value="8">

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

    </Option>

    <Option Id="12" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Plus" />

    </Option>

    <Option Id="13" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Flexi Plus" />

    </Option>

  </Feature>

  <Feature Type="HoldBag">

    <Option Id="14" Currency="EUR" Value="8">

      <Condition Type="Provision" Value="Conditional" />

      <Condition Type="Conflicts" Value="7,10" />

      <Condition Type="Phase" Value="PreBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Condition Type="Weight" Value="10 Kg" />

      <Condition Type="Dimensions" Value="55 x 40 x 20 cm" />

    </Option>

    <Option Id="15" Currency="EUR" Value="10">

      <Condition Type="Provision" Value="Conditional" />

      <Condition Type="Conflicts" Value="7,10" />

      <Condition Type="Channel" Value="Online" />

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Condition Type="Weight" Value="10 Kg" />

      <Condition Type="Dimensions" Value="55 x 40 x 20 cm" />

    </Option>

    <Option Id="16" Currency="EUR" MinValue="20" MaxValue="25">

      <Condition Type="Provision" Value="Conditional" />

      <Condition Type="Conflicts" Value="7,10" />

      <Condition Type="Channel" Value="Airport" />

      <Condition Type="Phase" Value="PostBooking" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Condition Type="Weight" Value="10 Kg" />

      <Condition Type="Dimensions" Value="55 x 40 x 20 cm" />

    </Option>

    <Option Id="17" Currency="EUR" MinValue="25" MaxValue="50">

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Condition Type="Weight" Value="20 Kg" />

      <Condition Type="MaxQuantity" Value="3" />

      <Dependency Type="DateOfTravel" />

      <Dependency Type="PeriodOfTravel" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="18" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="Weight" Value="20 Kg" />

      <Condition Type="Quantity" Value="1" />

      <Condition Type="SupplierClass" Value="Plus" />

    </Option>

  </Feature>

  <Feature Type="Seat" Label="Standard Seat">

    <Option Id="19" Currency="EUR" MinValue="4">

      <Condition Type="SupplierClass" Value="Standard Fare" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="20" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Plus" />

    </Option>

    <Option Id="21" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Flexi Plus" />

    </Option>

  </Feature>

  <Feature Type="Seat" Label="Front Seat">

    <Option Id="22" Currency="EUR" MinValue="13.01">

      <Condition Type="SupplierClass" Value="Standard Fare" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="23" Currency="EUR" MinValue="6.89">

      <Condition Type="SupplierClass" Value="Plus" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="24" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Flexi Plus" />

    </Option>

  </Feature>

  <Feature Type="Seat" Label="Extra Legroom Seat">

    <Option Id="25" Currency="EUR" MinValue="15">

      <Condition Type="SupplierClass" Value="Standard Fare" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="26" Currency="EUR" MinValue="8.88">

      <Condition Type="SupplierClass" Value="Plus" />

      <Condition Type="ChargeModel" Value="PerPassenger,PerSegment" />

      <Dependency Type="Route" />

    </Option>

    <Option Id="27" Currency="EUR" Value="0">

      <Condition Type="Provision" Value="Bundled" />

      <Condition Type="SupplierClass" Value="Flexi Plus" />

    </Option>

  </Feature>

</Features> 

Conditions:

Dependencies: