XML экспорт/Описание объектов — различия между версиями
Материал из TourClient - Руководство пользователя
Fokanov (обсуждение | вклад) м (Добавлена сущность "изображение отеля".) |
Levenets (обсуждение | вклад) (→Объект Статус поиска) |
||
(не показаны 20 промежуточные версии 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> | ||
Строка 199: | Строка 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> | ||
+ | <id>654321</id> <!-- Идентификатор изображения отеля. --> | ||
+ | <url>http://tophotels.ru/icache/hotel_photos/21/21/12395/654321s.jpg</url> <!-- Абсолютный путь к изображению. --> | ||
+ | </PreviewPhoto> | ||
+ | |||
</Allocation> | </Allocation> | ||
</source> | </source> | ||
Строка 241: | Строка 287: | ||
</source> | </source> | ||
<br> | <br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 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>