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.

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 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.

</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:

TypeValue FormatExampleDescription
SupplierClassfree textStandard FareSpecifies the class of service.
Weight[N] Kg10 KgSpecifies the weight of an item in Kg.
MaxWeight[N] Kg45 KgSpecifies the maximum weight in kg. Used when an option is bound by weight instead of quantity.
Dimensions[L] x [W] x [H] cm35 x 20 x 20 cmSpecifies the dimensions of an item (length x width x height) in cm.
Quantitya number1Specifies the quantity of an item.
MaxQuantitya number2Specifies the maximum quantity of an item.
MinTimeBeforeDepartureminutes240Specifies a minimum time (in minutes) before departure.
MaxTimeAfterBookingminutes1440Specifies a maximum time (in minutes) after booking creation..
RequiresComma-separated collection of option ID’s10,23,33Specifies a dependency on the other feature(s) or specific option(s) of
IncludesComma-separated collection of option ID’s22,1,13Specifies inclusive feature(s) or specific option(s) of
ConflictsComma-separated collection of option ID’s4,5,7Specifies conflicts with other feature(s) or specific option(s) of
Provision"Conditional" or "Bundled"Specifies the type of provision. A conditional provision is when an option of a feature depends or conflicts with another feature or option of. If specified as Bundled it means that a feature (or an option of) comes with the flight as long as all conditions are met (e.g. if specific to a SupplierClass, its only applicable to fares of that class)
PhaseComma-separated, combination of "PreBooking" and "PostBooking"PreBookingSpecifies the phase(s) to which an option is applicable. This could be a combination of one or more of the listed values.
ChannelComma-separated, combination of "Online", "Airport" and "CallCentre"Online,AirportSpecifies the channel(s) to which an option is applicable. This could be a combination of one or more of the listed values.
ChangeScale"Minor" or "Substantial"MinorSpecifies the type of change. This condition is applicable only to post-booking actions.
RouteType"Domestic" or "International"DomesticSpecifies the type of route
ChargeModelComma-separated, combination of "PerBooking", "PerPassenger" and "PerSegment"PerPassenger, PerSegmentSpecifies the model of charge of an option.
TravellerTypeComma-separated, combination of "SRC", "ADT", "STU", "YTH", "CHD", "INF"ADT,YTH,CHDSpecifies the type of traveller(s) to which an option is applicable. This could be a combination of one or more of the listed values.
OperatorCodeIATA Airline Code, alphanumeric, 2 charsU2Specifies the IATA identifier of a carrier

Dependencies:

TypeDescription
TimeOfChangeDepends on the time of change relative to the time of booking.
TimeOfDepartureDepends on the time of change relative to the time of departure.
DateOfTravelDepends on the selected dates of travel.
PeriodOfTravelDepends on the period of travel (during peak or non-peak season).
PhaseDepends on the phase - at the time of or after booking.
ChannelDepends on the channel - if online, at the airport or through call centre.
RouteDepends on the route of the booking.
CabinSectionDepends on section within an aircraft cabin.