Complex WSDL?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have to create a SOAP client for a SOAP service, and I am PHP5's SOAP Extension.

The service is part of a hotel chain management suite, its WSDL follows at the end of this message.

I feel that the message structure is overly complex, but that's just my opinion.

As listed as part of the service's documentation, a sample "simple" availability request should look like this:
---
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
   <soap:Header>
<OGHeader transactionID="000032" primaryLangID="E" timeStamp="2004-01- 09T09:55:16.3618750-05:00" xmlns="http://webservices.micros.com/og/4.3/Core/";>
       <Origin entityID="WEST" systemType="WEB"/>
       <Destination entityID="TI" systemType="ORS"/>
       </OGHeader>
   </soap:Header>
   <soap:Body>
<AvailabilityRequest xmlns:a="http://webservices.micros.com/og/4.3/Availability/"; xmlns:hc="http://webservices.micros.com/og/4.3/HotelCommon/"; summaryOnly="true"
           xmlns="http://webservices.micros.com/ows/5.1/Availability.wsdl";>
           <a:AvailRequestSegment availReqType="Room" numberOfRooms="1"
roomOccupancy="2" totalNumberOfGuests="2" numberOfChildren="0">
               <a:StayDateRange>
<hc:StartDate>2006-11-15T00:00:00.0000000-05:00</hc:StartDate> <hc:EndDate>2006-11-17T00:00:00.0000000-05:00</hc:EndDate>
               </a:StayDateRange>
               <a:HotelSearchCriteria>
                   <a:Criterion>
                       <a:HotelRef chainCode="WC" hotelCode="SEFIVE"/>
                   </a:Criterion>
               </a:HotelSearchCriteria>
           </a:AvailRequestSegment>
       </AvailabilityRequest>
   </soap:Body>
</soap:Envelope>
---

As far as I can figure out by calling __getFunctions() and __getTypes(), I only need to pass a boolean type to the Availability method. Obviously, by doing so I get a SOAP Fault stating "Missing or Corrupt AvailRequestSegment".

If you are still reading this message, here are my questions:

How do I pass both the summaryOnly boolean type *and* a AvailRequestSegment type as part of the call? Please just point me in the right direction.

Also, how can I examine the source of the raw XML call that is posted to the service, so that I can check the XML source structure? I am using Debian Sarge.

PS: Sorry about the length of this message, but I thought that including the WSDL would shed some light on my questions.

Thank you very much for any kind of help offered,
Veronica


Here is the WSDL:
---
<?xml version="1.0" encoding="utf-8"?>

