XML - результаты поиска/Поиск туров
Материал из TourClient - Руководство пользователя
Версия от 18:03, 4 июля 2014; Jeka (обсуждение | вклад)
Содержание
Сервис Поиск туров
Работа с сервисом осуществляется путем отправки POST запросов на адрес ... .
Параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Запрос к сервису
<?xml version="1.0" encoding="UTF-8"?> <root> <TourSearchRequest> <dataOffset>0</dataOffset> <dataLimit>50</dataLimit> <seatStatus>3</seatStatus> <cityId>1000</cityId> <countryId>12</countryId> <roomSizeId>14</roomSizeId> <adults>2</adults> <children>0</children> <childAge1>0</childAge1> <childAge2>0</childAge2> <durationFrom>7</durationFrom> <durationTill>14</durationTill> <departureFrom>2014-07-25</departureFrom> <departureTill>2014-08-10</departureTill> <ticket>1</ticket> <priceFrom>500</priceFrom> <priceTill>50000</priceTill> <currency>3</currency> <operatorIds> <id>111</id> <id>222</id> <id>333</id> </operatorIds> <resortIds> <id>111</id> <id>222</id> <id>333</id> </resortIds> <resortPlaceIds> <id>111</id> <id>222</id> <id>333</id> </resortPlaceIds> <allocCatId>7</allocCatId> <allocRate>3.56</allocRate> <allocationIds> <id>111</id> <id>222</id> <id>333</id> </allocationIds> <mealIds> <id>111</id> <id>222</id> <id>333</id> </mealIds> <roomViewIds> <id>111</id> <id>222</id> <id>333</id> </roomViewIds> <roomTypeIds> <id>111</id> <id>222</id> <id>333</id> </roomTypeIds> </TourSearchRequest> <TourExtraEntities> <entity>OnlineSeatsState</entity> <entity>ExtraCharges</entity> <entity>City</entity> <entity>Country</entity> <entity>RoomSize</entity> <entity>Resort</entity> <entity>ResortPlace</entity> <entity>Allocation</entity> <entity>AllocCat</entity> <entity>Meal</entity> <entity>RoomType</entity> <entity>RoomView</entity> </TourExtraEntities> </root>
Ответ сервиса
Сервис возвращает ответ, содержащий массив объектов Тур (Tours) и объект Статус поиска (SearchStatus)
<?xml version="1.0" encoding="UTF-8"?> <root> <Tours> <Tour>...</Tour> <Tour>...</Tour> <Tour>...</Tour> ... </Tours> <SearchStatus> ... </SearchStatus> </root>
Сервис Статус поиска
Работа с сервисом осуществляется путем отправки POST запросов на адрес ... .
Параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Запрос к сервису
<?xml version="1.0" encoding="UTF-8"?> <root> <SearchStatusRequest> <key>df1b446a09606710d301153157fc862b</key> <!-- Уникальный ключ поискового запроса. --> </SearchStatusRequest> </root>
Ответ сервиса
Сервис возвращает ответ объект Статус поиска (SearchStatus)
Сервис возвращает ответ, содержащий массив объектов Тур (Tours) и объект Статус поиска (SearchStatus)
<?xml version="1.0" encoding="UTF-8"?> <root> <SearchStatus> ... </SearchStatus> </root>
Описание объектов
Объект Статус поиска
<SearchStatus> <key>df1b446a09606710d301153157fc862b</key> <!-- Уникальный ключ поискового запроса. --> <inProgress>true</inProgress> <!-- Параметр показывающий завершен ли поиск. --> <toursCount>450</toursCount> <!-- Количество найденных (на момент получения статуса) туров в рамках данного поискового запроса. --> <exactCount>false</exactCount> <!-- Параметр показывающий что количество найденных туров окончательное, и при изменении параметров offset и limit изменяться не будет. --> </SearchStatus>
Объект Тур
<Tour> <id>3145968261@511</id> <!-- Уникальный идентификатор тура. --> <operatorId>308</operatorId> <!-- Идентификатор туроператора. --> <cityId>1000</cityId> <!-- Идентификатор города вылета. --> <countryId>12</countryId> <!-- Идентификатор страны прилета. --> <roomSizeId>14</roomSizeId> <!-- Идентификатор размещения (DBL,SNGL,TRL...). --> <departure>2014-07-10</departure> <!-- Дата вылета. --> <arrival>2014-07-17</arrival> <!-- Дата прилета. --> <duration>7</duration> <!-- Продолжительность (количество ночей в отеле). --> <ticket>1</ticket> <!-- Дата прилета. --> <directFlight>false</directFlight> <!-- Прямой перелет. true - известно что перелет прямой. false - известно что перелет с пересадкой. Если не опеределен, то не известно. --> <price>18000</price> <!-- Стоимость тура в валюте запроса. --> <currency>2</currency> <!-- Идентификатор валюты запроса. --> <priceIsApprox>true</priceIsApprox> <!-- Параметр показывает что цена была пересчитана по кросс-курсу и может содержать погрешность пересчета (возникает в случаях когда валюта запроса отлична от валюты предложения и оператор не имеет кросскурса для пересчета). --> <priceOrig>500</priceOrig> <currencyOrig>1</currencyOrig> <prevPriceOrig>0</prevPriceOrig> <priceDiffPercent>0</priceDiffPercent> <ch1From>0</ch1From> <ch1Till>0</ch1Till> <ch2From>0</ch2From> <ch2Till>0</ch2Till> <resortId>4</resortId> <resortPlaceId>2392</resortPlaceId> <allocationId>12395</allocationId> <allocCatId>7</allocCatId> <mealId>2</mealId> <roomTypeId>4</roomTypeId> <roomViewId>22</roomViewId> <isStop>false</isStop> <isStopAllocation>false</isStopAllocation> <isStopFlight>false</isStopFlight> <!-- Дополнительные объекты, описывающие параметры тура. Присутствуют объекте тур опционарно, в зависимости от параметров входящего запроса --> <OnlineSeatsState>...</OnlineSeatsState> <ExtraCharges>...</ExtraCharges> <City>...</City> <Country>...</Country> <Operator>...</Operator> <RoomSize>...</RoomSize> <Resort>...</Resort> <ResortPlace>...</ResortPlace> <Allocation>...</Allocation> <AllocCat>...</AllocCat> <Meal>...</Meal> <RoomType>...</RoomType> <RoomView>...</RoomView> </Tour>
Дополнительные объекты для объекта Тур
Наличие мест
<OnlineSeatsState> <allocation>1</allocation> <flightThereEco>1</flightThereEco> <flightBackEco>1</flightBackEco> <flightThereBus>2</flightThereBus> <flightBackBus>2</flightBackBus> <isStopFlight>false</isStopFlight> <isStopAllocation>false</isStopAllocation> </OnlineSeatsState>
Доплаты
<ExtraCharges> <visa> <min>25</min> <max>25</max> <currency>1</currency> </visa> <feeFuel> <min>0</min> <max>40</max> <currency>1</currency> </feeFuel> </ExtraCharges>
Город вылета
<City> <id>1000</id> <name>Москва</name> </City>
Страна
<Country> <id>12</id> <name>Египет</name> </Country>
Туроператор
<Operator> <id>308</id> <name>Troyka</name> </Operator>
Размещение
<RoomSize> <id>14</id> <name>DBL</name> <description>2-е взрослых</description> <adults>2</adults> <children>0</children> </RoomSize>
Курорт
<Resort> <id>4</id> <name>Хургада</name> </Resort>
Район (курорта)
<ResortPlace> <id>2392</id> <name>Эль-Дахар</name> </ResortPlace>
Отель
<Allocation> <id>12395</id> <name>Sea View</name> <rate>2.5</rate> </Allocation>
Категория отеля
<AllocCat> <id>7</id> <name>2*</name> </AllocCat>
Питание
<Meal> <id>1</id> <name>AI</name> <description>питание+напитки местного производства</description> </Meal>
Тип номера
<RoomType> <id>13</id> <name>Executive</name> <description>улучш. номер "Executive"</description> </RoomType>
Вид из номера
<RoomView> <id>22</id> <name>ROH</name> <description>без опред. вида из номера</description> </RoomView>