XML экспорт/Описание объектов — различия между версиями

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
(Отель)
(Объект Статус поиска)
 
(не показаны 15 промежуточные версии 4 участников)
Строка 10: Строка 10:
 
     <inProgress>true</inProgress>  <!-- Параметр показывающий завершен ли поиск. -->
 
     <inProgress>true</inProgress>  <!-- Параметр показывающий завершен ли поиск. -->
 
     <toursCount>450</toursCount>  <!-- Количество найденных (на момент получения статуса) туров в рамках данного поискового запроса. -->
 
     <toursCount>450</toursCount>  <!-- Количество найденных (на момент получения статуса) туров в рамках данного поискового запроса. -->
 +
                                  <!-- Для запроса статуса с группировкой (SearchStatusByAllocationRequest) в toursCount будет количество туров с группировкой. -->
 
     <exactCount>false</exactCount> <!-- Параметр показывающий что количество найденных туров окончательное, и при изменении параметров offset и limit изменяться не будет. -->
 
     <exactCount>false</exactCount> <!-- Параметр показывающий что количество найденных туров окончательное, и при изменении параметров offset и limit изменяться не будет. -->
 +
    <operators>                   
 +
        <operator>               
 +
            <id>44</id>            <!-- Идентификатор туроператора. -->
 +
            <priceDb>67895</priceDb> <!-- Цена тура (сохраненная в базе данных). -->
 +
            <priceOnline>65759</priceOnline> <!-- Цена полученная в момент выполнения запроса из системы туроператора. -->
 +
            <state>ready</state>  <!-- Состояние поиска туров по данному туроператору. -->
 +
                                  <!-- wait - ожидание ответа, ready - ответ получен, no_data - туров не найдено, down - туроператор не ответил -->
 +
        </operator>
 +
        ...
 +
    </operators>
 
</SearchStatus>
 
</SearchStatus>
 
</source>
 
</source>
  
 
<br>
 
<br>
 +
 
== Объект Тур ==
 
== Объект Тур ==
 
<source lang="xml">
 
<source lang="xml">
Строка 89: Строка 101:
  
 
     <RoomView>...</RoomView>
 
     <RoomView>...</RoomView>
 +
 +
    <comboTour>true</comboTour> <!-- Наличие этого поля обозначает, что тур комбинированный -->
 +
 +
    <offerFlags>          <!-- Флаги туров -->
 +
        <promoPrice>true</promoPrice>                <!-- Цена тура отмечена как ПРОМО -->
 +
        <comboTour>true</comboTour>                  <!-- Тур комбинированный -->
 +
        <hasProgram>true</hasProgram>                <!-- У тура есть программа -->
 +
        <regularFlight>true</regularFlight>          <!-- Тур с регулярными перелетами -->
 +
        <directFlight>true</directFlight>            <!-- Тур с прямым перелетом -->
 +
        <connectionFlight>true</connectionFlight>    <!-- Тур с пересадкой на перелете -->
 +
    </offerFlags>
 +
 
</Tour>
 
</Tour>
  
Строка 198: Строка 222:
 
     <name>Sea View</name>  <!-- Название отеля (то, которое он сам использует). -->
 
     <name>Sea View</name>  <!-- Название отеля (то, которое он сам использует). -->
 
     <rate>2.5</rate>        <!-- Рейтинг отеля на TopHotels. -->
 
     <rate>2.5</rate>        <!-- Рейтинг отеля на TopHotels. -->
 +
 +
    <allocationType>
 +
        <id>2</id>                <!-- Идентификатор типа отеля. -->
 +
        <name>Гостиница</name>    <!-- Расшифровка типа отеля. -->
 +
    </allocationType>
 +
 +
    <allocationPlaceType>
 +
        <id>1</id>              <!-- Идентификатор типа расположения отеля. -->
 +
        <name>Пляжный</name>    <!-- Расшифровка типа расположения отеля. -->
 +
    </allocationPlaceType>
 +
 +
    <allocationPlaceValues>
 +
        <allocationPlaceValue>
 +
            <id>3</id>                <!-- Идентификатор значения расположения отеля. -->
 +
            <name>2-я линия</name>    <!-- Расшифровка значения расположения отеля. -->
 +
        </allocationPlaceValue>
 +
    </allocationPlaceValues>
  
 
     <PreviewPhoto>
 
     <PreviewPhoto>

Текущая версия на 17:36, 12 февраля 2021

Мы оставляем за собой право добавлять дополнительные поля во все объекты. Ваша программа должна корректно обрабатывать появление нового поля.

Объект Статус поиска

<SearchStatus>
    <key>df1b446a09606710d301153157fc862b</key> <!-- Уникальный ключ поискового запроса. -->
    <inProgress>true</inProgress>  <!-- Параметр показывающий завершен ли поиск. -->
    <toursCount>450</toursCount>   <!-- Количество найденных (на момент получения статуса) туров в рамках данного поискового запроса. -->
                                   <!-- Для запроса статуса с группировкой (SearchStatusByAllocationRequest) в toursCount будет количество туров с группировкой. -->
    <exactCount>false</exactCount> <!-- Параметр показывающий что количество найденных туров окончательное, и при изменении параметров offset и limit изменяться не будет. -->
    <operators>                    
        <operator>                 
            <id>44</id>            <!-- Идентификатор туроператора. -->
            <priceDb>67895</priceDb> <!-- Цена тура (сохраненная в базе данных). --> 
            <priceOnline>65759</priceOnline> <!-- Цена полученная в момент выполнения запроса из системы туроператора. -->
            <state>ready</state>   <!-- Состояние поиска туров по данному туроператору. -->
                                   <!-- wait - ожидание ответа, ready - ответ получен, no_data - туров не найдено, down - туроператор не ответил -->
        </operator>
        ...
    </operators>
</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>                  <!-- Дата прилета. -->
                                        <!-- 0 - без билета, 1 - авиаперелет, 2 - поезд, 3 - автобус, 4 - паром, 5 - автомобиль -->
    <directFlight>false</directFlight>  <!-- Прямой перелет. true - известно что перелет прямой. -->
                                        <!-- false - известно что перелет с пересадкой. Если не опеределен, то не известно. -->
 
    <price>18000</price>                <!-- Стоимость тура в валюте запроса. -->
    <currency>2</currency>              <!-- Идентификатор валюты запроса. -->
    <priceIsApprox>true</priceIsApprox> <!-- Параметр показывает что цена была пересчитана по кросс-курсу и может содержать погрешность пересчета -->
                                        <!-- (возникает в случаях когда валюта запроса отлична от валюты предложения и оператор не имеет кросскурса для пересчета). -->
 
    <priceOrig>500</priceOrig>          <!-- Стоимость тура в валюте туроператора. -->
    <currencyOrig>1</currencyOrig>      <!-- Стоимость тура в валюты туроператора. -->
                                        <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
 
    <prevPriceOrig>0</prevPriceOrig>    <!-- Предыдущая стоимость тура (в валюте туроператора). -->
    <priceDiffPercent>0</priceDiffPercent>  <!-- Стоимость тура в валюте запроса. -->
                                        <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
 
    <ch1From>0</ch1From>                <!-- Возраст 1-го ребенка ОТ (для размещений с детьми) -->
    <ch1Till>0</ch1Till>                <!-- Возраст 1-го ребенка ДО (для размещений с детьми) -->
    <ch2From>0</ch2From>                <!-- Возраст 2-го ребенка ОТ (для размещений с детьми) -->
    <ch2Till>0</ch2Till>                <!-- Возраст 2-го ребенка До (для размещений с детьми) -->
 
    <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>
 
    <comboTour>true</comboTour> <!-- Наличие этого поля обозначает, что тур комбинированный -->
 
    <offerFlags>           <!-- Флаги туров -->
        <promoPrice>true</promoPrice>                 <!-- Цена тура отмечена как ПРОМО --> 
        <comboTour>true</comboTour>                   <!-- Тур комбинированный -->
        <hasProgram>true</hasProgram>                 <!-- У тура есть программа -->
        <regularFlight>true</regularFlight>           <!-- Тур с регулярными перелетами -->
        <directFlight>true</directFlight>             <!-- Тур с прямым перелетом -->
        <connectionFlight>true</connectionFlight>     <!-- Тур с пересадкой на перелете -->
    </offerFlags>
 