<definitions xmlns:s1="http://webservices.micros.com/og/4.3/Availability/"; xmlns:s6="http://webservices.micros.com/og/4.3/Core/"; xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:s="http://www.w3.org/2001/XMLSchema"; xmlns:s0="http://webservices.micros.com/ows/5.1/Availability.wsdl"; xmlns:s3="http://webservices.micros.com/og/4.3/Common/"; xmlns:s2="http://webservices.micros.com/og/4.3/HotelCommon/"; xmlns:s5="http://webservices.micros.com/og/4.3/Membership/"; xmlns:s4="http://webservices.micros.com/og/4.3/Name/"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:tns="http://tempuri.org/"; xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; targetNamespace="http://tempuri.org/"; xmlns="http://schemas.xmlsoap.org/wsdl/";>
 <types>
   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/ows/5.1/Availability.wsdl";>
     <s:import namespace="http://webservices.micros.com/og/4.3/Availability/"; />
     <s:import namespace="http://webservices.micros.com/og/4.3/HotelCommon/"; />
     <s:import namespace="http://webservices.micros.com/og/4.3/Common/"; />
     <s:element name="AvailabilityRequest" type="s0:AvailabilityRequest" />
     <s:complexType name="AvailabilityRequest">
       <s:annotation>

         <s:appinfo>
           <keepNamespaceDeclarations xmlns="">xsn</keepNamespaceDeclarations>
         </s:appinfo>
       </s:annotation>
       <s:complexContent mixed="false">
         <s:extension base="s1:AvailRequestSegmentList">
           <s:attribute name="summaryOnly" type="s:boolean" use="required" />
         </s:extension>

       </s:complexContent>
     </s:complexType>
     <s:element name="AvailabilityResponse" type="s0:AvailabilityResponse" />
     <s:complexType name="AvailabilityResponse">
       <s:annotation>
         <s:appinfo>
           <keepNamespaceDeclarations xmlns="">xsn</keepNamespaceDeclarations>
         </s:appinfo>

       </s:annotation>
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Result" type="s2:GDSResultStatus" />
         <s:element minOccurs="0" maxOccurs="1" name="AvailResponseSegments" type="s1:ArrayOfAvailResponseSegment" />
       </s:sequence>
       <s:attribute name="summaryOnly" type="s:boolean" use="required" />
     </s:complexType>
     <s:element name="RegionalAvailabilityRequest" type="s0:RegionalAvailabilityRequest" />
     <s:complexType name="RegionalAvailabilityRequest">

       <s:sequence>
         <s:choice minOccurs="1" maxOccurs="1">
           <s:element minOccurs="0" maxOccurs="1" name="HotelReferences" type="s2:ArrayOfHotelReference1" />
           <s:element minOccurs="0" maxOccurs="1" name="GeographicSearch" type="s1:RegionalSearch" />
           <s:element minOccurs="0" maxOccurs="1" name="RegionalSearchCode" type="s1:RegionalSearchCode" />
         </s:choice>
         <s:element minOccurs="0" maxOccurs="1" name="StayDateRange" type="s2:TimeSpan" />
         <s:element minOccurs="0" maxOccurs="1" name="NumberOfRooms" type="s:int" />
         <s:element minOccurs="1" maxOccurs="1" name="NumberOfGuests" type="s:int" />

         <s:element minOccurs="0" maxOccurs="1" name="MinMaxRate" type="s2:MinMaxRate" />
       </s:sequence>
     </s:complexType>
     <s:element name="HotelReference" nillable="true" type="s2:HotelReference" />
     <s:element name="RegionalAvailabilityResponse" type="s0:RegionalAvailabilityResponse" />
     <s:complexType name="RegionalAvailabilityResponse">
       <s:annotation>
         <s:appinfo>
           <keepNamespaceDeclarations xmlns="">xsn</keepNamespaceDeclarations>

         </s:appinfo>
       </s:annotation>
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Result" type="s2:GDSResultStatus" />
         <s:element minOccurs="0" maxOccurs="1" name="RegionalAvailableProperties" type="s1:ArrayOfRegionalAvailableProperty" />
       </s:sequence>
     </s:complexType>
     <s:element name="FetchAvailablePackagesRequest" type="s0:FetchAvailablePackagesRequest" />
     <s:complexType name="FetchAvailablePackagesRequest">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="HotelReference" type="s2:HotelReference" />
         <s:element minOccurs="0" maxOccurs="1" name="ConfirmationNumber" type="s3:UniqueID" />
         <s:element minOccurs="0" maxOccurs="1" name="LegNumber" type="s3:UniqueID" />
         <s:element minOccurs="0" maxOccurs="1" name="StayDateRange" type="s2:TimeSpan" />
         <s:element minOccurs="0" maxOccurs="1" name="NumberOfRooms" type="s:int" />
         <s:element minOccurs="0" maxOccurs="1" name="NumberOfAdults" type="s:int" />
         <s:element minOccurs="0" maxOccurs="1" name="NumberOfChildren" type="s:int" />
       </s:sequence>

     </s:complexType>
     <s:element name="FetchAvailablePackagesResponse" type="s0:FetchAvailablePackagesResponse" />
     <s:complexType name="FetchAvailablePackagesResponse">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Result" type="s2:GDSResultStatus" />
         <s:element minOccurs="0" maxOccurs="1" name="PackageElements" type="s2:ArrayOfPackageElement" />
       </s:sequence>
     </s:complexType>
   </s:schema>

   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/og/4.3/Availability/";>
     <s:import namespace="http://webservices.micros.com/og/4.3/HotelCommon/"; />
     <s:import namespace="http://webservices.micros.com/ows/5.1/Availability.wsdl"; />
     <s:complexType name="AvailRequestSegmentList">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="AvailRequestSegment" type="s1:AvailRequestSegment" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="AvailRequestSegment">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="StayDateRange" type="s2:TimeSpan" />
         <s:element minOccurs="0" maxOccurs="1" name="RateRange" type="s2:MinMaxRate" />
         <s:element minOccurs="0" maxOccurs="1" name="RatePlanCandidates" type="s1:ArrayOfRatePlanCandidate" />
         <s:element minOccurs="0" maxOccurs="1" name="RoomStayCandidates" type="s1:ArrayOfRoomStayCandidate" />
         <s:element minOccurs="0" maxOccurs="1" name="HotelSearchCriteria" type="s1:ArrayOfHotelSearchCriterion" />
       </s:sequence>
       <s:attribute name="availReqType" type="s2:AvailRequestType" use="required" />
       <s:attribute name="moreDataEchoToken" type="s:string" />

       <s:attribute name="numberOfRooms" type="s:int" />
       <s:attribute name="roomOccupancy" type="s:int" />
       <s:attribute name="totalNumberOfGuests" type="s:int" />
       <s:attribute name="numberOfChildren" type="s:int" />
     </s:complexType>
     <s:complexType name="ArrayOfRatePlanCandidate">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="RatePlanCandidate" type="s1:RatePlanCandidate" />
       </s:sequence>

     </s:complexType>
     <s:complexType name="RatePlanCandidate">
       <s:attribute name="ratePlanCode" type="s:string" />
       <s:attribute name="promotionCode" type="s:string" />
       <s:attribute name="qualifyingIdType" type="s:string" />
       <s:attribute name="qualifyingIdValue" type="s:string" />
     </s:complexType>
     <s:complexType name="ArrayOfRoomStayCandidate">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="unbounded" name="RoomStayCandidate" type="s1:RoomStayCandidate" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="RoomStayCandidate">
       <s:attribute name="roomTypeCode" type="s:string" />
       <s:attribute name="invBlockCode" type="s:string" />
     </s:complexType>
     <s:complexType name="ArrayOfHotelSearchCriterion">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="unbounded" name="Criterion" type="s1:HotelSearchCriterion" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="HotelSearchCriterion">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="HotelRef" type="s2:HotelReference" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfAvailResponseSegment">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="AvailResponseSegment" type="s1:AvailResponseSegment" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="AvailResponseSegment">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="RoomStayList" type="s2:ArrayOfRoomStay" />
       </s:sequence>
       <s:attribute name="moreDataEchoToken" type="s:string" />

     </s:complexType>
     <s:complexType name="RegionalSearch">
       <s:sequence>
         <s:choice minOccurs="1" maxOccurs="1">
           <s:element minOccurs="0" maxOccurs="1" name="GeoSearch" type="s2:GeoPosition" />
           <s:element minOccurs="0" maxOccurs="1" name="CitySearch" type="s1:CityCode" />
         </s:choice>
       </s:sequence>
     </s:complexType>

     <s:complexType name="CityCode">
       <s:attribute name="countryCode" type="s:string" />
       <s:attribute name="stateCode" type="s:string" />
       <s:attribute name="cityCode" type="s:string" />
     </s:complexType>
     <s:complexType name="RegionalSearchCode">
       <s:simpleContent>
         <s:extension base="s:string">
           <s:attribute name="regionalSearchCodeType" type="s2:RegionalSearchCodeType" use="required" />

           <s:attribute name="otherRegionalSearchCodeType" type="s:string" />
         </s:extension>
       </s:simpleContent>
     </s:complexType>
     <s:complexType name="ArrayOfRegionalAvailableProperty">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="RegionalAvailableProperty" type="s1:RegionalAvailableProperty" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="RegionalAvailableProperty">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="HotelReference" type="s2:HotelReference" />
         <s:element minOccurs="0" maxOccurs="1" name="PropertyStatus" type="s1:PropertyStatusCode" />
         <s:element minOccurs="0" maxOccurs="1" name="MinMaxRate" type="s2:MinMaxRate" />
         <s:element minOccurs="0" maxOccurs="1" name="NumberToSell" type="s:int" />
         <s:element minOccurs="0" maxOccurs="1" name="HotelContact" type="s2:HotelContact" />
       </s:sequence>
       <s:attribute name="isNegotiatedRateAvailable" type="s:boolean" />

     </s:complexType>
     <s:complexType name="PropertyStatusCode">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="PropertyLevelError" type="s:string" />
       </s:sequence>
       <s:attribute name="propertyStatusCode" type="s2:PropertyStatusCodeType" use="required" />
       <s:attribute name="otherPropertyStatusCode" type="s:string" />
     </s:complexType>
   </s:schema>

   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/og/4.3/HotelCommon/";>
     <s:import namespace="http://webservices.micros.com/og/4.3/Common/"; />
     <s:import namespace="http://webservices.micros.com/og/4.3/Membership/"; />
     <s:import namespace="http://webservices.micros.com/ows/5.1/Availability.wsdl"; />
     <s:complexType name="TimeSpan">
       <s:sequence>
         <s:element minOccurs="1" maxOccurs="1" name="StartDate" type="s:dateTime" />
         <s:choice minOccurs="1" maxOccurs="1">
           <s:element minOccurs="1" maxOccurs="1" name="EndDate" type="s:dateTime" />

           <s:element minOccurs="0" maxOccurs="1" name="Duration" type="s:duration" />
         </s:choice>
       </s:sequence>
     </s:complexType>
     <s:complexType name="MinMaxRate">
       <s:attribute name="minimumRate" type="s:double" />
       <s:attribute name="maximumRate" type="s:double" />
       <s:attribute name="currencyCode" type="s:string" />
     </s:complexType>

     <s:complexType name="HotelReference">
       <s:simpleContent>
         <s:extension base="s:string">
           <s:attribute name="chainCode" type="s:string" />
           <s:attribute name="hotelCode" type="s:string" />
         </s:extension>
       </s:simpleContent>
     </s:complexType>
     <s:simpleType name="AvailRequestType">

       <s:restriction base="s:string">
         <s:enumeration value="Room" />
         <s:enumeration value="NonRoom" />
         <s:enumeration value="Both" />
         <s:enumeration value="Other" />
         <s:enumeration value="BestAvailable" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="GDSResultStatus">

       <s:complexContent mixed="false">
         <s:extension base="s3:ResultStatus">
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="GDSError" type="s2:GDSError" />
           </s:sequence>
         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:complexType name="GDSError">

       <s:simpleContent>
         <s:extension base="s:string">
           <s:attribute name="errorCode" type="s:string" />
           <s:attribute name="elementId" type="s:string" />
         </s:extension>
       </s:simpleContent>
     </s:complexType>
     <s:complexType name="ArrayOfRoomStay">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="unbounded" name="RoomStay" type="s2:RoomStay" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="RoomStay">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="RatePlans" type="s2:ArrayOfRatePlan" />
         <s:element minOccurs="0" maxOccurs="1" name="RoomTypes" type="s2:ArrayOfRoomType" />
         <s:element minOccurs="0" maxOccurs="1" name="RoomRates" type="s2:ArrayOfRoomRate" />
         <s:element minOccurs="0" maxOccurs="1" name="GuestCounts" type="s2:GuestCountList" />

         <s:element minOccurs="0" maxOccurs="1" name="TimeSpan" type="s2:TimeSpan" />
         <s:element minOccurs="0" maxOccurs="1" name="Guarantee" type="s2:Guarantee" />
         <s:element minOccurs="0" maxOccurs="1" name="Payment" type="s2:Payment" />
         <s:element minOccurs="0" maxOccurs="1" name="CreditCardDeposit" type="s2:CreditCardPayment" />
         <s:element minOccurs="0" maxOccurs="1" name="CancelPenalties" type="s2:ArrayOfCancelPenalty" />
         <s:element minOccurs="0" maxOccurs="1" name="CancelTerm" type="s2:CancelTerm" />
         <s:element minOccurs="0" maxOccurs="1" name="HotelReference" type="s2:HotelReference" />
         <s:element minOccurs="0" maxOccurs="1" name="HotelContact" type="s2:HotelContact" />
         <s:element minOccurs="0" maxOccurs="1" name="Total" type="s3:Amount" />

         <s:element minOccurs="0" maxOccurs="1" name="ResGuestRPHs" type="s2:ArrayOfResGuestRPH" />
         <s:element minOccurs="0" maxOccurs="1" name="Comments" type="s2:ArrayOfReservationComment" />
         <s:element minOccurs="0" maxOccurs="1" name="SpecialRequests" type="s2:ArrayOfSpecialRequest" />
         <s:element minOccurs="0" maxOccurs="1" name="Packages" type="s2:ArrayOfPackageElement" />
         <s:element minOccurs="0" maxOccurs="1" name="HotelExtendedInformation" type="s2:ExtendedHotelInfo" />
         <s:element minOccurs="0" maxOccurs="1" name="DailyChargePoints" type="s2:ArrayOfTimeSpanPoints" />
         <s:element minOccurs="0" maxOccurs="1" name="MemberAwardInfo" type="s5:MemberAwardInfo" />
         <s:element minOccurs="0" maxOccurs="1" name="ExpectedCharges" type="s2:DailyChargeList" />
       </s:sequence>

       <s:attribute name="isAlternate" type="s:boolean" />
     </s:complexType>
     <s:complexType name="ArrayOfRatePlan">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="RatePlan" type="s2:RatePlan" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="RatePlan">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="1" name="RatePlanDescription" type="s2:Paragraph" />
         <s:element minOccurs="0" maxOccurs="1" name="Commission" type="s2:Commission" />
         <s:element minOccurs="0" maxOccurs="1" name="AdditionalDetails" type="s2:ArrayOfAdditionalDetail" />
         <s:element minOccurs="0" maxOccurs="1" name="CancellationDateTime" type="s2:CancelDateTime" />
         <s:element minOccurs="0" maxOccurs="1" name="DepositRequired" type="s2:DepositRequirement" />
       </s:sequence>
       <s:attribute name="ratePlanCategory" type="s:string" />
       <s:attribute name="ratePlanCode" type="s:string" />
       <s:attribute name="promotionCode" type="s:string" />

       <s:attribute name="qualifyingIdType" type="s:string" />
       <s:attribute name="qualifyingIdValue" type="s:string" />
       <s:attribute name="effectiveDate" type="s:date" />
       <s:attribute name="expirationDate" type="s:date" />
       <s:attribute name="hold" type="s:boolean" />
       <s:attribute name="mandatoryDeposit" type="s:boolean" />
     </s:complexType>
     <s:complexType name="Paragraph">
       <s:sequence>

         <s:choice minOccurs="0" maxOccurs="unbounded">
           <s:element minOccurs="0" maxOccurs="1" name="URL" type="s:anyURI" />
           <s:element minOccurs="0" maxOccurs="1" name="Text" type="s3:Text" />
           <s:element minOccurs="0" maxOccurs="1" name="Image" type="s:string" />
         </s:choice>
       </s:sequence>
     </s:complexType>
     <s:complexType name="SpecialRequest">
       <s:complexContent mixed="false">

         <s:extension base="s2:Paragraph">
           <s:attribute name="requestCode" type="s:string" />
         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:complexType name="ReservationComment">
       <s:complexContent mixed="false">
         <s:extension base="s2:Paragraph">
           <s:attribute name="commentOriginatorCode" type="s:string" />

           <s:attribute name="guestViewable" type="s:boolean" />
         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:complexType name="Commission">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="CommissionPayableAmount" type="s3:Amount" />
         <s:element minOccurs="0" maxOccurs="1" name="Comment" type="s2:Paragraph" />
       </s:sequence>

       <s:attribute name="percent" type="s:decimal" />
       <s:attribute name="currencyCode" type="s:string" />
     </s:complexType>
     <s:complexType name="ArrayOfAdditionalDetail">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="AdditionalDetail" type="s2:AdditionalDetail" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="AdditionalDetail">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="AdditionalDetailDescription" type="s2:Paragraph" />
       </s:sequence>
       <s:attribute name="detailType" type="s2:AdditionalDetailType" use="required" />
       <s:attribute name="otherDetailType" type="s:string" />
     </s:complexType>
     <s:simpleType name="AdditionalDetailType">
       <s:restriction base="s:string">
         <s:enumeration value="RateRules" />

         <s:enumeration value="MarketingInformation" />
         <s:enumeration value="DepositPolicy" />
         <s:enumeration value="Promotion" />
         <s:enumeration value="CommissionPolicy" />
         <s:enumeration value="GuaranteePolicy" />
         <s:enumeration value="Miscellaneous" />
         <s:enumeration value="PackageOptions" />
         <s:enumeration value="PenaltyPolicy" />
         <s:enumeration value="TASpecialRequest" />

         <s:enumeration value="TaxInformation" />
         <s:enumeration value="CancelPolicy" />
         <s:enumeration value="ProprietaryGDSCode" />
         <s:enumeration value="Other" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="CancelDateTime">
       <s:simpleContent>
         <s:extension base="s:dateTime">

           <s:attribute name="period" type="s:duration" />
         </s:extension>
       </s:simpleContent>
     </s:complexType>
     <s:complexType name="DepositRequirement">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="DepositAmount" type="s3:Amount" />
         <s:element minOccurs="0" maxOccurs="1" name="DueDate" type="s:date" />
       </s:sequence>

     </s:complexType>
     <s:complexType name="ArrayOfRoomType">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="RoomType" type="s2:RoomType" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="RoomType">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="RoomTypeDescription" type="s2:Paragraph" />

       </s:sequence>
       <s:attribute name="roomTypeCode" type="s:string" />
       <s:attribute name="upgradeFromCode" type="s:string" />
       <s:attribute name="invBlockCode" type="s:string" />
       <s:attribute name="numberOfUnits" type="s:int" />
       <s:attribute name="isRoom" type="s:boolean" />
       <s:attribute name="effectiveDate" type="s:date" />
       <s:attribute name="expirationDate" type="s:date" />
     </s:complexType>

     <s:complexType name="ArrayOfRoomRate">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="RoomRate" type="s2:RoomRate" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="RoomRate">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Rates" type="s2:ArrayOfRate" />
         <s:element minOccurs="0" maxOccurs="1" name="InvBlockDescription" type="s2:Paragraph" />

         <s:element minOccurs="0" maxOccurs="1" name="Total" type="s3:Amount" />
       </s:sequence>
       <s:attribute name="roomTypeCode" type="s:string" />
       <s:attribute name="ratePlanCode" type="s:string" />
       <s:attribute name="effectiveDate" type="s:date" />
       <s:attribute name="expirationDate" type="s:date" />
     </s:complexType>
     <s:complexType name="ArrayOfRate">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="unbounded" name="Rate" type="s2:Rate" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="Rate">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Base" type="s3:Amount" />
         <s:element minOccurs="0" maxOccurs="1" name="AdditionalGuestAmounts" type="s2:ArrayOfAdditionalGuestAmount" />
         <s:element minOccurs="0" maxOccurs="1" name="AdditionalBedAmounts" type="s2:ArrayOfAdditionalBedAmount" />
       </s:sequence>

       <s:attribute name="effectiveDate" type="s:date" />
       <s:attribute name="expirationDate" type="s:date" />
       <s:attribute name="rateOccurrence" type="s2:RateOccurrenceType" />
       <s:attribute name="otherRateOccurrence" type="s:string" />
       <s:attribute name="rateChangeIndicator" type="s:boolean" />
     </s:complexType>
     <s:complexType name="ArrayOfAdditionalGuestAmount">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="AdditionalGuestAmount" type="s2:AdditionalGuestAmount" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="AdditionalGuestAmount">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Amount" type="s3:Amount" />
       </s:sequence>
       <s:attribute name="additionalGuestType" type="s2:AgeQualifyingCode" use="required" />
       <s:attribute name="otherAdditionalGuestType" type="s:string" />
       <s:attribute name="quantity" type="s:int" />

     </s:complexType>
     <s:simpleType name="AgeQualifyingCode">
       <s:restriction base="s:string">
         <s:enumeration value="ADULT" />
         <s:enumeration value="CHILD" />
         <s:enumeration value="OTHER" />
         <s:enumeration value="CHILDBUCKET1" />
         <s:enumeration value="CHILDBUCKET2" />
         <s:enumeration value="CHILDBUCKET3" />

       </s:restriction>
     </s:simpleType>
     <s:complexType name="ArrayOfAdditionalBedAmount">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="AdditionalBedAmount" type="s2:AdditionalBedAmount" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="AdditionalBedAmount">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="1" name="Amount" type="s3:Amount" />
       </s:sequence>
       <s:attribute name="extraBedType" type="s2:AdditionalBedType" use="required" />
       <s:attribute name="otherExtraBedType" type="s:string" />
       <s:attribute name="quantity" type="s:int" />
     </s:complexType>
     <s:simpleType name="AdditionalBedType">
       <s:restriction base="s:string">
         <s:enumeration value="ADULT" />

         <s:enumeration value="CHILD" />
         <s:enumeration value="CRIB" />
         <s:enumeration value="OTHER" />
       </s:restriction>
     </s:simpleType>
     <s:simpleType name="RateOccurrenceType">
       <s:restriction base="s:string">
         <s:enumeration value="DAILY" />
         <s:enumeration value="WEEKLY" />

         <s:enumeration value="OTHER" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="GuestCountList">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="GuestCount" type="s2:GuestCount" />
       </s:sequence>
       <s:attribute name="isPerRoom" type="s:boolean" />
     </s:complexType>

     <s:complexType name="GuestCount">
       <s:attribute name="ageQualifyingCode" type="s2:AgeQualifyingCode" />
       <s:attribute name="otherAgeQualifyingCode" type="s:string" />
       <s:attribute name="age" type="s:int" />
       <s:attribute name="count" type="s:int" />
     </s:complexType>
     <s:complexType name="Guarantee">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="GuaranteesAccepted" type="s2:ArrayOfGuaranteeAccepted" />

         <s:element minOccurs="0" maxOccurs="1" name="Deadline" type="s:dateTime" />
         <s:element minOccurs="0" maxOccurs="1" name="GuaranteeDescription" type="s2:Paragraph" />
       </s:sequence>
       <s:attribute name="guaranteeType" type="s:string" />
       <s:attribute name="mandatoryDeposit" type="s:boolean" />
     </s:complexType>
     <s:complexType name="ArrayOfGuaranteeAccepted">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="GuaranteeAccepted" type="s2:GuaranteeAccepted" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="GuaranteeAccepted">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="GuaranteeCreditCard" type="s3:CreditCard" />
         <s:element minOccurs="0" maxOccurs="1" name="GuaranteeTravelAgent" type="s3:UniqueID" />
         <s:element minOccurs="0" maxOccurs="1" name="GuaranteeCompany" type="s3:UniqueID" />
       </s:sequence>
       <s:attribute name="agentPhone" type="s:string" />

     </s:complexType>
     <s:complexType name="CreditCardPayment">
       <s:complexContent mixed="false">
         <s:extension base="s3:CreditCard">
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="CIDNumber" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="Address" type="s3:Address" />
             <s:element minOccurs="0" maxOccurs="1" name="IssueNumber" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="ApprovalCode" type="s:string" />

             <s:element minOccurs="0" maxOccurs="1" name="DepositAmount" type="s3:Amount" />
           </s:sequence>
         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:complexType name="Payment">
       <s:sequence>
         <s:choice minOccurs="1" maxOccurs="1">
           <s:element minOccurs="0" maxOccurs="1" name="PaymentsAccepted" type="s2:ArrayOfPaymentType" />

           <s:element minOccurs="0" maxOccurs="1" name="PaymentUsed" type="s2:PaymentUsed" />
         </s:choice>
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfPaymentType">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="PaymentType" nillable="true" type="s2:PaymentType" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="PaymentType">
       <s:sequence>
         <s:choice minOccurs="1" maxOccurs="1">
           <s:element minOccurs="0" maxOccurs="1" name="OtherPayment" type="s2:OtherPaymentType" />
           <s:element minOccurs="0" maxOccurs="1" name="PaymentVoucher" type="s2:Voucher" />
           <s:element minOccurs="0" maxOccurs="1" name="PaymentCard" type="s3:CreditCard" />
         </s:choice>
       </s:sequence>
     </s:complexType>

     <s:complexType name="OtherPaymentType">
       <s:attribute name="type" type="s:string" />
       <s:attribute name="value" type="s:string" />
       <s:attribute name="source" type="s:string" />
     </s:complexType>
     <s:complexType name="Voucher">
       <s:attribute name="voucherNumber" type="s:string" />
       <s:attribute name="voucherIssuedBy" type="s:string" />
       <s:attribute name="voucherValidDate" type="s:dateTime" />

     </s:complexType>
     <s:complexType name="PaymentUsed">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="PaymentType" type="s2:PaymentType" />
         <s:element minOccurs="0" maxOccurs="1" name="Deposit" type="s3:Amount" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfCancelPenalty">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="unbounded" name="CancelPenalty" type="s2:CancelPenalty" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="CancelPenalty">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Deadline" type="s:dateTime" />
         <s:element minOccurs="0" maxOccurs="1" name="PenaltyDescription" type="s2:Paragraph" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="CancelTerm">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="CancelReason" type="s2:Paragraph" />
       </s:sequence>
       <s:attribute name="cancelType" type="s2:CancelTermType" use="required" />
       <s:attribute name="otherCancelType" type="s:string" />
       <s:attribute name="cancelReasonCode" type="s:string" />
       <s:attribute name="cancelNumber" type="s:string" />
       <s:attribute name="cancelDate" type="s:date" />

       <s:attribute name="cancelBy" type="s:string" />
     </s:complexType>
     <s:simpleType name="CancelTermType">
       <s:restriction base="s:string">
         <s:enumeration value="Cancel" />
         <s:enumeration value="NoShow" />
         <s:enumeration value="Other" />
       </s:restriction>
     </s:simpleType>

     <s:complexType name="HotelContact">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Addresses" type="s3:ArrayOfAddress" />
         <s:element minOccurs="0" maxOccurs="1" name="ContactEmails" type="s2:ArrayOfEmail" />
         <s:element minOccurs="0" maxOccurs="1" name="ContactPhones" type="s3:ArrayOfPhone" />
         <s:element minOccurs="0" maxOccurs="1" name="HotelInformation" type="s2:ArrayOfHotelInfo" />
         <s:element minOccurs="0" maxOccurs="1" name="URIs" type="s2:ArrayOfAnyURI" />
         <s:element minOccurs="0" maxOccurs="1" name="Vector" type="s2:Vector" />
       </s:sequence>

     </s:complexType>
     <s:element name="Address" type="s3:Address" />
     <s:complexType name="ArrayOfEmail">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="ContactEmail" type="s2:Email" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="Email">
       <s:simpleContent>

         <s:extension base="s:string" />
       </s:simpleContent>
     </s:complexType>
     <s:element name="Phone" type="s3:Phone" />
     <s:complexType name="ArrayOfHotelInfo">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="HotelInfo" type="s2:HotelInfo" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="HotelInfo">
       <s:complexContent mixed="false">
         <s:extension base="s3:DescriptiveText">
           <s:attribute name="hotelInfoType" type="s2:HotelInfoType" use="required" />
           <s:attribute name="otherHotelInfoType" type="s:string" />
         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:simpleType name="HotelInfoType">

       <s:restriction base="s:string">
         <s:enumeration value="DIRECTIONS" />
         <s:enumeration value="CHECKININFO" />
         <s:enumeration value="CHECKOUTINFO" />
         <s:enumeration value="OTHER" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="ArrayOfAnyURI">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="unbounded" name="URI" type="s:anyURI" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="Vector">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Direction" type="s2:VectorDirection" />
         <s:element minOccurs="0" maxOccurs="1" name="Distance" type="s2:VectorDistance" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="VectorDirection">
       <s:attribute name="vectorDirection" type="s2:VectorDirectionType" use="required" />
       <s:attribute name="otherVectorDirection" type="s:string" />
     </s:complexType>
     <s:simpleType name="VectorDirectionType">
       <s:restriction base="s:string">
         <s:enumeration value="North" />
         <s:enumeration value="NorthEast" />
         <s:enumeration value="East" />

         <s:enumeration value="SouthEast" />
         <s:enumeration value="South" />
         <s:enumeration value="SouthWest" />
         <s:enumeration value="West" />
         <s:enumeration value="NorthWest" />
         <s:enumeration value="Other" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="VectorDistance">

       <s:simpleContent>
         <s:extension base="s:double">
           <s:attribute name="distanceUnit" type="s2:DistanceUnitType" use="required" />
           <s:attribute name="otherDistanceUnit" type="s:string" />
         </s:extension>
       </s:simpleContent>
     </s:complexType>
     <s:simpleType name="DistanceUnitType">
       <s:restriction base="s:string">

         <s:enumeration value="Km" />
         <s:enumeration value="Mi" />
         <s:enumeration value="Other" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="ArrayOfResGuestRPH">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="ResGuestRPH" type="s2:ResGuestRPH" />
       </s:sequence>

     </s:complexType>
     <s:complexType name="ResGuestRPH">
       <s:attribute name="RPH" type="s:int" use="required" />
     </s:complexType>
     <s:complexType name="ArrayOfReservationComment">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Comment" type="s2:ReservationComment" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="ArrayOfSpecialRequest">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="SpecialRequest" type="s2:SpecialRequest" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfPackageElement">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Package" type="s2:PackageElement" />
       </s:sequence>

     </s:complexType>
     <s:complexType name="PackageElement">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Amount" type="s3:Amount" />
         <s:element minOccurs="0" maxOccurs="unbounded" name="Description" type="s3:DescriptiveText" />
       </s:sequence>
       <s:attribute name="packageCode" type="s:string" />
       <s:attribute name="calculationRule" type="s:string" />
       <s:attribute name="postingRhythm" type="s:string" />

     </s:complexType>
     <s:complexType name="ExtendedHotelInfo">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="HotelInformation" type="s2:ArrayOfHotelInfo" />
         <s:element minOccurs="0" maxOccurs="1" name="PaymentMethods" type="s2:ArrayOfPaymentType1" />
         <s:element minOccurs="0" maxOccurs="1" name="AmenityInfo" type="s2:AmenityInfo" />
         <s:element minOccurs="0" maxOccurs="1" name="Position" type="s2:GeoCode" />
         <s:element minOccurs="0" maxOccurs="1" name="FacilityInfo" type="s2:FacilityInfoType" />
         <s:element minOccurs="0" maxOccurs="1" name="AlternateProperties" type="s2:ArrayOfHotelReference" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfPaymentType1">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="PaymentType" type="s2:PaymentType" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="AmenityInfo">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="1" name="Amenities" type="s2:ArrayOfAmenity" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfAmenity">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Amenity" type="s2:Amenity" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="Amenity">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="amenityDescription" type="s:string" />
       </s:sequence>
       <s:attribute name="amenityCode" type="s:string" />
       <s:attribute name="amenityType" type="s2:AmenityAmenityType" />
       <s:attribute name="otherType" type="s:string" />
       <s:attribute name="availabilityFlag" type="s2:AmenityAvailabilityFlag" />
       <s:attribute name="otherFlag" type="s:string" />
     </s:complexType>

     <s:simpleType name="AmenityAmenityType">
       <s:restriction base="s:string">
         <s:enumeration value="Property" />
         <s:enumeration value="Room" />
         <s:enumeration value="Both" />
         <s:enumeration value="Nearby" />
         <s:enumeration value="Exists" />
         <s:enumeration value="Other" />
         <s:enumeration value="Parking" />

         <s:enumeration value="WheelChairAccess" />
         <s:enumeration value="Gymnasium" />
         <s:enumeration value="ConferenceRoom" />
         <s:enumeration value="BusinessCentre" />
         <s:enumeration value="Pets" />
         <s:enumeration value="RoomService" />
         <s:enumeration value="Restaurant" />
         <s:enumeration value="SwimingPool" />
         <s:enumeration value="Internet" />

       </s:restriction>
     </s:simpleType>
     <s:simpleType name="AmenityAvailabilityFlag">
       <s:restriction base="s:string">
         <s:enumeration value="ConfirmableComplimentary" />
         <s:enumeration value="ConfirmableCost" />
         <s:enumeration value="OnRequestComplimentary" />
         <s:enumeration value="OnRequestCost" />
         <s:enumeration value="Exists" />

         <s:enumeration value="Other" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="GeoCode">
       <s:attribute name="latitude" type="s:string" />
       <s:attribute name="longitude" type="s:string" />
       <s:attribute name="altitude" type="s:string" />
     </s:complexType>
     <s:complexType name="FacilityInfoType">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="GuestRooms" type="s2:FacilityInfoTypeGuestRooms" />
         <s:element minOccurs="0" maxOccurs="1" name="Restaurants" type="s2:ArrayOfRestaurantsTypeRestaurant" />
         <s:element minOccurs="0" maxOccurs="1" name="MeetingRooms" type="s2:MeetingRoomsType" />
       </s:sequence>
       <s:attribute name="dateOpened" type="s:date" />
       <s:attribute name="dateRennovated" type="s:date" />
     </s:complexType>
     <s:complexType name="FacilityInfoTypeGuestRooms">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="GuestRoom" type="s2:FacilityInfoTypeGuestRoomsGuestRoom" />
       </s:sequence>
       <s:attribute name="totalRooms" type="s:string" />
     </s:complexType>
     <s:complexType name="FacilityInfoTypeGuestRoomsGuestRoom">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="RoomDescription" type="s3:DescriptiveText" />
       </s:sequence>

       <s:attribute name="code" type="s:string" />
       <s:attribute name="maxOccupancy" type="s:integer" />
     </s:complexType>
     <s:complexType name="ArrayOfRestaurantsTypeRestaurant">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Restaurant" type="s2:RestaurantsTypeRestaurant" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="RestaurantsTypeRestaurant">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="RestaurantDescription" type="s2:Paragraph" />
         <s:element minOccurs="0" maxOccurs="1" name="RelativePosition" type="s2:Vector" />
         <s:element minOccurs="0" maxOccurs="1" name="Cuisines" type="s2:ArrayOfRestaurantsTypeRestaurantCuisine" />
         <s:element minOccurs="0" maxOccurs="1" name="RestaurantContacts" type="s3:ArrayOfAddress" />
       </s:sequence>
       <s:attribute name="RestaurantName" type="s:string" />
       <s:attribute name="MaxSeatingCapacity" type="s:nonNegativeInteger" />
       <s:attribute name="MaxSingleParty" type="s:nonNegativeInteger" />

       <s:attribute name="OfferBreakfast" type="s:boolean" />
       <s:attribute name="OfferLunch" type="s:boolean" />
       <s:attribute name="OfferDinner" type="s:boolean" />
       <s:attribute name="OfferBrunch" type="s:boolean" />
     </s:complexType>
     <s:complexType name="ArrayOfRestaurantsTypeRestaurantCuisine">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Cuisine" type="s2:RestaurantsTypeRestaurantCuisine" />
       </s:sequence>

     </s:complexType>
     <s:complexType name="RestaurantsTypeRestaurantCuisine">
       <s:attribute name="Code" type="s:string" />
       <s:attribute name="Description" type="s:string" />
     </s:complexType>
     <s:complexType name="MeetingRoomsType">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="MeetingRoom" type="s2:MeetingRoomsTypeMeetingRoom" />
       </s:sequence>

       <s:attribute name="MeetingRoomCount" type="s:nonNegativeInteger" />
       <s:attribute name="SmallestRoomSpace" type="s:nonNegativeInteger" />
       <s:attribute name="LargestRoomSpace" type="s:nonNegativeInteger" />
       <s:attribute name="TotalRoomSpace" type="s:nonNegativeInteger" />
       <s:attribute name="LargestSeatingCapacity" type="s:nonNegativeInteger" />
       <s:attribute name="SecondLargestSeatingCapacity" type="s:nonNegativeInteger" />
       <s:attribute name="SmallestSeatingCapacity" type="s:nonNegativeInteger" />
     </s:complexType>
     <s:complexType name="MeetingRoomsTypeMeetingRoom">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Codes" type="s2:ArrayOfMeetingRoomsTypeMeetingRoomCode" />
         <s:element minOccurs="0" maxOccurs="1" name="Description" type="s2:Paragraph" />
       </s:sequence>
       <s:attribute name="Irregular" type="s:boolean" />
       <s:attribute name="PropertySystemName" type="s:string" />
       <s:attribute name="RoomName" type="s:string" />
       <s:attribute name="Sort" type="s:nonNegativeInteger" />
       <s:attribute name="MeetingRoomCapacity" type="s:nonNegativeInteger" />

     </s:complexType>
     <s:complexType name="ArrayOfMeetingRoomsTypeMeetingRoomCode">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Code" type="s2:MeetingRoomsTypeMeetingRoomCode" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="MeetingRoomsTypeMeetingRoomCode">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Charge" type="s:string" />

         <s:element minOccurs="0" maxOccurs="unbounded" name="Description" type="s2:Paragraph" />
       </s:sequence>
       <s:attribute name="Code" type="s:string" />
     </s:complexType>
     <s:complexType name="ArrayOfHotelReference">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="HotelReference" type="s2:HotelReference" />
       </s:sequence>
     </s:complexType>

     <s:complexType name="ArrayOfTimeSpanPoints">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Points" type="s2:TimeSpanPoints" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="TimeSpanPoints">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Dates" type="s2:TimeSpan" />
         <s:element minOccurs="1" maxOccurs="1" name="Points" type="s:int" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="DailyChargeList">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="ChargesForPostingDate" type="s2:ChargesForTheDay" />
       </s:sequence>
       <s:attribute name="TotalRoomRateAndPackages" type="s:double" />
       <s:attribute name="TotalTaxesAndFees" type="s:double" />
       <s:attribute name="TaxInclusive" type="s:boolean" />

     </s:complexType>
     <s:complexType name="ChargesForTheDay">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="RoomRateAndPackages" type="s2:ChargeList" />
         <s:element minOccurs="0" maxOccurs="1" name="TaxesAndFees" type="s2:ChargeList" />
       </s:sequence>
       <s:attribute name="PostingDate" type="s:date" />
       <s:attribute name="TotalCharges" type="s:double" />
     </s:complexType>

     <s:complexType name="ChargeList">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="Charges" type="s2:Charge" />
       </s:sequence>
       <s:attribute name="TotalCharges" type="s:double" use="required" />
     </s:complexType>
     <s:complexType name="Charge">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />

         <s:element minOccurs="0" maxOccurs="1" name="Amount" type="s3:Amount" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfHotelReference1">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" ref="s0:HotelReference" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="GeoPosition">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Radius" type="s2:VectorDistance" />
         <s:element minOccurs="0" maxOccurs="1" name="Position" type="s2:GeoCode" />
       </s:sequence>
     </s:complexType>
     <s:simpleType name="RegionalSearchCodeType">
       <s:restriction base="s:string">
         <s:enumeration value="CITY" />
         <s:enumeration value="CHAIN" />

         <s:enumeration value="CRO" />
         <s:enumeration value="REGION" />
         <s:enumeration value="OTHER" />
       </s:restriction>
     </s:simpleType>
     <s:simpleType name="PropertyStatusCodeType">
       <s:restriction base="s:string">
         <s:enumeration value="OPEN" />
         <s:enumeration value="CLOSED" />

         <s:enumeration value="UNKNOWN" />
         <s:enumeration value="OTHER" />
       </s:restriction>
     </s:simpleType>
   </s:schema>
   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/og/4.3/Common/";>
     <s:import namespace="http://webservices.micros.com/og/4.3/HotelCommon/"; />
     <s:import namespace="http://webservices.micros.com/og/4.3/Name/"; />
     <s:complexType name="ResultStatus">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Text" type="s3:ArrayOfText" />
         <s:element minOccurs="0" maxOccurs="1" name="IDs" type="s3:ArrayOfIDPair" />
       </s:sequence>
       <s:attribute name="resultStatusFlag" type="s3:ResultStatusFlag" />
     </s:complexType>
     <s:complexType name="ArrayOfText">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="TextElement" type="s3:Text" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="Text">
       <s:simpleContent>
         <s:extension base="s:normalizedString">
           <s:attribute name="formatted" type="s:boolean" />
           <s:attribute name="language" type="s:language" />
         </s:extension>
       </s:simpleContent>

     </s:complexType>
     <s:complexType name="TextElement">
       <s:simpleContent>
         <s:extension base="s3:Text" />
       </s:simpleContent>
     </s:complexType>
     <s:complexType name="ArrayOfIDPair">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="IDPair" type="s3:IDPair" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="IDPair">
       <s:attribute name="idType" type="s:string" />
       <s:attribute name="operaId" type="s:long" />
       <s:attribute name="externalId" type="s:string" />
     </s:complexType>
     <s:simpleType name="ResultStatusFlag">
       <s:restriction base="s:string">

         <s:enumeration value="FAIL" />
         <s:enumeration value="SUCCESS" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="Amount">
       <s:simpleContent>
         <s:extension base="s:double">
           <s:attribute name="currencyCode" type="s:string" />
         </s:extension>

       </s:simpleContent>
     </s:complexType>
     <s:complexType name="CreditCard">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="cardCode" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="cardHolderName" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="cardNumber" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="seriesCode" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="effectiveDate" type="s:date" />

         <s:element minOccurs="1" maxOccurs="1" name="expirationDate" type="s:date" />
       </s:sequence>
       <s:attribute name="cardType" type="s:string" />
       <s:attribute name="otherCardType" type="s:string" />
     </s:complexType>
     <s:complexType name="Address">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="AddressLine" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="cityName" type="s:string" />

         <s:element minOccurs="0" maxOccurs="1" name="stateProv" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="countryCode" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="postalCode" type="s:string" />
       </s:sequence>
       <s:attribute name="addressType" type="s:string" />
       <s:attribute name="otherAddressType" type="s:string" />
     </s:complexType>
     <s:complexType name="UniqueID">
       <s:simpleContent>

         <s:extension base="s:string">
           <s:attribute name="type" type="s3:UniqueIDType" use="required" />
           <s:attribute name="source" type="s:string" />
         </s:extension>
       </s:simpleContent>
     </s:complexType>
     <s:simpleType name="UniqueIDType">
       <s:restriction base="s:string">
         <s:enumeration value="EXTERNAL" />

         <s:enumeration value="INTERNAL" />
         <s:enumeration value="CANCELLATIONEXTERNAL" />
         <s:enumeration value="CANCELLATIONINTERNAL" />
       </s:restriction>
     </s:simpleType>
     <s:complexType name="ArrayOfAddress">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" ref="s2:Address" />
       </s:sequence>

     </s:complexType>
     <s:complexType name="ArrayOfPhone">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" ref="s2:Phone" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="Phone">
       <s:sequence>
         <s:choice minOccurs="1" maxOccurs="1">

           <s:element minOccurs="0" maxOccurs="1" name="PhoneData" type="s3:PhonePhoneData" />
           <s:element minOccurs="0" maxOccurs="1" name="PhoneNumber" type="s:string" />
         </s:choice>
       </s:sequence>
       <s:attribute name="phoneType" type="s:string" />
       <s:attribute name="phoneRole" type="s:string" />
     </s:complexType>
     <s:complexType name="PhonePhoneData">
       <s:attribute name="countryAccessCode" type="s:string" />

       <s:attribute name="areaCode" type="s:string" />
       <s:attribute name="phoneNumber" type="s:string" />
       <s:attribute name="extension" type="s:string" />
     </s:complexType>
     <s:complexType name="DescriptiveText">
       <s:sequence>
         <s:choice minOccurs="1" maxOccurs="1">
           <s:element minOccurs="0" maxOccurs="1" name="Image" type="s:string" />
           <s:element minOccurs="0" maxOccurs="1" name="Text" type="s3:ArrayOfTextElement" />

           <s:element minOccurs="0" maxOccurs="1" name="Url" type="s:anyURI" />
         </s:choice>
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfTextElement">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="TextElement" nillable="true" type="s3:TextElement" />
       </s:sequence>
     </s:complexType>

   </s:schema>
   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/og/4.3/Name/";>
     <s:import namespace="http://webservices.micros.com/og/4.3/Common/"; />
     <s:complexType name="NameAddress">
       <s:complexContent mixed="false">
         <s:extension base="s3:Address">
           <s:attribute name="operaId" type="s:long" />
           <s:attribute name="externalId" type="s:string" />
           <s:attribute name="primary" type="s:boolean" />

           <s:attribute name="displaySequence" type="s:int" />
           <s:attribute name="insertUser" type="s:string" />
           <s:attribute name="insertDate" type="s:dateTime" />
           <s:attribute name="updateUser" type="s:string" />
           <s:attribute name="updateDate" type="s:dateTime" />
           <s:attribute name="inactiveDate" type="s:date" />
         </s:extension>
       </s:complexContent>
     </s:complexType>

     <s:complexType name="NameCreditCard">
       <s:complexContent mixed="false">
         <s:extension base="s3:CreditCard">
           <s:attribute name="operaId" type="s:long" />
           <s:attribute name="externalId" type="s:string" />
           <s:attribute name="primary" type="s:boolean" />
           <s:attribute name="displaySequence" type="s:int" />
           <s:attribute name="insertUser" type="s:string" />
           <s:attribute name="insertDate" type="s:dateTime" />

           <s:attribute name="updateUser" type="s:string" />
           <s:attribute name="updateDate" type="s:dateTime" />
           <s:attribute name="inactiveDate" type="s:date" />
         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:complexType name="NamePhone">
       <s:complexContent mixed="false">
         <s:extension base="s3:Phone">

           <s:attribute name="operaId" type="s:long" />
           <s:attribute name="externalId" type="s:string" />
           <s:attribute name="primary" type="s:boolean" />
           <s:attribute name="displaySequence" type="s:int" />
           <s:attribute name="insertUser" type="s:string" />
           <s:attribute name="insertDate" type="s:dateTime" />
           <s:attribute name="updateUser" type="s:string" />
           <s:attribute name="updateDate" type="s:dateTime" />
           <s:attribute name="inactiveDate" type="s:date" />

         </s:extension>
       </s:complexContent>
     </s:complexType>
     <s:complexType name="Comment">
       <s:complexContent mixed="false">
         <s:extension base="s3:DescriptiveText">
           <s:attribute name="operaId" type="s:long" />
           <s:attribute name="externalId" type="s:string" />
           <s:attribute name="commentTitle" type="s:string" />

           <s:attribute name="insertUser" type="s:string" />
           <s:attribute name="insertDate" type="s:dateTime" />
           <s:attribute name="updateUser" type="s:string" />
           <s:attribute name="updateDate" type="s:dateTime" />
           <s:attribute name="inactiveDate" type="s:date" />
         </s:extension>
       </s:complexContent>
     </s:complexType>
   </s:schema>

   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/og/4.3/Membership/";>
     <s:complexType name="MemberAwardInfo">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="awardType" type="s:string" />
         <s:element minOccurs="1" maxOccurs="1" name="membershipID" type="s:long" />
         <s:element minOccurs="1" maxOccurs="1" name="pointsUsedForReservation" type="s:double" />
       </s:sequence>
     </s:complexType>
   </s:schema>

   <s:schema elementFormDefault="qualified" targetNamespace="http://webservices.micros.com/og/4.3/Core/";>
     <s:element name="OGHeader" type="s6:OGHeader" />
     <s:complexType name="OGHeader">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Origin" type="s6:EndPoint" />
         <s:element minOccurs="0" maxOccurs="1" name="Destination" type="s6:EndPoint" />
         <s:element minOccurs="0" maxOccurs="1" name="Intermediaries" type="s6:ArrayOfEndPoint" />
         <s:element minOccurs="0" maxOccurs="1" name="Authentication" type="s6:OGHeaderAuthentication" />
       </s:sequence>

       <s:attribute name="transactionID" type="s:string" />
       <s:attribute name="authToken" type="s:string" />
       <s:attribute name="timeStamp" type="s:dateTime" />
     </s:complexType>
     <s:complexType name="EndPoint">
       <s:complexContent mixed="false">
         <s:extension base="s6:SystemID">
           <s:attribute name="systemType" type="s:string" />
         </s:extension>

       </s:complexContent>
     </s:complexType>
     <s:complexType name="SystemID">
       <s:attribute name="entityID" type="s:string" />
       <s:attribute name="organizationID" type="s:string" />
     </s:complexType>
     <s:complexType name="ArrayOfEndPoint">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded" name="EndPoint" type="s6:EndPoint" />

       </s:sequence>
     </s:complexType>
     <s:complexType name="OGHeaderAuthentication">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="UserCredentials" type="s6:OGHeaderAuthenticationUserCredentials" />
         <s:element minOccurs="0" maxOccurs="1" name="Licence" type="s6:OGHeaderAuthenticationLicence" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="OGHeaderAuthenticationUserCredentials">

       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="UserPassword" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="Domain" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="SecurityId" type="s:string" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="OGHeaderAuthenticationLicence">
       <s:sequence>

         <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
       </s:sequence>
     </s:complexType>
   </s:schema>
 </types>
 <message name="AvailabilitySoapIn">
   <part name="AvailabilityRequest" element="s0:AvailabilityRequest" />
 </message>
 <message name="AvailabilitySoapOut">

   <part name="AvailabilityResult" element="s0:AvailabilityResponse" />
 </message>
 <message name="AvailabilityOGHeader">
   <part name="OGHeader" element="s6:OGHeader" />
 </message>
 <message name="RegionalAvailabilitySoapIn">
   <part name="RegionalAvailabilityRequest" element="s0:RegionalAvailabilityRequest" />
 </message>
 <message name="RegionalAvailabilitySoapOut">

   <part name="RegionalAvailabilityResult" element="s0:RegionalAvailabilityResponse" />
 </message>
 <message name="RegionalAvailabilityOGHeader">
   <part name="OGHeader" element="s6:OGHeader" />
 </message>
 <message name="FetchAvailablePackagesSoapIn">
   <part name="FetchAvailablePackagesRequest" element="s0:FetchAvailablePackagesRequest" />
 </message>
 <message name="FetchAvailablePackagesSoapOut">

   <part name="FetchAvailablePackagesResult" element="s0:FetchAvailablePackagesResponse" />
 </message>
 <message name="FetchAvailablePackagesOGHeader">
   <part name="OGHeader" element="s6:OGHeader" />
 </message>
 <portType name="AvailabilityServiceSoap">
   <operation name="Availability">
     <documentation>Retrieve a list of availability for rooms and rates. General Availability (When summary only is set to true) and Detail Availability (When summary only is set to false).</documentation>

     <input message="tns:AvailabilitySoapIn" />
     <output message="tns:AvailabilitySoapOut" />
   </operation>
   <operation name="RegionalAvailability">
     <documentation>Retrieve a list of available hotels by geographical region, CRO, chain code or country.</documentation>
     <input message="tns:RegionalAvailabilitySoapIn" />
     <output message="tns:RegionalAvailabilitySoapOut" />
   </operation>

   <operation name="FetchAvailablePackages">
     <documentation>Retrieve a list of available add-on packages.</documentation>
     <input message="tns:FetchAvailablePackagesSoapIn" />
     <output message="tns:FetchAvailablePackagesSoapOut" />
   </operation>
 </portType>
 <binding name="AvailabilityServiceSoap" type="tns:AvailabilityServiceSoap">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document" />

   <operation name="Availability">
     <soap:operation soapAction="http://webservices.micros.com/ows/5.1/Availability.wsdl#Availability"; style="document" />
     <input>
       <soap:body use="literal" />
       <soap:header message="tns:AvailabilityOGHeader" part="OGHeader" use="literal" />
     </input>
     <output>
       <soap:body use="literal" />
       <soap:header message="tns:AvailabilityOGHeader" part="OGHeader" use="literal" />

     </output>
   </operation>
   <operation name="RegionalAvailability">
     <soap:operation soapAction="http://webservices.micros.com/ows/5.1/Availability.wsdl#RegionalAvailability"; style="document" />
     <input>
       <soap:body use="literal" />
       <soap:header message="tns:RegionalAvailabilityOGHeader" part="OGHeader" use="literal" />
     </input>
     <output>

       <soap:body use="literal" />
       <soap:header message="tns:RegionalAvailabilityOGHeader" part="OGHeader" use="literal" />
     </output>
   </operation>
   <operation name="FetchAvailablePackages">
     <soap:operation soapAction="http://webservices.micros.com/ows/5.1/Availability.wsdl#FetchAvailablePackages"; style="document" />
     <input>
       <soap:body use="literal" />
       <soap:header message="tns:FetchAvailablePackagesOGHeader" part="OGHeader" use="literal" />

     </input>
     <output>
       <soap:body use="literal" />
       <soap:header message="tns:FetchAvailablePackagesOGHeader" part="OGHeader" use="literal" />
     </output>
   </operation>
 </binding>
 <service name="AvailabilityService">
   <port name="AvailabilityServiceSoap" binding="tns:AvailabilityServiceSoap">

     <soap:address location="http://pezula.ath.cx/Availability2/Availability.asmx"; />
   </port>
 </service>
</definitions>
---

--
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux