<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://farequest.com/services/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://farequest.com/services/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://farequest.com/services/">
      <s:import namespace="http://microsoft.com/wsdl/types/" />
      <s:element name="IsAlive">
        <s:complexType />
      </s:element>
      <s:element name="IsAliveResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="IsAliveResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAirportsStartingWith">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="prefixText" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="count" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAirportsStartingWithResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAirportsStartingWithResult" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="FindAirportsByState">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="stateAbbrev" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FindAirportsByStateResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="FindAirportsByStateResult" type="tns:ArrayOfAirport" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfAirport">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Airport" nillable="true" type="tns:Airport" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Airport">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="FindAirportsStartingWith">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="prefixText" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="count" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FindAirportsStartingWithResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="FindAirportsStartingWithResult" type="tns:ArrayOfAirport" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAirports">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="airportstartchar" type="s1:char" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAirportsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAirportsResult" type="tns:ArrayOfAirport" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="LogAirClickOut">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="searchid" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="searchtoken" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="LogAirClickOutResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="LogAirClickOutResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DoAirSearch">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="searchparameters" type="tns:AirSearchParam" />
            <s:element minOccurs="0" maxOccurs="1" name="partnername" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="AirSearchParam">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ClickInID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Segments" type="tns:ArrayOfAirSearchSegment" />
          <s:element minOccurs="1" maxOccurs="1" name="SearchType" type="tns:AirSearchType" />
          <s:element minOccurs="1" maxOccurs="1" name="ClassOfService" type="tns:AirClassOfService" />
          <s:element minOccurs="0" maxOccurs="1" name="PrefferedAirlines" type="tns:ArrayOfAirline" />
          <s:element minOccurs="1" maxOccurs="1" name="PreferNonStop" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Affiliate" type="tns:Affiliate" />
          <s:element minOccurs="1" maxOccurs="1" name="Adults" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Children" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Seniors" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfAirSearchSegment">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AirSearchSegment" nillable="true" type="tns:AirSearchSegment" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AirSearchSegment">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Origin" type="tns:Airport" />
          <s:element minOccurs="0" maxOccurs="1" name="Destination" type="tns:Airport" />
          <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="DepartureTime" type="tns:AirTravelTime" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="AirTravelTime">
        <s:restriction base="s:string">
          <s:enumeration value="Anytime" />
          <s:enumeration value="EarlyMorning" />
          <s:enumeration value="Morning" />
          <s:enumeration value="Noon" />
          <s:enumeration value="Afternoon" />
          <s:enumeration value="Evening" />
          <s:enumeration value="Night" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="AirSearchType">
        <s:restriction base="s:string">
          <s:enumeration value="OneWay" />
          <s:enumeration value="RoundTrip" />
          <s:enumeration value="MultiCity" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="AirClassOfService">
        <s:restriction base="s:string">
          <s:enumeration value="Economy" />
          <s:enumeration value="First" />
          <s:enumeration value="Business" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfAirline">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Airline" nillable="true" type="tns:Airline" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Airline">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Affiliate">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="AffiliateID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="AffiliateName" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="DoAirSearchResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DoAirSearchResult" type="tns:ArrayOfAirItinerary" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfAirItinerary">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AirItinerary" nillable="true" type="tns:AirItinerary" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AirItinerary">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Segments" type="tns:ArrayOfAirItinerarySegment" />
          <s:element minOccurs="1" maxOccurs="1" name="Price" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalPrice" type="s:float" />
          <s:element minOccurs="0" maxOccurs="1" name="PartnerRedirect" type="tns:ArrayOfAnyType" />
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PartnerName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="SearchID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="SearchToken" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="FlightString" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfAirItinerarySegment">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AirItinerarySegment" nillable="true" type="tns:AirItinerarySegment" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AirItinerarySegment">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="ItineraryLegs" type="tns:ArrayOfAirItinerarySegmentLeg" />
          <s:element minOccurs="1" maxOccurs="1" name="Stops" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalDuration" type="tns:TimeSpan" />
          <s:element minOccurs="1" maxOccurs="1" name="OvernightFlight" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="MultipleCarriers" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Origin" type="tns:Airport" />
          <s:element minOccurs="0" maxOccurs="1" name="Destination" type="tns:Airport" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfAirItinerarySegmentLeg">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AirItinerarySegmentLeg" nillable="true" type="tns:AirItinerarySegmentLeg" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AirItinerarySegmentLeg">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Airline" type="tns:Airline" />
          <s:element minOccurs="0" maxOccurs="1" name="Origin" type="tns:Airport" />
          <s:element minOccurs="0" maxOccurs="1" name="Destination" type="tns:Airport" />
          <s:element minOccurs="1" maxOccurs="1" name="Class" type="tns:AirClassOfService" />
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="DepartureTime" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="ArrivalTime" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="FlightNumber" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="TimeSpan" />
      <s:complexType name="ArrayOfAnyType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AirPartnerParameter" />
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
      <s:simpleType name="char">
        <s:restriction base="s:unsignedShort" />
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="IsAliveSoapIn">
    <wsdl:part name="parameters" element="tns:IsAlive" />
  </wsdl:message>
  <wsdl:message name="IsAliveSoapOut">
    <wsdl:part name="parameters" element="tns:IsAliveResponse" />
  </wsdl:message>
  <wsdl:message name="GetAirportsStartingWithSoapIn">
    <wsdl:part name="parameters" element="tns:GetAirportsStartingWith" />
  </wsdl:message>
  <wsdl:message name="GetAirportsStartingWithSoapOut">
    <wsdl:part name="parameters" element="tns:GetAirportsStartingWithResponse" />
  </wsdl:message>
  <wsdl:message name="FindAirportsByStateSoapIn">
    <wsdl:part name="parameters" element="tns:FindAirportsByState" />
  </wsdl:message>
  <wsdl:message name="FindAirportsByStateSoapOut">
    <wsdl:part name="parameters" element="tns:FindAirportsByStateResponse" />
  </wsdl:message>
  <wsdl:message name="FindAirportsStartingWithSoapIn">
    <wsdl:part name="parameters" element="tns:FindAirportsStartingWith" />
  </wsdl:message>
  <wsdl:message name="FindAirportsStartingWithSoapOut">
    <wsdl:part name="parameters" element="tns:FindAirportsStartingWithResponse" />
  </wsdl:message>
  <wsdl:message name="GetAirportsSoapIn">
    <wsdl:part name="parameters" element="tns:GetAirports" />
  </wsdl:message>
  <wsdl:message name="GetAirportsSoapOut">
    <wsdl:part name="parameters" element="tns:GetAirportsResponse" />
  </wsdl:message>
  <wsdl:message name="LogAirClickOutSoapIn">
    <wsdl:part name="parameters" element="tns:LogAirClickOut" />
  </wsdl:message>
  <wsdl:message name="LogAirClickOutSoapOut">
    <wsdl:part name="parameters" element="tns:LogAirClickOutResponse" />
  </wsdl:message>
  <wsdl:message name="DoAirSearchSoapIn">
    <wsdl:part name="parameters" element="tns:DoAirSearch" />
  </wsdl:message>
  <wsdl:message name="DoAirSearchSoapOut">
    <wsdl:part name="parameters" element="tns:DoAirSearchResponse" />
  </wsdl:message>
  <wsdl:portType name="FASTWebServiceSoap">
    <wsdl:operation name="IsAlive">
      <wsdl:input message="tns:IsAliveSoapIn" />
      <wsdl:output message="tns:IsAliveSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAirportsStartingWith">
      <wsdl:input message="tns:GetAirportsStartingWithSoapIn" />
      <wsdl:output message="tns:GetAirportsStartingWithSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="FindAirportsByState">
      <wsdl:input message="tns:FindAirportsByStateSoapIn" />
      <wsdl:output message="tns:FindAirportsByStateSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="FindAirportsStartingWith">
      <wsdl:input message="tns:FindAirportsStartingWithSoapIn" />
      <wsdl:output message="tns:FindAirportsStartingWithSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAirports">
      <wsdl:input message="tns:GetAirportsSoapIn" />
      <wsdl:output message="tns:GetAirportsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="LogAirClickOut">
      <wsdl:input message="tns:LogAirClickOutSoapIn" />
      <wsdl:output message="tns:LogAirClickOutSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DoAirSearch">
      <wsdl:input message="tns:DoAirSearchSoapIn" />
      <wsdl:output message="tns:DoAirSearchSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="FASTWebServiceSoap" type="tns:FASTWebServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="IsAlive">
      <soap:operation soapAction="http://farequest.com/services/IsAlive" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAirportsStartingWith">
      <soap:operation soapAction="http://farequest.com/services/GetAirportsStartingWith" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FindAirportsByState">
      <soap:operation soapAction="http://farequest.com/services/FindAirportsByState" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FindAirportsStartingWith">
      <soap:operation soapAction="http://farequest.com/services/FindAirportsStartingWith" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAirports">
      <soap:operation soapAction="http://farequest.com/services/GetAirports" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="LogAirClickOut">
      <soap:operation soapAction="http://farequest.com/services/LogAirClickOut" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DoAirSearch">
      <soap:operation soapAction="http://farequest.com/services/DoAirSearch" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="FASTWebServiceSoap12" type="tns:FASTWebServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="IsAlive">
      <soap12:operation soapAction="http://farequest.com/services/IsAlive" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAirportsStartingWith">
      <soap12:operation soapAction="http://farequest.com/services/GetAirportsStartingWith" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FindAirportsByState">
      <soap12:operation soapAction="http://farequest.com/services/FindAirportsByState" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FindAirportsStartingWith">
      <soap12:operation soapAction="http://farequest.com/services/FindAirportsStartingWith" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAirports">
      <soap12:operation soapAction="http://farequest.com/services/GetAirports" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="LogAirClickOut">
      <soap12:operation soapAction="http://farequest.com/services/LogAirClickOut" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DoAirSearch">
      <soap12:operation soapAction="http://farequest.com/services/DoAirSearch" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="FASTWebService">
    <wsdl:port name="FASTWebServiceSoap" binding="tns:FASTWebServiceSoap">
      <soap:address location="http://www.farequest.com/FASTwebservice.asmx" />
    </wsdl:port>
    <wsdl:port name="FASTWebServiceSoap12" binding="tns:FASTWebServiceSoap12">
      <soap12:address location="http://www.farequest.com/FASTwebservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>