Я в основном пытаюсь объединить несколько ответов SOAP, потому что веб-служба поддерживает поиск только одной комнаты за раз вместо нескольких , насколько я знаю - это метод CheckAvailability и использование этого WSDL
Если я предоставляю свои учетные данные, даты прибытия / отъезда в моем запросе SOAP, я получаю следующие данные, которые в основном скомпрометированы из 3 вещей. Типы номеров (тип номера и описание), тарифные планы (предложения) и номер Цены (карты номеров с планами / предложениями).
Допустим, пользователь указывает дату приезда 20 февраля и дату отъезда 24 февраля 2010 года, приезд / отъезд, но хотел бы забронировать 3 номера:
- 1x номер с 3x взрослыми 2x детьми
- 1x номер с 2x взрослыми 1x детьми
- 1x номер с 1x взрослым 0 детьми
Так как у нас 3 комнаты, это должно быть 3 запроса, потому что количество людей различается, цены изменятся.
Моя главная задача состоит в том, чтобы объединить их так, чтобы я мог сначала отображать типы комнат на своей веб-странице, а в каждом блоке типов комнат отображать цену для каждой комнаты, которую хотел бы пользователь, например:
<li>
<h2>King Suite</h2>
<h3>Prices</h3>
<ul class="tabs">
<li>Room 1<table></table></li>
<li>Room 2<table></table></li>
<li>Room 3<table></table></li>
</ul>
</li>
Пример ответа SOAP:
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="KING" NumberOfUnits="14">
<RoomDescription Name="Kings Room">
<Text>Content</Text>
<Image>http://static.images.com/file.gif</Image>
</RoomDescription>
</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="SPECIAL" RatePlanName="Special Rate">
<RatePlanDescription Name="Published Rate">
<Text>Published Rate European Plan</Text>
</RatePlanDescription>
<Guarantee>
<GuaranteeDescription>
<Text>1 night room and tax due at the time of reservation</Text>
</GuaranteeDescription>
</Guarantee>
<CancelPenalties>
<CancelPenalty>
<PenaltyDescription>
<Text>30 day cancellation policy</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<Commission>
<Percent>10</Percent>
</Commission>
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate RoomTypeCode="KING" RatePlanCode="SPECIAL">
<Rates>
<Rate>
<Base AmountBeforeTax="1145.00" AmountAfterTax="1145.00" CurrencyCode="USD" />
<Total AmountBeforeTax="5725.00" AmountAfterTax="5725.00" CurrencyCode="USD" />
<Taxes>
<Tax Amount="0.00" CurrencyCode="USD" />
</Taxes>
<Tpa_Extensions>
<NightlyRate Date="12/28/2010" Price="1145.00" Tax="0.00" Fee="0.00" PriceWithTaxAndFee="1145.00" />
<NightlyRate Date="12/29/2010" Price="1145.00" Tax="0.00" Fee="0.00" PriceWithTaxAndFee="1145.00" />
<NightlyRate Date="12/30/2010" Price="1145.00" Tax="0.00" Fee="0.00" PriceWithTaxAndFee="1145.00" />
<NightlyRate Date="12/31/2010" Price="1145.00" Tax="0.00" Fee="0.00" PriceWithTaxAndFee="1145.00" />
<NightlyRate Date="1/1/2011" Price="1145.00" Tax="0.00" Fee="0.00" PriceWithTaxAndFee="1145.00" />
</Tpa_Extensions>
</Rate>
</Rates>
</RoomRate>
</RoomRates>
<BasicPropertyInfo HotelCode="1" HotelName="My Hotel!" />
</RoomStay>
</RoomStays>
Итак, каким образом мне следует нормализовать эту разметку, чтобы объединить все 3 запроса, чтобы они могли отобразить указанную разметку HTML?