<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="ResLink" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="ResLink" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">For documentation please go &lt;a href="../doco_Accommodation/Default.aspx"&gt;here&lt;/a&gt;</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="ResLink">
      <s:element name="Ping">
        <s:complexType />
      </s:element>
      <s:element name="PingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="PingResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ResLinkSoapHeader" type="tns:ResLinkSoapHeader" />
      <s:complexType name="ResLinkSoapHeader">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ProviderGUID" type="s:string" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
      <s:element name="GetPropertyList">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPropertyListRequest" type="tns:GetPropertyList_RQ" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetPropertyList_RQ">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonRequest">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="SupplierID" type="s:int" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="CommonRequest" abstract="true" />
      <s:element name="GetPropertyListResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPropertyListResult" type="tns:GetPropertyList_RS" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetPropertyList_RS">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponse">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="PropertyList" type="tns:ArrayOfProperty" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="CommonResponse" abstract="true">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="TimeStamp" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Status" type="tns:Status" />
          <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfErrorItem" />
          <s:element minOccurs="0" maxOccurs="1" name="Warnings" type="tns:ArrayOfWarningItem" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Status">
        <s:attribute name="Code" type="s:int" use="required" />
        <s:attribute name="Message" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfErrorItem">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ErrorItem" nillable="true" type="tns:ErrorItem" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ErrorItem">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Code" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfWarningItem">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="WarningItem" nillable="true" type="tns:WarningItem" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="WarningItem">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfProperty">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Property" nillable="true" type="tns:Property" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Property">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Conditions" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Address" type="tns:Address" />
          <s:element minOccurs="0" maxOccurs="1" name="ContactList" type="tns:ArrayOfContact" />
          <s:element minOccurs="0" maxOccurs="1" name="Images" type="tns:ArrayOfImage" />
          <s:element minOccurs="0" maxOccurs="1" name="PaymentMethods" type="tns:ArrayOfPaymentMethod" />
          <s:element minOccurs="0" maxOccurs="1" name="AdvancePaymentPeriods" type="tns:ArrayOfPaymentPeriod" />
        </s:sequence>
        <s:attribute name="SupplierId" type="s:int" use="required" />
        <s:attribute name="PropertyId" type="s:string" />
        <s:attribute name="Name" type="s:string" />
        <s:attribute name="MinNights" type="s:int" use="required" />
        <s:attribute name="MaxNights" type="s:int" use="required" />
        <s:attribute name="InterfaceType" type="tns:PropertyInterfaceType" use="required" />
      </s:complexType>
      <s:complexType name="Address">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Line1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Line2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Line3" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="State" type="tns:SystemCode" />
          <s:element minOccurs="0" maxOccurs="1" name="Country" type="tns:SystemCode" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SystemCode">
        <s:attribute name="Code" type="s:string" />
        <s:attribute name="Name" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfContact">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Contact" nillable="true" type="tns:Contact" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Contact">
        <s:attribute name="Type" type="tns:ContactType" use="required" />
        <s:attribute name="Description" type="s:string" />
        <s:attribute name="Value" type="s:string" />
      </s:complexType>
      <s:simpleType name="ContactType">
        <s:restriction base="s:string">
          <s:enumeration value="PHONE" />
          <s:enumeration value="FAX" />
          <s:enumeration value="EMAIL" />
          <s:enumeration value="WEBSITE" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfImage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Image" nillable="true" type="tns:Image" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Image">
        <s:attribute name="Description" type="s:string" />
        <s:attribute name="Url" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfPaymentMethod">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PaymentMethod" nillable="true" type="tns:PaymentMethod" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PaymentMethod">
        <s:attribute name="Code" type="s:string" />
        <s:attribute name="Name" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfPaymentPeriod">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AdvancePaymentPeriod" nillable="true" type="tns:PaymentPeriod" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PaymentPeriod">
        <s:attribute name="DateFrom" type="s:dateTime" use="required" />
        <s:attribute name="DateTo" type="s:dateTime" use="required" />
      </s:complexType>
      <s:simpleType name="PropertyInterfaceType">
        <s:restriction base="s:string">
          <s:enumeration value="None" />
          <s:enumeration value="Charts" />
          <s:enumeration value="HostelWorld" />
          <s:enumeration value="SiteMinder" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetPropertyAvailability">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPropertyAvailabilityRequest" type="tns:GetPropertyAvailability_RQ" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetPropertyAvailability_RQ">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonRequest">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="SupplierID" type="s:int" />
              <s:element minOccurs="1" maxOccurs="1" name="DateFrom" type="s:dateTime" />
              <s:element minOccurs="1" maxOccurs="1" name="DateTo" type="s:dateTime" />
              <s:element minOccurs="1" maxOccurs="1" name="Guests" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="Agent" type="tns:AvailAgent" />
              <s:element minOccurs="0" maxOccurs="1" name="RoomTypeId" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="PackageId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="AvailAgent">
        <s:attribute name="ID" type="s:string" />
        <s:attribute name="GUID" type="s:string" />
      </s:complexType>
      <s:element name="GetPropertyAvailabilityResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPropertyAvailabilityResult" type="tns:GetPropertyAvailability_RS" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetPropertyAvailability_RS">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponse">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="PropertyAvailabilities" type="tns:ArrayOfPropertyAvailability" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ArrayOfPropertyAvailability">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PropertyAvailability" nillable="true" type="tns:PropertyAvailability" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PropertyAvailability">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="RoomTypeAvailabilities" type="tns:ArrayOfRoomTypeAvailability" />
        </s:sequence>
        <s:attribute name="PropertyId" type="s:string" />
        <s:attribute name="PackageId" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfRoomTypeAvailability">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RoomTypeAvailability" nillable="true" type="tns:RoomTypeAvailability" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RoomTypeAvailability">
        <s:complexContent mixed="false">
          <s:extension base="tns:RoomType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Availability" type="tns:ArrayOfRoomAvailability" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="RoomType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Images" type="tns:ArrayOfImage" />
        </s:sequence>
        <s:attribute name="RoomTypeId" type="s:string" />
        <s:attribute name="Name" type="s:string" />
        <s:attribute name="MinCapacity" type="s:int" use="required" />
        <s:attribute name="MaxCapacity" type="s:int" use="required" />
        <s:attribute name="ComponentID" type="s:int" use="required" />
      </s:complexType>
      <s:complexType name="ArrayOfRoomAvailability">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RoomAvailability" nillable="true" type="tns:RoomAvailability" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RoomAvailability">
        <s:attribute name="Date" type="s:dateTime" use="required" />
        <s:attribute name="Price" type="s:decimal" use="required" />
        <s:attribute name="Commission" type="s:decimal" use="required" />
        <s:attribute name="Currency" type="s:string" />
        <s:attribute name="Available" type="s:int" use="required" />
        <s:attribute name="MinNights" type="s:int" use="required" />
        <s:attribute name="MaxNights" type="s:int" use="required" />
        <s:attribute name="PtsMulti" type="s:int" use="required" />
        <s:attribute name="CTA" type="s:boolean" use="required" />
        <s:attribute name="CTD" type="s:boolean" use="required" />
        <s:attribute name="StopSell" type="s:boolean" use="required" />
        <s:attribute name="Allotment" type="s:int" use="required" />
        <s:attribute name="Live" type="s:int" use="required" />
      </s:complexType>
      <s:element name="MakePropertyBooking">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="MakePropertyBookingRequest" type="tns:MakePropertyBooking_RQ" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="MakePropertyBooking_RQ">
        <s:complexContent mixed="false">
          <s:extension base="tns:MakeBooking_RQ">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="SupplierID" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="RoomRequests" type="tns:ArrayOfRoomRequest" />
              <s:element minOccurs="0" maxOccurs="1" name="PackageTemplateComponents" type="tns:ArrayOfPackageTemplateComponent" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="MakeBooking_RQ">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonRequest">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="BookingAgent" type="tns:BookingAgent" />
              <s:element minOccurs="0" maxOccurs="1" name="SellingAgent" type="tns:SellingAgent" />
              <s:element minOccurs="0" maxOccurs="1" name="Booking" type="tns:Booking" />
              <s:element minOccurs="0" maxOccurs="1" name="PaxList" type="tns:ArrayOfPax" />
              <s:element minOccurs="0" maxOccurs="1" name="MarketingFields" type="tns:ArrayOfMarketingField" />
              <s:element minOccurs="0" maxOccurs="1" name="Notes" type="tns:ArrayOfString" />
              <s:element minOccurs="0" maxOccurs="1" name="Receipts" type="tns:ArrayOfReceipt" />
              <s:element minOccurs="1" maxOccurs="1" name="MakeTestBooking" type="s:boolean" />
              <s:element minOccurs="1" maxOccurs="1" name="SendConfirmationEmail" type="s:boolean" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="BookingAgent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Contact" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OtherRef" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OtherRef2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SupplierNote" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DepositType" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SellingAgent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Booking">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="MemberID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PaymentToken" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Pickup" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfPax">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Pax" nillable="true" type="tns:Pax" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Pax">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Country_GUID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="State_GUID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Comments" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CommentsInternal" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OtherRef" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OtherRef2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="MarketingFields" type="tns:ArrayOfMarketingField" />
          <s:element minOccurs="0" maxOccurs="1" name="Address" type="tns:Address" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMarketingField">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="MarketingField" nillable="true" type="tns:MarketingField" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="MarketingField">
        <s:attribute name="Type" type="s:string" />
        <s:attribute name="Index" type="s:int" use="required" />
        <s:attribute name="Name" type="s:string" />
        <s:attribute name="CategoryCode" type="s:string" />
        <s:attribute name="Value" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfReceipt">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Receipt" nillable="true" type="tns:Receipt" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Receipt">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Total" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Commission" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="TransactionFee" type="s:decimal" />
          <s:element minOccurs="0" maxOccurs="1" name="FTR" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Currency" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PaymentType" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfRoomRequest">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RoomRequest" nillable="true" type="tns:RoomRequest" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RoomRequest">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="RoomRequestDetails" type="tns:ArrayOfRoomRequestDetail" />
          <s:element minOccurs="0" maxOccurs="1" name="SupplierNote" type="s:string" />
        </s:sequence>
        <s:attribute name="ArrivalDate" type="s:dateTime" use="required" />
        <s:attribute name="Nights" type="s:int" use="required" />
        <s:attribute name="PackageId" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfRoomRequestDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RoomRequestDetail" nillable="true" type="tns:RoomRequestDetail" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RoomRequestDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="RoomRequestDates" type="tns:ArrayOfRoomRequestDate" />
        </s:sequence>
        <s:attribute name="Guests" type="s:int" use="required" />
        <s:attribute name="Quantity" type="s:int" use="required" />
        <s:attribute name="RoomTypeId" type="s:string" />
        <s:attribute name="DiscountReducesCommission" type="s:boolean" use="required" />
      </s:complexType>
      <s:complexType name="ArrayOfRoomRequestDate">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RoomRequestDate" nillable="true" type="tns:RoomRequestDate" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RoomRequestDate">
        <s:attribute name="Date" type="s:dateTime" use="required" />
        <s:attribute name="Price" type="s:decimal" use="required" />
        <s:attribute name="Discount" type="s:decimal" use="required" />
        <s:attribute name="Commission" type="s:decimal" use="required" />
        <s:attribute name="Currency" type="s:string" />
        <s:attribute name="AppliedPointsMultiplier" type="s:int" use="required" />
      </s:complexType>
      <s:complexType name="ArrayOfPackageTemplateComponent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PackageTemplateComponent" nillable="true" type="tns:PackageTemplateComponent" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PackageTemplateComponent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Discount" type="tns:Discount" />
          <s:element minOccurs="0" maxOccurs="1" name="SupplierNote" type="s:string" />
        </s:sequence>
        <s:attribute name="TemplateID" type="s:int" use="required" />
        <s:attribute name="ComponentID" type="s:int" use="required" />
        <s:attribute name="ComponentAvailabilityID" type="s:int" use="required" />
        <s:attribute name="ComponentAvailabilityDate" type="s:dateTime" use="required" />
        <s:attribute name="EchoToken" type="s:string" />
        <s:attribute name="AccommodationNightsPre" type="s:int" />
        <s:attribute name="AccommodationNightsPost" type="s:int" />
      </s:complexType>
      <s:complexType name="Discount">
        <s:attribute name="Amount" type="s:decimal" use="required" />
        <s:attribute name="Type" type="tns:DiscountType" use="required" />
      </s:complexType>
      <s:simpleType name="DiscountType">
        <s:restriction base="s:string">
          <s:enumeration value="Amount" />
          <s:enumeration value="Percent" />
        </s:restriction>
      </s:simpleType>
      <s:element name="MakePropertyBookingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="MakePropertyBookingResult" type="tns:MakePropertyBooking_RS" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="MakePropertyBooking_RS">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponseOnRequest">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="CommonResponseOnRequest" abstract="true">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponseBooking">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="OnRequest" type="s:boolean" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="CommonResponseBooking" abstract="true">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponse">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="CalculatedPrice" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="CalculatedCommission" type="s:decimal" />
              <s:element minOccurs="0" maxOccurs="1" name="FinancialSummary" type="tns:FinancialSummary" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="FinancialSummary">
        <s:attribute name="Currency" type="s:string" />
        <s:attribute name="EchoToken" type="s:string" />
        <s:attribute name="CalculatedPrice" type="s:decimal" use="required" />
        <s:attribute name="CalculatedCommission" type="s:decimal" use="required" />
        <s:attribute name="CalculatedDiscount" type="s:decimal" use="required" />
        <s:attribute name="DiscountedPrice" type="s:decimal" use="required" />
        <s:attribute name="DiscountedCommission" type="s:decimal" use="required" />
        <s:attribute name="DebtorAmount" type="s:decimal" use="required" />
        <s:attribute name="AmountToPayOnArrival" type="s:decimal" use="required" />
        <s:attribute name="AmountToPayOnBooking" type="s:decimal" use="required" />
        <s:attribute name="AmountToPayAgent" type="s:decimal" use="required" />
        <s:attribute name="ReceiptTotal" type="s:decimal" use="required" />
        <s:attribute name="TransactionFeeTotal" type="s:decimal" use="required" />
        <s:attribute name="AdvancePayment" type="s:boolean" use="required" />
        <s:attribute name="AdvancePaymentDate" type="s:dateTime" use="required" />
      </s:complexType>
      <s:element name="ValidatePropertyBooking">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ValidatePropertyBookingRequest" type="tns:MakePropertyBooking_RQ" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ValidatePropertyBookingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ValidatePropertyBookingResult" type="tns:ValidatePropertyBooking_RS" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ValidatePropertyBooking_RS">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponseOnRequest">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="Valid" type="s:boolean" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="CancelSiteMinderBooking">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelSiteMinderBookingRequest" type="tns:CancelSiteMinderBooking_RQ" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CancelSiteMinderBooking_RQ">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonRequest">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="SupplierID" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="VoucherRef" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="RoomTypeCode" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="RatePlanCode" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="Pax" type="tns:ArrayOfPax" />
              <s:element minOccurs="1" maxOccurs="1" name="StartDate" type="s:dateTime" />
              <s:element minOccurs="1" maxOccurs="1" name="FinishDate" type="s:dateTime" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="CancelSiteMinderBookingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelSiteMinderBookingResult" type="tns:CancelSiteMinderBooking_RS" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CancelSiteMinderBooking_RS">
        <s:complexContent mixed="false">
          <s:extension base="tns:CommonResponse">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="Success" type="s:boolean" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
  </wsdl:types>
  <wsdl:message name="PingSoapIn">
    <wsdl:part name="parameters" element="tns:Ping" />
  </wsdl:message>
  <wsdl:message name="PingSoapOut">
    <wsdl:part name="parameters" element="tns:PingResponse" />
  </wsdl:message>
  <wsdl:message name="PingResLinkSoapHeader">
    <wsdl:part name="ResLinkSoapHeader" element="tns:ResLinkSoapHeader" />
  </wsdl:message>
  <wsdl:message name="GetPropertyListSoapIn">
    <wsdl:part name="parameters" element="tns:GetPropertyList" />
  </wsdl:message>
  <wsdl:message name="GetPropertyListSoapOut">
    <wsdl:part name="parameters" element="tns:GetPropertyListResponse" />
  </wsdl:message>
  <wsdl:message name="GetPropertyListResLinkSoapHeader">
    <wsdl:part name="ResLinkSoapHeader" element="tns:ResLinkSoapHeader" />
  </wsdl:message>
  <wsdl:message name="GetPropertyAvailabilitySoapIn">
    <wsdl:part name="parameters" element="tns:GetPropertyAvailability" />
  </wsdl:message>
  <wsdl:message name="GetPropertyAvailabilitySoapOut">
    <wsdl:part name="parameters" element="tns:GetPropertyAvailabilityResponse" />
  </wsdl:message>
  <wsdl:message name="GetPropertyAvailabilityResLinkSoapHeader">
    <wsdl:part name="ResLinkSoapHeader" element="tns:ResLinkSoapHeader" />
  </wsdl:message>
  <wsdl:message name="MakePropertyBookingSoapIn">
    <wsdl:part name="parameters" element="tns:MakePropertyBooking" />
  </wsdl:message>
  <wsdl:message name="MakePropertyBookingSoapOut">
    <wsdl:part name="parameters" element="tns:MakePropertyBookingResponse" />
  </wsdl:message>
  <wsdl:message name="MakePropertyBookingResLinkSoapHeader">
    <wsdl:part name="ResLinkSoapHeader" element="tns:ResLinkSoapHeader" />
  </wsdl:message>
  <wsdl:message name="ValidatePropertyBookingSoapIn">
    <wsdl:part name="parameters" element="tns:ValidatePropertyBooking" />
  </wsdl:message>
  <wsdl:message name="ValidatePropertyBookingSoapOut">
    <wsdl:part name="parameters" element="tns:ValidatePropertyBookingResponse" />
  </wsdl:message>
  <wsdl:message name="ValidatePropertyBookingResLinkSoapHeader">
    <wsdl:part name="ResLinkSoapHeader" element="tns:ResLinkSoapHeader" />
  </wsdl:message>
  <wsdl:message name="CancelSiteMinderBookingSoapIn">
    <wsdl:part name="parameters" element="tns:CancelSiteMinderBooking" />
  </wsdl:message>
  <wsdl:message name="CancelSiteMinderBookingSoapOut">
    <wsdl:part name="parameters" element="tns:CancelSiteMinderBookingResponse" />
  </wsdl:message>
  <wsdl:message name="CancelSiteMinderBookingResLinkSoapHeader">
    <wsdl:part name="ResLinkSoapHeader" element="tns:ResLinkSoapHeader" />
  </wsdl:message>
  <wsdl:message name="PingHttpGetIn" />
  <wsdl:message name="PingHttpGetOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:message name="PingHttpPostIn" />
  <wsdl:message name="PingHttpPostOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:portType name="ResLink_x0020_Accommodation_x0020_ServiceSoap">
    <wsdl:operation name="Ping">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Connection Test</wsdl:documentation>
      <wsdl:input message="tns:PingSoapIn" />
      <wsdl:output message="tns:PingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPropertyList">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns details for the specified Property</wsdl:documentation>
      <wsdl:input message="tns:GetPropertyListSoapIn" />
      <wsdl:output message="tns:GetPropertyListSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPropertyAvailability">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns availability for the specified Property</wsdl:documentation>
      <wsdl:input message="tns:GetPropertyAvailabilitySoapIn" />
      <wsdl:output message="tns:GetPropertyAvailabilitySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="MakePropertyBooking">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Create a new Property Booking</wsdl:documentation>
      <wsdl:input message="tns:MakePropertyBookingSoapIn" />
      <wsdl:output message="tns:MakePropertyBookingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ValidatePropertyBooking">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Create a new Property Booking</wsdl:documentation>
      <wsdl:input message="tns:ValidatePropertyBookingSoapIn" />
      <wsdl:output message="tns:ValidatePropertyBookingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CancelSiteMinderBooking">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Cancels a SiteMinder Booking</wsdl:documentation>
      <wsdl:input message="tns:CancelSiteMinderBookingSoapIn" />
      <wsdl:output message="tns:CancelSiteMinderBookingSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="ResLink_x0020_Accommodation_x0020_ServiceHttpGet">
    <wsdl:operation name="Ping">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Connection Test</wsdl:documentation>
      <wsdl:input message="tns:PingHttpGetIn" />
      <wsdl:output message="tns:PingHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="ResLink_x0020_Accommodation_x0020_ServiceHttpPost">
    <wsdl:operation name="Ping">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Connection Test</wsdl:documentation>
      <wsdl:input message="tns:PingHttpPostIn" />
      <wsdl:output message="tns:PingHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ResLink_x0020_Accommodation_x0020_ServiceSoap" type="tns:ResLink_x0020_Accommodation_x0020_ServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Ping">
      <soap:operation soapAction="ResLink/Ping" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:PingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPropertyList">
      <soap:operation soapAction="ResLink/GetPropertyList" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetPropertyListResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPropertyAvailability">
      <soap:operation soapAction="ResLink/GetPropertyAvailability" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetPropertyAvailabilityResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MakePropertyBooking">
      <soap:operation soapAction="ResLink/MakePropertyBooking" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:MakePropertyBookingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ValidatePropertyBooking">
      <soap:operation soapAction="ResLink/ValidatePropertyBooking" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:ValidatePropertyBookingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelSiteMinderBooking">
      <soap:operation soapAction="ResLink/CancelSiteMinderBooking" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:CancelSiteMinderBookingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="ResLink_x0020_Accommodation_x0020_ServiceSoap12" type="tns:ResLink_x0020_Accommodation_x0020_ServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Ping">
      <soap12:operation soapAction="ResLink/Ping" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:PingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPropertyList">
      <soap12:operation soapAction="ResLink/GetPropertyList" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetPropertyListResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPropertyAvailability">
      <soap12:operation soapAction="ResLink/GetPropertyAvailability" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetPropertyAvailabilityResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MakePropertyBooking">
      <soap12:operation soapAction="ResLink/MakePropertyBooking" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:MakePropertyBookingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ValidatePropertyBooking">
      <soap12:operation soapAction="ResLink/ValidatePropertyBooking" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:ValidatePropertyBookingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelSiteMinderBooking">
      <soap12:operation soapAction="ResLink/CancelSiteMinderBooking" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:CancelSiteMinderBookingResLinkSoapHeader" part="ResLinkSoapHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="ResLink_x0020_Accommodation_x0020_ServiceHttpGet" type="tns:ResLink_x0020_Accommodation_x0020_ServiceHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="Ping">
      <http:operation location="/Ping" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="ResLink_x0020_Accommodation_x0020_ServiceHttpPost" type="tns:ResLink_x0020_Accommodation_x0020_ServiceHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="Ping">
      <http:operation location="/Ping" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ResLink_x0020_Accommodation_x0020_Service">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">For documentation please go &lt;a href="../doco_Accommodation/Default.aspx"&gt;here&lt;/a&gt;</wsdl:documentation>
    <wsdl:port name="ResLink_x0020_Accommodation_x0020_ServiceSoap" binding="tns:ResLink_x0020_Accommodation_x0020_ServiceSoap">
      <soap:address location="https://www.reslink.net/ResLink/Public/AccommodationService.asmx" />
    </wsdl:port>
    <wsdl:port name="ResLink_x0020_Accommodation_x0020_ServiceSoap12" binding="tns:ResLink_x0020_Accommodation_x0020_ServiceSoap12">
      <soap12:address location="https://www.reslink.net/ResLink/Public/AccommodationService.asmx" />
    </wsdl:port>
    <wsdl:port name="ResLink_x0020_Accommodation_x0020_ServiceHttpGet" binding="tns:ResLink_x0020_Accommodation_x0020_ServiceHttpGet">
      <http:address location="https://www.reslink.net/ResLink/Public/AccommodationService.asmx" />
    </wsdl:port>
    <wsdl:port name="ResLink_x0020_Accommodation_x0020_ServiceHttpPost" binding="tns:ResLink_x0020_Accommodation_x0020_ServiceHttpPost">
      <http:address location="https://www.reslink.net/ResLink/Public/AccommodationService.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>