</Tour>


Дополнительные объекты

Наличие мест

Наличие мест для конкретного тура по данным системы туроператора.

Если объект пустой - это означает что системе TourClient неизвестно наличие мест на данный тур (но не означает что мест нет).

<OnlineSeatsState>
    <allocation>1</allocation>                  <!-- Наличие мест в отель. 0 - неизвестно, 1 - места есть, 2 - мест нет, 3 - места по запросу -->
    <flightThereEco>1</flightThereEco>          <!-- Наличие на эконом-рейс туда. 0 - неизвестно, 1 - места есть, 2 - мест нет, 3 - места по запросу -->
    <flightBackEco>1</flightBackEco>            <!-- Наличие на эконом-рейс обратно. 0 - неизвестно, 1 - места есть, 2 - мест нет, 3 - места по запросу -->
    <flightThereBus>2</flightThereBus>          <!-- Наличие на бизнес-рейс туда. 0 - неизвестно, 1 - места есть, 2 - мест нет, 3 - места по запросу -->
    <flightBackBus>2</flightBackBus>            <!-- Наличие на бизнес-рейс обратно. 0 - неизвестно, 1 - места есть, 2 - мест нет, 3 - места по запросу -->
    <isStopFlight>false</isStopFlight>          <!-- Тур в стопе из-за отсутствия мест на рейсы. -->
    <isStopAllocation>false</isStopAllocation>  <!-- Тур в стопе из-за отсутствия мест в отеле. -->
</OnlineSeatsState>

Доплаты

Доплаты для конкретного тура по данным системы TourClient.

Если объект пустой - это означает что системе TourClient неизвестно наличие доплат (но не означает что доплат нет).

<ExtraCharges>
    <visa>
        <min>25</min>           <!-- Минимальная стоимость визы для данного тура -->
        <max>25</max>           <!-- Максимальная стоимость визы для данного тура -->
        <currency>1</currency>  <!-- Валюта в которой представлена стоимость: 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
    </visa>
    <feeFuel>
        <min>0</min>            <!-- Минимальная стоимость топливного сбора для данного тура -->
        <max>40</max>           <!-- Максимальная стоимость топливного сбора для данного тура -->
        <currency>1</currency>  <!-- Валюта в которой представлена стоимость: 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
    </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>        <!-- Рейтинг отеля на TopHotels. -->
 
    <allocationType>
        <id>2</id>                 <!-- Идентификатор типа отеля. -->
        <name>Гостиница</name>     <!-- Расшифровка типа отеля. -->
    </allocationType>
 
    <allocationPlaceType>
        <id>1</id>               <!-- Идентификатор типа расположения отеля. -->
        <name>Пляжный</name>     <!-- Расшифровка типа расположения отеля. -->
    </allocationPlaceType>
 
    <allocationPlaceValues>
        <allocationPlaceValue>
            <id>3</id>                 <!-- Идентификатор значения расположения отеля. -->
            <name>2-я линия</name>     <!-- Расшифровка значения расположения отеля. -->
        </allocationPlaceValue>
    </allocationPlaceValues> 
 
    <PreviewPhoto>
        <id>654321</id>     <!-- Идентификатор изображения отеля. -->
        <url>http://tophotels.ru/icache/hotel_photos/21/21/12395/654321s.jpg</url>  <!-- Абсолютный путь к изображению. -->
    </PreviewPhoto>
 
</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>