<?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:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.alpha-beds.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.alpha-beds.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Welcome to the Alphabeds affiliate programme, using Travelcentral from Aria Software.  Affiliate.asmx is an XML Webservice that offers room availability to our affiliate partners so that they can show our product range on their website.  Click on a method below to find out more about the operations behind Affiliate.asmx.&lt;h3&gt;General notes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;There are currently 4 webmethods which fetch availability from our system&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;State is transferred to the Alphabeds site using an encoded cgi string&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Prices are returned at gross rates in GBP, unless a currency is supplied&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Prices on some rooms may be approximate.  This is due to some limitations of legacy systems.  When the user clicks on the valuate link, the price given will be the final price.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Technical notes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Take note of the HTTP headers you must pass with each XML document.  The XML panel in each webmethod description is essentially the HTTP string you should be posting.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;This is a SOAP implementation of an XML Webservice.  Whilst using a SOAP toolkit isn't strictly necessary, it will help speed up development.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Some errors will be returned in an &amp;lt;XMLError&amp;gt; tag in each result set (e.g. missing node values).  SOAP Exceptions may be generated (e.g. malformed SOAP request); these will return a server error 500 and a SOAP message.  This is as per the SOAP specification.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Dates in the TravelCentral system are always processed in the following format:  YYYY-MM-DD&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As we interact with many different systems, do not assume that a node named "EdiCode" will always be an integer.  Many codes and keys will take a variety of string forms, so it is wise to budget for a reasonable string length in your internal systems (128 will be adequate for most code fields).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;MasterDestination fields are taken from the Travelcentral master list of destinations.  These are in the form of a GUID and should be given in the format: {ABCD-EFGH-IJKL-MNOP}.  &lt;!--The destinations can be downloaded &lt;a target="_new" href="http://www.alpharooms.com/affiliate/destinations.xls"&gt;here&lt;/a&gt;.  Do not confuse the MasterDestination with any DestinationKey fields - these are different.--&gt;&lt;/li&gt;&lt;/ul&gt;</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.alpha-beds.com/">
      <s:element name="GetAffiliateAvailability">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AffiliateAuthentication" type="tns:Authenticaton" />
            <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="RoomType" type="tns:Occupancy" />
            <s:element minOccurs="0" maxOccurs="1" name="MasterDestination" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Authenticaton">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Code1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Code2" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="Occupancy">
        <s:restriction base="s:string">
          <s:enumeration value="SingleRoom" />
          <s:enumeration value="SingleOneChildRoom" />
          <s:enumeration value="SingleTwoChildRoom" />
          <s:enumeration value="SingleThreeChildRoom" />
          <s:enumeration value="SingleFourChildRoom" />
          <s:enumeration value="SingleFiveChildRoom" />
          <s:enumeration value="TwinRoom" />
          <s:enumeration value="TwinOneChildRoom" />
          <s:enumeration value="TwinTwoChildRoom" />
          <s:enumeration value="TwinThreeChildRoom" />
          <s:enumeration value="TwinFourChildRoom" />
          <s:enumeration value="TripleRoom" />
          <s:enumeration value="TripleOneChildRoom" />
          <s:enumeration value="TripleTwoChildRoom" />
          <s:enumeration value="TripleThreeChildRoom" />
          <s:enumeration value="QuadRoom" />
          <s:enumeration value="QuadOneChildRoom" />
          <s:enumeration value="QuadTwoChildRoom" />
          <s:enumeration value="QuinRoom" />
          <s:enumeration value="QuinOneChildRoom" />
          <s:enumeration value="SextRoom" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetAffiliateAvailabilityResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAffiliateAvailabilityResult" type="tns:ArrayOfAvailableRoom" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfAvailableRoom">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AvailableRoom" nillable="true" type="tns:AvailableRoom" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AvailableRoom">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="XMLError" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SessionID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="FromDate" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ToDate" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="NumberOfRooms" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EdiSource" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EdiCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="HotelName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Contract" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="IncomingContract" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="MinChildAge" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="MaxChildAge" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RoomAdults" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RoomChildren" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DestinationKey" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DestinationName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ZoneKey" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ZoneName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CategoryDescription" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RoomCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="BoardCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RoomDescription" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="BoardDescription" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EstablishmentKey" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Currency" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalCostAmount" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalSaleAmount" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="IsApproxAmount" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="IsRequest" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="LongDescrption" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Image1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Image2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Image3" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Image4" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="IsSpecialRate" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalDiscountAmount" type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="AvailablityType" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetAffiliateAvailabilityWithPF">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AffiliateAuthentication" type="tns:Authenticaton" />
            <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="RoomType" type="tns:Occupancy" />
            <s:element minOccurs="0" maxOccurs="1" name="MasterDestination" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="hash" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityWithPFResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAffiliateAvailabilityWithPFResult" type="tns:ArrayOfAvailableRoom" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityWithCurrency">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AffiliateAuthentication" type="tns:Authenticaton" />
            <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="RoomType" type="tns:Occupancy" />
            <s:element minOccurs="0" maxOccurs="1" name="MasterDestination" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Currency" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityWithCurrencyResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAffiliateAvailabilityWithCurrencyResult" type="tns:ArrayOfAvailableRoom" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityWithCurrencyAndLocale">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AffiliateAuthentication" type="tns:Authenticaton" />
            <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="RoomType" type="tns:Occupancy" />
            <s:element minOccurs="0" maxOccurs="1" name="MasterDestination" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Currency" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="Locale" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityWithCurrencyAndLocaleResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAffiliateAvailabilityWithCurrencyAndLocaleResult" type="tns:ArrayOfAvailableRoom" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityByDestinationName">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AffiliateAuthentication" type="tns:Authenticaton" />
            <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="RoomType" type="tns:Occupancy" />
            <s:element minOccurs="0" maxOccurs="1" name="MasterDestinationName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityByDestinationNameResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAffiliateAvailabilityByDestinationNameResult" type="tns:ArrayOfAvailableRoom" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityByDestinationNameAndCurrency">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AffiliateAuthentication" type="tns:Authenticaton" />
            <s:element minOccurs="1" maxOccurs="1" name="ArrivalDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="DepartureDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="RoomType" type="tns:Occupancy" />
            <s:element minOccurs="0" maxOccurs="1" name="MasterDestinationName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Currency" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAffiliateAvailabilityByDestinationNameAndCurrencyResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAffiliateAvailabilityByDestinationNameAndCurrencyResult" type="tns:ArrayOfAvailableRoom" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetAffiliateAvailabilitySoapIn">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailability" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilitySoapOut">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityResponse" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityWithPFSoapIn">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityWithPF" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityWithPFSoapOut">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityWithPFResponse" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityWithCurrencySoapIn">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityWithCurrency" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityWithCurrencySoapOut">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityWithCurrencyResponse" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityWithCurrencyAndLocaleSoapIn">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityWithCurrencyAndLocale" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityWithCurrencyAndLocaleSoapOut">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityWithCurrencyAndLocaleResponse" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityByDestinationNameSoapIn">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityByDestinationName" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityByDestinationNameSoapOut">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityByDestinationNameResponse" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityByDestinationNameAndCurrencySoapIn">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityByDestinationNameAndCurrency" />
  </wsdl:message>
  <wsdl:message name="GetAffiliateAvailabilityByDestinationNameAndCurrencySoapOut">
    <wsdl:part name="parameters" element="tns:GetAffiliateAvailabilityByDestinationNameAndCurrencyResponse" />
  </wsdl:message>
  <wsdl:portType name="AffiliateSoap">
    <wsdl:operation name="GetAvailability">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method returns availability from all available rooms in the Travelcentral system. Availability (at the moment) is queried one room at a time. To use the method, simply pass the required parameters and a result set is returned that you may need to store in your own business logic.&lt;br/&gt;&lt;br/&gt; &lt;h3&gt;Valuating the results on the alpha site&lt;/h3&gt;Once a customer has found an available room, they must submit it for valuation to the Alpha-beds website.This valuation will give the customer the final price and alows the customer to continue the booking process.The search parameters must be passed in the following format: &lt;br&gt;&lt;br&gt;http://www.alpharooms.com/hotel.aspx?&lt;br /&gt;destinationid=destinationID  &lt;br /&gt;&amp;affiliate=au.Code1  &lt;br /&gt;&amp;sessionid=SessionID  &lt;br /&gt;&amp;code1=au.Code1  &lt;br /&gt;&amp;r=au.Code1  &lt;br /&gt;&amp;from_date=arrdate(yyyy-MM-dd)  &lt;br /&gt;&amp;to_date=depdate(yyyy-MM-dd)  &lt;br /&gt;&amp;destinationkey=room.DestinationKey  &lt;br /&gt;&amp;boardcode=BoardCode  &lt;br /&gt;&amp;roomcode=RoomCode  &lt;br /&gt;&amp;roomadults=1  &lt;br /&gt;&amp;roomchildren=2  &lt;br /&gt;&amp;edisource=EdiSource  &lt;br /&gt;&amp;edicode=EdiCode  &lt;br /&gt;&amp;contract=Contract  &lt;br /&gt;&amp;incoming_contract=IncomingContract  &lt;br /&gt;&amp;childage1=0  &lt;br /&gt;&amp;childage2=0  &lt;br /&gt;&amp;establishmentkey=room.EstablishmentKey  &lt;br /&gt;&amp;searched=true  &lt;br /&gt;&lt;br /&gt;For Example, Playa Nous Hotel: http://holovirus/AlphaBeds3/hotel.aspx?destinationid=fdcecbb6-b92e-4495-baa4-700f5d046687&amp;affiliate=affiliatename&amp;sessionid=9269381e-5f6b-48ca-9c28-1d7ec42213d3&amp;code1=affiliatename&amp;r=affiliatename&amp;from_date=2006-09-14&amp;to_date=2006-09-21&amp;destinationkey=MALLORCA%20(MAJORCA)&amp;boardcode=BB&amp;roomcode=7074&amp;roomadults=1&amp;roomchildren=2&amp;edisource=O&amp;edicode=846&amp;contract=07852466-a27c-4437-afb2-4952d78fc1c5&amp;incoming_contract=zzzzzz&amp;childage1=0&amp;childage2=0&amp;establishmentkey=1f57a009-6fc4-40a3-b887-a73edb314c40&amp;searched=true&lt;br /&gt;&lt;br /&gt;If a field from the XML is blank, just pass an empty value in the CGI string.</wsdl:documentation>
      <wsdl:input name="GetAffiliateAvailability" message="tns:GetAffiliateAvailabilitySoapIn" />
      <wsdl:output name="GetAffiliateAvailability" message="tns:GetAffiliateAvailabilitySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithPF">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method returns availability from all available rooms in the Travelcentral system. Availability (at the moment) is queried one room at a time. To use the method, simply pass the required parameters and a result set is returned that you may need to store in your own business logic.&lt;br/&gt;&lt;br/&gt; &lt;h3&gt;Valuating the results on the alpha site&lt;/h3&gt;Once a customer has found an available room, they must submit it for valuation to the Alpha-beds website.This valuation will give the customer the final price and alows the customer to continue the booking process.The search parameters must be passed in the following format: &lt;br&gt;&lt;br&gt;http://www.alpharooms.com/hotel.aspx?&lt;br /&gt;destinationid=destinationID  &lt;br /&gt;&amp;affiliate=au.Code1  &lt;br /&gt;&amp;sessionid=SessionID  &lt;br /&gt;&amp;code1=au.Code1  &lt;br /&gt;&amp;r=au.Code1  &lt;br /&gt;&amp;from_date=arrdate(yyyy-MM-dd)  &lt;br /&gt;&amp;to_date=depdate(yyyy-MM-dd)  &lt;br /&gt;&amp;destinationkey=room.DestinationKey  &lt;br /&gt;&amp;boardcode=BoardCode  &lt;br /&gt;&amp;roomcode=RoomCode  &lt;br /&gt;&amp;roomadults=1  &lt;br /&gt;&amp;roomchildren=2  &lt;br /&gt;&amp;edisource=EdiSource  &lt;br /&gt;&amp;edicode=EdiCode  &lt;br /&gt;&amp;contract=Contract  &lt;br /&gt;&amp;incoming_contract=IncomingContract  &lt;br /&gt;&amp;childage1=0  &lt;br /&gt;&amp;childage2=0  &lt;br /&gt;&amp;establishmentkey=room.EstablishmentKey  &lt;br /&gt;&amp;searched=true  &lt;br /&gt;&lt;br /&gt;For Example, Playa Nous Hotel: http://holovirus/AlphaBeds3/hotel.aspx?destinationid=fdcecbb6-b92e-4495-baa4-700f5d046687&amp;affiliate=affiliatename&amp;sessionid=9269381e-5f6b-48ca-9c28-1d7ec42213d3&amp;code1=affiliatename&amp;r=affiliatename&amp;from_date=2006-09-14&amp;to_date=2006-09-21&amp;destinationkey=MALLORCA%20(MAJORCA)&amp;boardcode=BB&amp;roomcode=7074&amp;roomadults=1&amp;roomchildren=2&amp;edisource=O&amp;edicode=846&amp;contract=07852466-a27c-4437-afb2-4952d78fc1c5&amp;incoming_contract=zzzzzz&amp;childage1=0&amp;childage2=0&amp;establishmentkey=1f57a009-6fc4-40a3-b887-a73edb314c40&amp;searched=true&lt;br /&gt;&lt;br /&gt;If a field from the XML is blank, just pass an empty value in the CGI string.</wsdl:documentation>
      <wsdl:input name="GetAffiliateAvailabilityWithPF" message="tns:GetAffiliateAvailabilityWithPFSoapIn" />
      <wsdl:output name="GetAffiliateAvailabilityWithPF" message="tns:GetAffiliateAvailabilityWithPFSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithCurrency">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">As GetAffiliateAvailability but you can pass in a currency value too to get your results in the currency of your choice (USD, EUR, GBP - anything else defaults to GBP)</wsdl:documentation>
      <wsdl:input name="GetAffiliateAvailabilityWithCurrency" message="tns:GetAffiliateAvailabilityWithCurrencySoapIn" />
      <wsdl:output name="GetAffiliateAvailabilityWithCurrency" message="tns:GetAffiliateAvailabilityWithCurrencySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithCurrencyAndLocale">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">As GetAffiliateAvailability but you can pass in a currency value too to get your results in the currency of your choice (USD, EUR, GBP - anything else defaults to GBP).  Locale = 2057 (UK) 1036 (fr) 1031 (de) 3082 (es)</wsdl:documentation>
      <wsdl:input name="GetAffiliateAvailabilityWithCurrencyAndLocale" message="tns:GetAffiliateAvailabilityWithCurrencyAndLocaleSoapIn" />
      <wsdl:output name="GetAffiliateAvailabilityWithCurrencyAndLocale" message="tns:GetAffiliateAvailabilityWithCurrencyAndLocaleSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityByDestinationName">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">As GetAffiliateAvailability but takes a destination name rather than an ID</wsdl:documentation>
      <wsdl:input name="GetAffiliateAvailabilityByDestinationName" message="tns:GetAffiliateAvailabilityByDestinationNameSoapIn" />
      <wsdl:output name="GetAffiliateAvailabilityByDestinationName" message="tns:GetAffiliateAvailabilityByDestinationNameSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityByDestinationNameAndCurrency">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">As GetAffiliateAvailabilityByDestinationName but takes Currency Too (USD, EUR, GBP - anything else defaults to GBP)</wsdl:documentation>
      <wsdl:input name="GetAffiliateAvailabilityByDestinationNameAndCurrency" message="tns:GetAffiliateAvailabilityByDestinationNameAndCurrencySoapIn" />
      <wsdl:output name="GetAffiliateAvailabilityByDestinationNameAndCurrency" message="tns:GetAffiliateAvailabilityByDestinationNameAndCurrencySoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="AffiliateSoap" type="tns:AffiliateSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetAvailability">
      <soap:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailability" style="document" />
      <wsdl:input name="GetAffiliateAvailability">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailability">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithPF">
      <soap:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityWithPF" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityWithPF">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityWithPF">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithCurrency">
      <soap:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityWithCurrency" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityWithCurrency">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityWithCurrency">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithCurrencyAndLocale">
      <soap:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityWithCurrencyAndLocale" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityWithCurrencyAndLocale">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityWithCurrencyAndLocale">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityByDestinationName">
      <soap:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityByDestinationName" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityByDestinationName">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityByDestinationName">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityByDestinationNameAndCurrency">
      <soap:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityByDestinationNameAndCurrency" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityByDestinationNameAndCurrency">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityByDestinationNameAndCurrency">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="AffiliateSoap12" type="tns:AffiliateSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetAvailability">
      <soap12:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailability" style="document" />
      <wsdl:input name="GetAffiliateAvailability">
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailability">
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithPF">
      <soap12:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityWithPF" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityWithPF">
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityWithPF">
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithCurrency">
      <soap12:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityWithCurrency" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityWithCurrency">
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityWithCurrency">
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityWithCurrencyAndLocale">
      <soap12:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityWithCurrencyAndLocale" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityWithCurrencyAndLocale">
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityWithCurrencyAndLocale">
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityByDestinationName">
      <soap12:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityByDestinationName" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityByDestinationName">
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityByDestinationName">
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAvailabilityByDestinationNameAndCurrency">
      <soap12:operation soapAction="http://www.alpha-beds.com/GetAffiliateAvailabilityByDestinationNameAndCurrency" style="document" />
      <wsdl:input name="GetAffiliateAvailabilityByDestinationNameAndCurrency">
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAffiliateAvailabilityByDestinationNameAndCurrency">
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Affiliate">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Welcome to the Alphabeds affiliate programme, using Travelcentral from Aria Software.  Affiliate.asmx is an XML Webservice that offers room availability to our affiliate partners so that they can show our product range on their website.  Click on a method below to find out more about the operations behind Affiliate.asmx.&lt;h3&gt;General notes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;There are currently 4 webmethods which fetch availability from our system&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;State is transferred to the Alphabeds site using an encoded cgi string&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Prices are returned at gross rates in GBP, unless a currency is supplied&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Prices on some rooms may be approximate.  This is due to some limitations of legacy systems.  When the user clicks on the valuate link, the price given will be the final price.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Technical notes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Take note of the HTTP headers you must pass with each XML document.  The XML panel in each webmethod description is essentially the HTTP string you should be posting.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;This is a SOAP implementation of an XML Webservice.  Whilst using a SOAP toolkit isn't strictly necessary, it will help speed up development.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Some errors will be returned in an &amp;lt;XMLError&amp;gt; tag in each result set (e.g. missing node values).  SOAP Exceptions may be generated (e.g. malformed SOAP request); these will return a server error 500 and a SOAP message.  This is as per the SOAP specification.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Dates in the TravelCentral system are always processed in the following format:  YYYY-MM-DD&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As we interact with many different systems, do not assume that a node named "EdiCode" will always be an integer.  Many codes and keys will take a variety of string forms, so it is wise to budget for a reasonable string length in your internal systems (128 will be adequate for most code fields).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;MasterDestination fields are taken from the Travelcentral master list of destinations.  These are in the form of a GUID and should be given in the format: {ABCD-EFGH-IJKL-MNOP}.  &lt;!--The destinations can be downloaded &lt;a target="_new" href="http://www.alpharooms.com/affiliate/destinations.xls"&gt;here&lt;/a&gt;.  Do not confuse the MasterDestination with any DestinationKey fields - these are different.--&gt;&lt;/li&gt;&lt;/ul&gt;</wsdl:documentation>
    <wsdl:port name="AffiliateSoap" binding="tns:AffiliateSoap">
      <soap:address location="http://xml.alpharooms.com/affiliate.asmx" />
    </wsdl:port>
    <wsdl:port name="AffiliateSoap12" binding="tns:AffiliateSoap12">
      <soap12:address location="http://xml.alpharooms.com/affiliate.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>