Web-сервисы: Сервис TourML — различия между версиями
Kurkemova (обсуждение | вклад) (→Любые другие (MICS)) |
м (→Пример работа без использования WSE авторизации) |
||
(не показано 36 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | |||
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}. | Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}. | ||
==Введение== | ==Введение== | ||
Строка 44: | Строка 43: | ||
Дополнительные настройки, задаваемые в файле web.config, позволяют задать дополнительные условия для отображения и проверки данных. | Дополнительные настройки, задаваемые в файле web.config, позволяют задать дополнительные условия для отображения и проверки данных. | ||
− | {| cellpadding=" | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" |
− | |№ | + | |
− | |Описание | + | |- style="background-color:#F2F2F2" |
− | |Значение | + | |
− | |Настройка | + | ! width="2%" | № |
− | |- | + | ! width="28%" | Описание |
+ | ! width="35%" | Значение | ||
+ | ! width="35%" | Настройка | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
|1 | |1 | ||
|Настройка, определяющая ключи типов туров, которые будут передаваться. | |Настройка, определяющая ключи типов туров, которые будут передаваться. | ||
|Ключи типов туров через запятую. | |Ключи типов туров через запятую. | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="tipTursFilter" value="5,6,10" /> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|2 | |2 | ||
|Настройка, включающая возможность передавать ключи типов туров через запятую. | |Настройка, включающая возможность передавать ключи типов туров через запятую. | ||
− | |'''true''' - использовать фильтрацию по ключам типов туров через запятую; | + | | |
− | '''false''' или '''отсутствие настройки''' - не использовать фильтрацию по ключам типов туров через запятую. | + | *'''true''' - использовать фильтрацию по ключам типов туров через запятую; |
− | |<add key=" | + | *'''false''' или '''отсутствие настройки''' - не использовать фильтрацию по ключам типов туров через запятую. |
− | |- | + | |<syntaxhighlight lang="xml" enclose="div"> |
+ | <add key="isUseTipTursFilter" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|3 | |3 | ||
|Настройка, включающая возможность отображения наличия мест для квот определенным пользователям. | |Настройка, включающая возможность отображения наличия мест для квот определенным пользователям. | ||
|В значении настройки через запятую перечисляются пользователи, которым должны быть доступны для показа количество мест. | |В значении настройки через запятую перечисляются пользователи, которым должны быть доступны для показа количество мест. | ||
Если настройка не указана или задано пустое значение, квоты доступны всем. | Если настройка не указана или задано пустое значение, квоты доступны всем. | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="showFullQuotasUserNames" value="username" /> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|4 | |4 | ||
|Настройка, отвечающая за отображение количества мест в квоте. | |Настройка, отвечающая за отображение количества мест в квоте. | ||
− | |'''true''' - отображает количество мест в квоте; | + | | |
− | '''false''' или '''отсутствие настройки''' - количество мест в квоте не отображается. | + | *'''true''' - отображает количество мест в квоте; |
− | |<add key=" | + | *'''false''' или '''отсутствие настройки''' - количество мест в квоте не отображается. |
− | |- | + | |<syntaxhighlight lang="xml" enclose="div"> |
+ | <add key="isShowQuantity" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|5 | |5 | ||
− | |Настройка, снижающая нагрузку обращений к базе за счет увеличения времени отработки метода [[ | + | |Настройка, снижающая нагрузку обращений к базе за счет увеличения времени отработки метода [[Web-сервисы: Сервис TourML#Метод GetAgreementsByKeys|GetAgreementsByKeys]]. Время, указанное в настройке, является промежутком между временем окончания отработки метода и временем возврата результата. |
− | |||
|Значение задержки измеряется в секундах. | |Значение задержки измеряется в секундах. | ||
Строка 81: | Строка 93: | ||
Например, метод возвращал данные через 5 сек. Если в настройке указать значение 10 сек, то время обработки метода и возвращения результата будет составлять 15 сек. | Например, метод возвращал данные через 5 сек. Если в настройке указать значение 10 сек, то время обработки метода и возвращения результата будет составлять 15 сек. | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="delayBeforeReturn" value="10"/> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|6 | |6 | ||
− | |Настройка, включающая в методе [[ | + | |Настройка, включающая в методе [[Web-сервисы: Сервис TourML#Метод GetReferences|GetReferences]] возможность отображения партнеров, предоставляющих услуги отеля, определенным пользователям. |
|В значении настройки через запятую перечисляются логин пользователей, которым должны быть доступны для показа партнеры по услуге. | |В значении настройки через запятую перечисляются логин пользователей, которым должны быть доступны для показа партнеры по услуге. | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="showBOOAddInfoUserNames" value="test" /> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|7 | |7 | ||
|Настройка, определяющая загрузку не выставленных в онлайн СПО туров. Работает только при включенной настройке ''notOnlineTourTypes'' | |Настройка, определяющая загрузку не выставленных в онлайн СПО туров. Работает только при включенной настройке ''notOnlineTourTypes'' | ||
− | |'''true''' – показывает все выставленные онлайн СПО и не выставленные онлайн СПО с ключами; | + | | |
− | '''false''' или '''отсутствие настройки''' – показывает только выставленные онлайн СПО туры | + | *'''true''' – показывает все выставленные онлайн СПО и не выставленные онлайн СПО с ключами; |
− | |<add key=" | + | *'''false''' или '''отсутствие настройки''' – показывает только выставленные онлайн СПО туры |
− | |- | + | |<syntaxhighlight lang="xml" enclose="div"> |
+ | <add key="showNotOnlineSPO" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|8 | |8 | ||
|Настройка, определяющая ключи типов туров СПО. Ключи хранятся в таблице TipTur. | |Настройка, определяющая ключи типов туров СПО. Ключи хранятся в таблице TipTur. | ||
|'''key''' – перечисляются ключи типов туров через запятую | |'''key''' – перечисляются ключи типов туров через запятую | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="notOnlineTourTypes" value="5" /> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|9 | |9 | ||
− | |Настройка, включающая в методе [[ | + | |Настройка, включающая в методе [[Web-сервисы: Сервис TourML#Метод GetFlightQuotes|GetFlightQuotes]] отображение информации по авиаперелетам (расписание и квоты). |
|В значении настройки через запятую перечисляются '''ключи тарифов''', по которым производится вывод информации по авиаперелетам. | |В значении настройки через запятую перечисляются '''ключи тарифов''', по которым производится вывод информации по авиаперелетам. | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="tarifsToLoadFlightQuotes" value="89,67,114"/> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|10 | |10 | ||
|Настройка, позволяющая через запросы к URL и авторизацию с помощью параметров запроса ''Login'' и ''Password'', вызывать методы в TourMl. | |Настройка, позволяющая через запросы к URL и авторизацию с помощью параметров запроса ''Login'' и ''Password'', вызывать методы в TourMl. | ||
− | |'''true''' – метод выполняется по запросу к URL; | + | | |
− | '''false''' или '''отсутствие настройки''' – запрос не вызывает метод | + | *'''true''' – метод выполняется по запросу к URL; |
− | + | *'''false''' или '''отсутствие настройки''' – запрос не вызывает метод | |
(Пример: http: //ip-адрес сервера/TourMl/Service.asmx/GetHotelKeys?checkPoint=2014-01-01&cityKey=614&Login=test&Password=qUqP5cyxm6YcTAhz05Hph5gvu9M=) | (Пример: http: //ip-адрес сервера/TourMl/Service.asmx/GetHotelKeys?checkPoint=2014-01-01&cityKey=614&Login=test&Password=qUqP5cyxm6YcTAhz05Hph5gvu9M=) | ||
− | |<add key=" | + | |<syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="allowSimpleAuth" value="true"/> |
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|11 | |11 | ||
|Настройка метода проверки квот. | |Настройка метода проверки квот. | ||
− | |'''true''' или '''отсутствие настройки'''– квоты проверяются исходя из настроек в базе; | + | | |
− | '''false''' – квоты сервисами не проверяются | + | *'''true''' или '''отсутствие настройки'''– квоты проверяются исходя из настроек в базе; |
− | |<add key=" | + | *'''false''' – квоты сервисами не проверяются |
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="UseNewSetToQuota" value="true"/> | ||
+ | </syntaxhighlight> | ||
|} | |} | ||
Строка 126: | Строка 154: | ||
|style="background-color:#7F7F7F;color:white" width="4%"|№ | |style="background-color:#7F7F7F;color:white" width="4%"|№ | ||
|style="background-color:#7F7F7F;color:white" width="16%"|Название метода | |style="background-color:#7F7F7F;color:white" width="16%"|Название метода | ||
− | |style="background-color:#7F7F7F;color:white" width="10%"| | + | |style="background-color:#7F7F7F;color:white" width="10%"|Выгрузка цен (TL) |
− | |style="background-color:#7F7F7F;color:white" width="10%"| | + | |style="background-color:#7F7F7F;color:white" width="10%"|Импорт квот и Stop-Sale (QL) |
− | |style="background-color:#7F7F7F;color:white" width="10%"| | + | |style="background-color:#7F7F7F;color:white" width="10%"|Актуализация цены и бронирование (BOO) |
|style="background-color:#7F7F7F;color:white" width="10%"|Работа с заявкой (AGR) | |style="background-color:#7F7F7F;color:white" width="10%"|Работа с заявкой (AGR) | ||
|style="background-color:#7F7F7F;color:white" width="10%"|Подбор вариантов (GBI) | |style="background-color:#7F7F7F;color:white" width="10%"|Подбор вариантов (GBI) | ||
Строка 565: | Строка 593: | ||
|} | |} | ||
− | === | + | ===Выгрузка цен (TL)=== |
====Метод GetSPOArrayByKeyCompressed==== | ====Метод GetSPOArrayByKeyCompressed==== | ||
Данный метод осуществляет загрузку цен (данные возвращаются в сжатом виде по частям).<br /> | Данный метод осуществляет загрузку цен (данные возвращаются в сжатом виде по частям).<br /> | ||
Строка 1149: | Строка 1177: | ||
====Метод GetSPOByKeyCompressed==== | ====Метод GetSPOByKeyCompressed==== | ||
− | Данный метод осуществляет загрузку цен ( | + | Данный метод осуществляет загрузку цен (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).<br /> |
Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.<br /> | Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
Строка 1198: | Строка 1226: | ||
====Метод GetSPOByKeyCompressed_DC==== | ====Метод GetSPOByKeyCompressed_DC==== | ||
− | Данный метод осуществляет загрузку цен для динамического ценообразования ( | + | Данный метод осуществляет загрузку цен для динамического ценообразования (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).<br /> |
Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.<br /> | Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
Строка 1499: | Строка 1527: | ||
====Метод GetSPOPageByKeyCompressed==== | ====Метод GetSPOPageByKeyCompressed==== | ||
− | Данный метод возвращает постраничную загрузку цен ( | + | Данный метод возвращает постраничную загрузку цен (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).<br /> |
Список принимаемых параметров: | Список принимаемых параметров: | ||
*spoKey – ключ СПО | *spoKey – ключ СПО | ||
Строка 1553: | Строка 1581: | ||
Данный метод возвращает список актуальных туров.<br /> | Данный метод возвращает список актуальных туров.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
− | * | + | *параметров нет |
В результате пользователь получает информацию по имеющимся актуальным турам в базе данных. | В результате пользователь получает информацию по имеющимся актуальным турам в базе данных. | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
Строка 1792: | Строка 1820: | ||
====Метод GetValidTourListCompressed==== | ====Метод GetValidTourListCompressed==== | ||
− | Данный метод возвращает список актуальных туров ( | + | Данный метод возвращает список актуальных туров (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).<br /> |
Список принимаемых параметров: | Список принимаемых параметров: | ||
*параметров нет | *параметров нет | ||
Строка 1902: | Строка 1930: | ||
<roomCategories/> | <roomCategories/> | ||
<roomDescriptions/> | <roomDescriptions/> | ||
− | < | + | <roomAccomodation key="306" name="2ad+exb" nameLat="2ad+exb" code="2ad+exb" numBed="2" numExBed="1"> |
+ | <adult place="0" order="0"/> | ||
+ | <adult place="0" order="0"/> | ||
+ | <adult place="1" order="0"/> | ||
+ | </roomAccomodation> | ||
+ | <roomAccomodation key="565" name="2ad+ch(2-10,99)" nameLat="2ad+ch(2-10,99)" code="2ad+ch(2-10,99)" numBed="2" numExBed="1"> | ||
+ | <adult place="0" order="0"/> | ||
+ | <adult place="0" order="0"/> | ||
+ | <child ageFrom="2" ageTo="10" place="0" order="0»/> | ||
+ | </roomAccomodation> | ||
<rooms/> | <rooms/> | ||
<serviceClasses/> | <serviceClasses/> | ||
Строка 2076: | Строка 2113: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
+ | |||
+ | Примечания: | ||
+ | adult - взрослое размещение, | ||
+ | child - детское размещение, | ||
+ | place - тип места (0 - основное, 1 - дополнительное, 2 - без места), | ||
+ | order - номер места для цены за человека, | ||
+ | numBed - кол-во мест на основном размещении, | ||
+ | numExBed - кол-во дополнительных мест | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
Строка 2304: | Строка 2349: | ||
====Метод GetValidTourListFromCompressed==== | ====Метод GetValidTourListFromCompressed==== | ||
− | Данный метод возвращает список актуальных туров с определенной даты ( | + | Данный метод возвращает список актуальных туров с определенной даты (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).<br /> |
Список принимаемых параметров: | Список принимаемых параметров: | ||
*checkPoint – дата, начиная с которой выгружается информация об актуальных турах | *checkPoint – дата, начиная с которой выгружается информация об актуальных турах | ||
Строка 2351: | Строка 2396: | ||
</div></div><br /> | </div></div><br /> | ||
− | === | + | ===Импорт квот и Stop-Sale (QL)=== |
====Метод GetFlightQuotes==== | ====Метод GetFlightQuotes==== | ||
Данный метод возвращает расписание и квоты (наличие и количество мест) по авиаперелетам.<br /> | Данный метод возвращает расписание и квоты (наличие и количество мест) по авиаперелетам.<br /> | ||
Строка 3182: | Строка 3227: | ||
====Метод GetStopSalesAndQuotesCompressed==== | ====Метод GetStopSalesAndQuotesCompressed==== | ||
− | Данный метод возвращает информацию по квотам и Stop-Sale для версии 9.2 ( | + | Данный метод возвращает информацию по квотам и Stop-Sale для версии 9.2 (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).<br /> |
Возвращается информацию по квотам (наличие мест, количество мест, Stop-Sale, запреты на заезд) по всему услугам в туре.<br /> | Возвращается информацию по квотам (наличие мест, количество мест, Stop-Sale, запреты на заезд) по всему услугам в туре.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
Строка 3230: | Строка 3275: | ||
</div></div><br /> | </div></div><br /> | ||
− | === | + | ===Актуализация цены и бронирование (BOO)=== |
====Метод CheckBooking==== | ====Метод CheckBooking==== | ||
Данный метод осуществляет проверку возможности бронирования рассчитанного прайса.<br /> | Данный метод осуществляет проверку возможности бронирования рассчитанного прайса.<br /> | ||
Строка 3236: | Строка 3281: | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
*XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы. | *XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы. | ||
− | |||
− | |||
+ | В результате пользователь получает XML документ, содержащий договор. | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
+ | <div class="mw-collapsible-content"> | ||
+ | Вызов метода CheckBooking можно посмотреть здесь [[Мастер-Web:Дополнительный модуль Сервис TourML Приложение B#Функция CheckBooking|"Функция CheckBooking"]] | ||
+ | </div></div><br /> | ||
====Метод CreateBooking==== | ====Метод CreateBooking==== | ||
Данный метод осуществляет бронирование путевки по рассчитанному прайсу.<br /> | Данный метод осуществляет бронирование путевки по рассчитанному прайсу.<br /> | ||
Возвращает услуги по прайсу, их статусы (есть или нет мест), актуальную цену путевки.<br /> | Возвращает услуги по прайсу, их статусы (есть или нет мест), актуальную цену путевки.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
− | *XML документ, содержащий заявку, в которой | + | *XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы. |
− | |||
− | |||
+ | В результате пользователь получает XML документ, содержащий договор | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
+ | <div class="mw-collapsible-content"> | ||
+ | Вызов метода CreateBooking производится аналогично вызову метода [[Мастер-Web:Дополнительный модуль Сервис TourML Приложение B#Функция CheckBooking|CheckBooking]] | ||
+ | </div></div><br /> | ||
====Метод GetAgencies==== | ====Метод GetAgencies==== | ||
Данный метод возвращает список агентств по определенному фильтру.<br /> | Данный метод возвращает список агентств по определенному фильтру.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
− | * | + | *agencyName - название агентства (необязательный параметр) |
− | В результате пользователь получает | + | *cityCode - ключ города |
+ | *countryCode - ключ страны | ||
+ | *phoneNumber - телефонный код города | ||
+ | *mail - электронная почта (необязательный параметр) | ||
+ | В результате пользователь получает список агентств по передаваемым параметрам. <br /> | ||
+ | ''Внимание!'' Данный метод не может быть вызван из браузера, так как принимает в качестве параметра сложный тип. | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
− | Вызов метода GetAgencies | + | Вызов метода GetAgencies agencyName=?; cityCode=63; countryCode=3; phoneNumber=+7111; mail=? |
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
Строка 3421: | Строка 3477: | ||
Данный метод проверяет валидность услуг на даты заездов.<br /> | Данный метод проверяет валидность услуг на даты заездов.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
− | * | + | * priceKey - ключ цены |
+ | * anyType - ключ услуги | ||
+ | * checkIn - дата начала услуги | ||
− | В результате пользователь получает | + | В результате пользователь получает проверку валидности услуги на указанную дату. |
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
Строка 3474: | Строка 3532: | ||
===Работа с заявкой (AGR)=== | ===Работа с заявкой (AGR)=== | ||
====Метод CancelAgreement==== | ====Метод CancelAgreement==== | ||
− | Данный метод отправляет запрос на аннуляцию путевки.<br /> | + | Данный метод отправляет запрос на аннуляцию путевки. <br /> |
Список принимаемых параметров: | Список принимаемых параметров: | ||
*agencyId - ключ туристического агентства | *agencyId - ключ туристического агентства | ||
*agreementNumber – ключ договора путевки | *agreementNumber – ключ договора путевки | ||
− | В результате пользователь получает отправленный запрос на аннуляцию путевки. | + | В результате пользователь получает отправленный запрос на аннуляцию путевки. При передаче agencyId=0 (индивидульно), метод отрабатывать не будет, так как предназначен для работы с агентствами. |
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
Строка 4283: | Строка 4341: | ||
Данный метод возвращает список путевок в формате Бронни.<br /> | Данный метод возвращает список путевок в формате Бронни.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
− | *agency - | + | *agency - подстрока (часть имени) названия агентства. В итоговом запросе будет конструкция <syntaxhighlight lang="sql">LIKE 'agency - название агентства'</syntaxhighlight> |
*dateFrom - дата, с которой будут выводится созданные путевки | *dateFrom - дата, с которой будут выводится созданные путевки | ||
*dateTo - дата, по которую будет выводится список созданных путевок | *dateTo - дата, по которую будет выводится список созданных путевок | ||
Строка 4290: | Строка 4348: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
− | Вызов метода GetSimpleDogovorsBronni с параметрами: agency= | + | Вызов метода GetSimpleDogovorsBronni с параметрами: agency=агентство; dateFrom=2015-01-01; dateTo=2015-03-01 |
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
Строка 4299: | Строка 4357: | ||
<prod:GetSimpleDogovorsBronni> | <prod:GetSimpleDogovorsBronni> | ||
<!--Optional:--> | <!--Optional:--> | ||
− | <prod:agency> | + | <prod:agency>агентство</prod:agency> |
<prod:dateFrom>2015-01-01</prod:dateFrom> | <prod:dateFrom>2015-01-01</prod:dateFrom> | ||
<prod:dateTo>2015-03-01</prod:dateTo> | <prod:dateTo>2015-03-01</prod:dateTo> | ||
Строка 4341: | Строка 4399: | ||
*BTKey - значение колонки DG_BTKey из таблицы tbl_Dogovors. | *BTKey - значение колонки DG_BTKey из таблицы tbl_Dogovors. | ||
− | В результате пользователь получает список путевок по дате создания, | + | В результате пользователь получает список путевок по дате создания, начиная от переданной в параметрах дате, и выбранному названию агентства. |
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
Строка 4396: | Строка 4454: | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
*XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы. | *XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы. | ||
− | |||
− | |||
+ | В результате пользователь получает информацию о путевке в XML документе. | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
+ | <div class="mw-collapsible-content"> | ||
+ | Вызов метода GetBookingInfo производится аналогично вызову метода [[Мастер-Web:Дополнительный модуль Сервис TourML Приложение B#Функция CheckBooking|CheckBooking]] | ||
+ | </div></div><br /> | ||
===Подбор перелетов (FLF)=== | ===Подбор перелетов (FLF)=== | ||
Строка 4560: | Строка 4621: | ||
Данный метод возвращает справочники по фильтрам.<br /> | Данный метод возвращает справочники по фильтрам.<br /> | ||
Список принимаемых параметров: | Список принимаемых параметров: | ||
− | *queryType - идентификатор запроса | + | *[[#.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BE.D1.87.D0.BD.D0.BE.D0.B9_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.B8_.28.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_GetReferences.29|queryType]] - идентификатор запроса |
*param - ключ фильтра | *param - ключ фильтра | ||
В результате пользователь получает | В результате пользователь получает | ||
Строка 4566: | Строка 4627: | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
Вызов метода GetReferences с параметром spoKey=11 | Вызов метода GetReferences с параметром spoKey=11 | ||
+ | |||
+ | [[#.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BE.D1.87.D0.BD.D0.BE.D0.B9_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.B8_.28.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_GetReferences.29|queryType ]] — cервис авторизации | ||
+ | |||
+ | #.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BE.D1.87.D0.BD.D0.BE.D0.B9_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.B8_.28.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_GetReferences.29 | ||
+ | |||
+ | |||
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
Строка 4823: | Строка 4890: | ||
http://www.citforum.ru/security/internet/web_service/ | http://www.citforum.ru/security/internet/web_service/ | ||
http://www.faqs.org/rfcs/rfc3075.html | http://www.faqs.org/rfcs/rfc3075.html | ||
− | ====Пример | + | ====Пример работы без использования WSE авторизации==== |
С целью упрощения авторизации на веб-сервисе (для закачки информации по турам и квотам) из языков программирования типа PHP, в сервисе предусмотрена возможность передачи логина и пароля через заголовок WebRequest и параметрами через POST запрос. Данная возможность является опциональной и включается с помощью настройки в конфигурационном файле web-сервиса. | С целью упрощения авторизации на веб-сервисе (для закачки информации по турам и квотам) из языков программирования типа PHP, в сервисе предусмотрена возможность передачи логина и пароля через заголовок WebRequest и параметрами через POST запрос. Данная возможность является опциональной и включается с помощью настройки в конфигурационном файле web-сервиса. | ||
<add key="allowSimpleAuth" value="true"/> | <add key="allowSimpleAuth" value="true"/> | ||
Строка 4888: | Строка 4955: | ||
==Вызов методов веб-сервиса. Возможные проблемы при авторизации== | ==Вызов методов веб-сервиса. Возможные проблемы при авторизации== | ||
Если метод вызывается через браузер и если Вы используете браузер Internet Explorer, то при возникновении любой ошибки на этапе авторизации возвращается HTTP 500 - Внутренняя ошибка сервера. Internet Explorer скрывает текст возникшей ошибки. В данном случае стоит воспользоваться каким-либо альтернативным браузером (Opera, Mozilla), где сообщение от сервера выведется на экран. Также текст ошибок можно получать, воспользовавшись логгерами Http, которые отслеживают запросы\ответы по этому протоколу. Логгерами можно воспользоваться также при обращениях к сервису с клиента. | Если метод вызывается через браузер и если Вы используете браузер Internet Explorer, то при возникновении любой ошибки на этапе авторизации возвращается HTTP 500 - Внутренняя ошибка сервера. Internet Explorer скрывает текст возникшей ошибки. В данном случае стоит воспользоваться каким-либо альтернативным браузером (Opera, Mozilla), где сообщение от сервера выведется на экран. Также текст ошибок можно получать, воспользовавшись логгерами Http, которые отслеживают запросы\ответы по этому протоколу. Логгерами можно воспользоваться также при обращениях к сервису с клиента. | ||
− | {| border="1" | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
|- | |- | ||
|Запрос | |Запрос | ||
Строка 4912: | Строка 4981: | ||
|System.Data.SqlClient.SqlException: The transaction log for database 'AvalonTest' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases | |System.Data.SqlClient.SqlException: The transaction log for database 'AvalonTest' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases | ||
|Проблема на стороне оператора. Требуется передать указанную ошибку администратору базы данных оператора. | |Проблема на стороне оператора. Требуется передать указанную ошибку администратору базы данных оператора. | ||
− | + | |- | |
|GetSPOPageByKey(253,0,5000) | |GetSPOPageByKey(253,0,5000) | ||
|System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.Data.SqlClient.SqlException: Could not find stored procedure 'sp_GetPricePage'. | |System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.Data.SqlClient.SqlException: Could not find stored procedure 'sp_GetPricePage'. | ||
Строка 4925: | Строка 4994: | ||
|В базе данных оператора отсутствует хранимая процедура 'sp_GetPricePage'. Проблема на стороне оператора. Требуется передать указанную ошибку администратору базы данных оператора. По поводу обновления или установки данной процедуры оператор может связаться со службой поддержки компании Мегатек. | |В базе данных оператора отсутствует хранимая процедура 'sp_GetPricePage'. Проблема на стороне оператора. Требуется передать указанную ошибку администратору базы данных оператора. По поводу обновления или установки данной процедуры оператор может связаться со службой поддержки компании Мегатек. | ||
− | |||
|- | |- | ||
|GetSPOPageByKey(253,0,5000) (При вызове из браузера) | |GetSPOPageByKey(253,0,5000) (При вызове из браузера) | ||
|System.Web.Services.Protocols.SoapException: Username was not specified | |System.Web.Services.Protocols.SoapException: Username was not specified | ||
|Указанный метод требует указание логина\пароля. И не может быть вызван из браузера напрямую. | |Указанный метод требует указание логина\пароля. И не может быть вызван из браузера напрямую. | ||
− | |||
|- | |- | ||
|GetSPOPageByKey(253,0,5000) | |GetSPOPageByKey(253,0,5000) | ||
Строка 4953: | Строка 5020: | ||
The security token could not be authenticated or authorized ---> System.Exception: Password has expired. | The security token could not be authenticated or authorized ---> System.Exception: Password has expired. | ||
|Истек срок действия переданного логина. | |Истек срок действия переданного логина. | ||
− | |||
|- | |- | ||
|GetStopSalesAndQuotes(2009-05-05) | |GetStopSalesAndQuotes(2009-05-05) | ||
Строка 4959: | Строка 5025: | ||
|С переданным логином\паролем нельзя вызвать эту функцию. В списке групп функций, доступных по этому логину, отсутствует группа с вызываемой процедурой. | |С переданным логином\паролем нельзя вызвать эту функцию. В списке групп функций, доступных по этому логину, отсутствует группа с вызываемой процедурой. | ||
|} | |} | ||
+ | |||
==Функции загрузки информации о турах== | ==Функции загрузки информации о турах== | ||
===Формат TourML=== | ===Формат TourML=== | ||
Строка 5469: | Строка 5536: | ||
*reasonLat — в случае ошибки или отказа бронирования здесь указываются причины (латиницей) | *reasonLat — в случае ошибки или отказа бронирования здесь указываются причины (латиницей) | ||
*commission — комиссия агентству | *commission — комиссия агентству | ||
− | {| border="1" | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width="800px" |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
|'''Статус'''' | |'''Статус'''' | ||
|'''Расшифровка статуса''' | |'''Расшифровка статуса''' | ||
Строка 5566: | Строка 5635: | ||
*cityKey - ссылка на город из справочника City | *cityKey - ссылка на город из справочника City | ||
В разделе Persons передается информация о клиентах. Формат данных такой же, как описан выше для запроса. Ответ функции CreateBooking отличается от ответа функции CheckBooking только тем, что при создании путевки возвращаются реальные ключи из базы. | В разделе Persons передается информация о клиентах. Формат данных такой же, как описан выше для запроса. Ответ функции CreateBooking отличается от ответа функции CheckBooking только тем, что при создании путевки возвращаются реальные ключи из базы. | ||
+ | |||
=====Получение ключа агентства (функция GetAgreementCredentials)===== | =====Получение ключа агентства (функция GetAgreementCredentials)===== | ||
В функцию бронирования и проверки бронирования необходимо передавать ключ агентства. Для получения ключа необходимо воспользоваться функцией GetAgreementCredentials. | В функцию бронирования и проверки бронирования необходимо передавать ключ агентства. Для получения ключа необходимо воспользоваться функцией GetAgreementCredentials. | ||
Строка 5598: | Строка 5668: | ||
В качестве входных параметров в функцию передаются идентификатор запроса и ключ фильтра: | В качестве входных параметров в функцию передаются идентификатор запроса и ключ фильтра: | ||
− | {| border="1" | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width="800px" |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |||
|'''Значение "queryType"''' | |'''Значение "queryType"''' | ||
|'''Значение "param"''' | |'''Значение "param"''' | ||
Строка 5651: | Строка 5724: | ||
|Выводит размещение с заданным ключом. | |Выводит размещение с заданным ключом. | ||
|} | |} | ||
+ | |||
+ | Если передан 0, то в этом случае можно получить все данные из указанного справочника, используя типы запросов: | ||
+ | * CityById, | ||
+ | * CountryById, | ||
+ | * RoomAccomodationById, | ||
+ | * RoomTypeById, | ||
+ | * RoomCategoryById, | ||
+ | * BoardingById, | ||
+ | * HotelRoomById | ||
=====Порядок работы при проверки бронирования и бронировании===== | =====Порядок работы при проверки бронирования и бронировании===== | ||
Строка 5681: | Строка 5763: | ||
==Приложение С. Функции работы с путевкой== | ==Приложение С. Функции работы с путевкой== | ||
Функции работы с путевкой описаны в [[Мастер-Web:Дополнительный модуль Сервис TourML Приложение С | приложении С]]. | Функции работы с путевкой описаны в [[Мастер-Web:Дополнительный модуль Сервис TourML Приложение С | приложении С]]. | ||
+ | |||
+ | [[Category:Web-сервисы]] |
Текущая версия на 15:00, 16 января 2017
Версия статьи от 16-01-2017.
Содержание
- 1 Введение
- 2 Настройки
- 3 Общая информация о методах веб-сервиса
- 3.1 Выгрузка цен (TL)
- 3.1.1 Метод GetSPOArrayByKeyCompressed
- 3.1.2 Метод GetSPOByKey
- 3.1.3 Метод GetSPOByKey_DC
- 3.1.4 Метод GetSPOByKeyCompressed
- 3.1.5 Метод GetSPOByKeyCompressed_DC
- 3.1.6 Метод GetSPOPageByKey
- 3.1.7 Метод GetSPOPageByKeyCompressed
- 3.1.8 Метод GetValidTourList
- 3.1.9 Метод GetValidTourListCompressed
- 3.1.10 Метод GetValidTourListFrom
- 3.1.11 Метод GetValidTourListFrom_DC
- 3.1.12 Метод GetValidTourListFromCompressed
- 3.2 Импорт квот и Stop-Sale (QL)
- 3.3 Актуализация цены и бронирование (BOO)
- 3.4 Работа с заявкой (AGR)
- 3.5 Подбор вариантов (GBI)
- 3.6 Подбор перелетов (FLF)
- 3.7 Любые другие (MICS)
- 3.8 Специальные (SPEC)
- 3.1 Выгрузка цен (TL)
- 4 Авторизация при использовании web-сервиса
- 5 Вызов методов веб-сервиса. Возможные проблемы при авторизации
- 6 Функции загрузки информации о турах
- 6.1 Формат TourML
- 6.2 Порядок работы с web-сервисом
- 7 Рекомендации по составлению запросов
- 8 Ответы на часто задаваемые вопросы
- 9 Приложение A. Функции загрузки информации о турах и ценах
- 10 Приложение B. Функции проверки бронирования и бронирования
- 11 Приложение С. Функции работы с путевкой
Введение
Задача получения данных из программного комплекса Мастер-Тур и передача полученных данных сторонним системам, а также получение данных из сторонних систем в программном комплексе Мастер-Тур весьма актуальна.
Предлагаемое компанией Мегатек решение состоит в использовании общепризнанного механизма взаимодействия между различными системами - WEB-сервис, работающий с единым, для туристической области в России, форматом – TourML.
Формат TourML представляет из себя текстовый XML документ, использование которого позволяет избежать проблем, связанных с внутренними изменениями в программном комплексе Мастер-Тур. Использование веб-сервиса позволяет разработать систему один раз и забыть об особенностях реализации внутренних механизмов программного комплекса Мастер-Тур.
Ссылка на тестовый сервис
С работой тестового сервиса TourML для 9-й версии и 11-й версии вы можете ознакомиться на нашем демо-сервере.
Установка
Для установки сервиса TourML нужно создать директорию сервиса TourML в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) и выложить туда распакованные файлы из архива TourML_9.2.x.xxxxx.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourML.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
- 1. Зайти в Пуск (Start) – Настройки (Settings) – Панель управления (Control Panel)
- 2. В открывшемся окне выбрать Администрирование (Administrative Tools)
- 3. Запустить Internet Information Services (IIS) Manager
- 4. В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и зайти в Свойства (Properties)
- 5. В открывшемся окне, в закладке Directory нужно нажать кнопку «Create», а затем кнопку «ОК»
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config, расположенном в папке TourML пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
- 1. <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
- 2. <add key = "connectionStringShort" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-Тур;Initial Catalog=название базы данных ПК Мастер-Тур;"/>
Настройки
После установки «Сервис TourML» доступен по адресу:
http://ip- адрес сервера Мастер-Веб/TourML/Service.asmx
Настройки в файле WEB.CONFIG
Дополнительные настройки, задаваемые в файле web.config, позволяют задать дополнительные условия для отображения и проверки данных.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Настройка, определяющая ключи типов туров, которые будут передаваться. | Ключи типов туров через запятую. | <add key="tipTursFilter" value="5,6,10" />
|
2 | Настройка, включающая возможность передавать ключи типов туров через запятую. |
|
<add key="isUseTipTursFilter" value="true" />
|
3 | Настройка, включающая возможность отображения наличия мест для квот определенным пользователям. | В значении настройки через запятую перечисляются пользователи, которым должны быть доступны для показа количество мест.
Если настройка не указана или задано пустое значение, квоты доступны всем. |
<add key="showFullQuotasUserNames" value="username" />
|
4 | Настройка, отвечающая за отображение количества мест в квоте. |
|
<add key="isShowQuantity" value="true" />
|
5 | Настройка, снижающая нагрузку обращений к базе за счет увеличения времени отработки метода GetAgreementsByKeys. Время, указанное в настройке, является промежутком между временем окончания отработки метода и временем возврата результата. | Значение задержки измеряется в секундах.
Рекомендуется указывать значение от 7 до 15 сек. Например, метод возвращал данные через 5 сек. Если в настройке указать значение 10 сек, то время обработки метода и возвращения результата будет составлять 15 сек. |
<add key="delayBeforeReturn" value="10"/>
|
6 | Настройка, включающая в методе GetReferences возможность отображения партнеров, предоставляющих услуги отеля, определенным пользователям. | В значении настройки через запятую перечисляются логин пользователей, которым должны быть доступны для показа партнеры по услуге. | <add key="showBOOAddInfoUserNames" value="test" />
|
7 | Настройка, определяющая загрузку не выставленных в онлайн СПО туров. Работает только при включенной настройке notOnlineTourTypes |
|
<add key="showNotOnlineSPO" value="true" />
|
8 | Настройка, определяющая ключи типов туров СПО. Ключи хранятся в таблице TipTur. | key – перечисляются ключи типов туров через запятую | <add key="notOnlineTourTypes" value="5" />
|
9 | Настройка, включающая в методе GetFlightQuotes отображение информации по авиаперелетам (расписание и квоты). | В значении настройки через запятую перечисляются ключи тарифов, по которым производится вывод информации по авиаперелетам. | <add key="tarifsToLoadFlightQuotes" value="89,67,114"/>
|
10 | Настройка, позволяющая через запросы к URL и авторизацию с помощью параметров запроса Login и Password, вызывать методы в TourMl. |
(Пример: http: //ip-адрес сервера/TourMl/Service.asmx/GetHotelKeys?checkPoint=2014-01-01&cityKey=614&Login=test&Password=qUqP5cyxm6YcTAhz05Hph5gvu9M=) |
<add key="allowSimpleAuth" value="true"/>
|
11 | Настройка метода проверки квот. |
|
<add key="UseNewSetToQuota" value="true"/>
|
Общая информация о методах веб-сервиса
В данном разделе представлена общая информация о методах веб-сериса, которые можно использовать для взаимодействия с программным комплексом Мастер-Тур.
№ | Название метода | Выгрузка цен (TL) | Импорт квот и Stop-Sale (QL) | Актуализация цены и бронирование (BOO) | Работа с заявкой (AGR) | Подбор вариантов (GBI) | Подбор перелетов (FLF) | Любые другие (MICS) | Специальные (SPEC) |
1 | CancelAgreement | — | — | — | + | — | — | — | — |
2 | CheckBooking | — | — | + | — | — | — | — | — |
3 | CreateBooking | — | — | + | — | — | — | — | — |
4 | GetAgencies | — | — | + | — | — | — | — | — |
5 | GetAgreementCredentials | — | — | + | — | — | — | — | — |
6 | GetAgreementsByCode | — | — | — | + | — | — | — | — |
7 | GetAgreementsByKeys | — | — | — | + | — | — | — | — |
8 | GetAgreementsByNumber | — | — | — | + | — | — | — | — |
9 | GetBookingInfo | — | — | — | — | + | — | — | — |
10 | GetCountries | — | — | + | — | — | — | — | — |
11 | GetCourse | — | — | — | — | — | — | + | — |
12 | GetFlightQuotes | — | + | — | — | — | — | — | — |
13 | GetHotelKeys | — | + | — | — | — | — | — | — |
14 | GetHotelQuotes | — | + | — | — | — | — | — | — |
15 | GetInfo | — | — | — | — | — | — | — | + |
16 | GetNationalCourse | — | — | — | — | — | — | + | — |
17 | GetNationalRateCode | — | — | — | — | — | — | + | — |
18 | GetReferences | — | — | — | — | — | — | + | — |
19 | GetSPOArrayByKeyCompressed | + | — | — | — | — | — | — | — |
20 | GetSPOByKey | + | — | — | — | — | — | — | — |
21 | GetSPOByKeyCompressed | + | — | — | — | — | — | — | — |
22 | GetSPOByKeyCompressed_DC | + | — | — | — | — | — | — | — |
23 | GetSPOByKey_DC | + | — | — | — | — | — | — | — |
24 | GetSPOPageByKey | + | — | — | — | — | — | — | — |
25 | GetSPOPageByKeyCompressed | + | — | — | — | — | — | — | — |
26 | GetSimpleDogovorsBronni | — | — | — | + | — | — | — | — |
27 | GetSimpleDogovorsByCreateDates | — | — | — | + | — | — | — | — |
28 | GetStopSalesAndQuotes | — | + | — | — | — | — | — | — |
29 | GetStopSalesAndQuotes2 | — | + | — | — | — | — | — | — |
30 | GetStopSalesAndQuotesByHotels | — | + | — | — | — | — | — | — |
31 | GetStopSalesAndQuotesCompressed | — | + | — | — | — | — | — | — |
32 | GetValidTourList | + | — | — | — | — | — | — | — |
33 | GetValidTourListCompressed | + | — | — | — | — | — | — | — |
34 | GetValidTourListFrom | + | — | — | — | — | — | — | — |
35 | GetValidTourListFromCompressed | + | — | — | — | — | — | — | — |
36 | GetValidTourListFrom_DC | + | — | — | — | — | — | — | — |
37 | GetVersion | + | + | + | + | + | + | + | + |
38 | Info | — | — | — | — | — | — | — | + |
39 | ValidatePriceServices | — | — | + | — | — | — | — | — |
Выгрузка цен (TL)
Метод GetSPOArrayByKeyCompressed
Данный метод осуществляет загрузку цен (данные возвращаются в сжатом виде по частям).
Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.
Список принимаемых параметров:
- SpoKey – ключ СПО
В результате пользователь получает
Вызов метода GetSPOArrayByKeyCompressed с параметром spoKey=11
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOArrayByKeyCompressed>
<prod:spoKey>11</prod:spoKey>
</prod:GetSPOArrayByKeyCompressed>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOArrayByKeyCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOArrayByKeyCompressedResponse</wsa:Action>
<wsa:MessageID>uuid:551d0c97-8840-4f53-9945-6cd75f78870e</wsa:MessageID>
<wsa:RelatesTo>uuid:52803223-43b1-4f5d-a74b-770f384dd7e6</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-9e43b1e3-bc8f-4af0-9e0f-7d92d98fc016">
<wsu:Created>2015-02-09T13:01:44Z</wsu:Created>
<wsu:Expires>2015-02-09T13:06:44Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOArrayByKeyCompressedResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetSPOArrayByKeyCompressedResult>
<base64Binary>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</base64Binary>
<base64Binary>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</base64Binary>
</GetSPOArrayByKeyCompressedResult>
</GetSPOArrayByKeyCompressedResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSPOByKey
Данный метод осуществляет загрузку цен по выбранному туру.
Список принимаемых параметров:
- SpoKey – ключ СПО
В результате пользователь получает информацию по ценам на соответствующие им дни.
Вызов метода GetSPOByKey с параметром spoKey=11
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOByKey>
<prod:spoKey>11</prod:spoKey>
</prod:GetSPOByKey>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOByKey
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOByKeyResponse</wsa:Action>
<wsa:MessageID>uuid:2ce65d3f-307b-46a9-a6bb-49761781adf9</wsa:MessageID>
<wsa:RelatesTo>uuid:d31e4bf8-1b66-438c-b869-5eea9eebd782</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-e7b032a0-1e95-4283-9bad-91b242d0ba19">
<wsu:Created>2015-02-09T14:46:16Z</wsu:Created>
<wsu:Expires>2015-02-09T14:51:16Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOByKeyResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-01-30" time="14:41:16" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="100" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="3" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="4" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings>
<boarding key="11" name="Шведский стол" nameLat="All inclusive" code="AI"/>
<boarding key="4" name="Завтрак буфет" nameLat="Breakfast" code="BB"/>
<boarding key="10" name="Не предоставляется" nameLat="NO" code="RO"/>
<boarding key="2" name="Полупансион" nameLat="HalfBoard" code="HB"/>
<boarding key="1" name="Пансион" nameLat="FullBoard" code="FB"/>
</boardings>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
</tariffs>
<tourTypes>
<tourType key="10" name="Круиз" nameLat="en_Круиз"/>
<tourType key="9" name="Дополнительное спец. предложение" nameLat="en_Дополнительное спец. предложение"/>
<tourType key="8" name="Дополнительный тур" nameLat="en_Дополнительный тур"/>
<tourType key="7" name="Подмосковье:Специальные туры" nameLat="en_Подмосковье:Специальные туры"/>
<tourType key="6" name="Подмосковье:Календарные туры" nameLat="en_Подмосковье:Календарные туры"/>
<tourType key="5" name="Специальное предложение" nameLat="en_Специальное предложение"/>
<tourType key="4" name="Многодневная экскурсия" nameLat="en_Многодневная экскурсия"/>
<tourType key="3" name="Авиаперелет" nameLat="en_Авиаперелет"/>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
<tourType key="1" name="Комбинированный тур" nameLat="en_Комбинированный тур"/>
<tourType key="0" name="Не определен" nameLat="en_Не определен"/>
</tourTypes>
<agencies/>
<orders xmlns="http://www.megatec.ru/tourml/extensions"/>
<users xmlns="http://www.megatec.ru/tourml/extensions"/>
<accounts xmlns="http://www.megatec.ru/tourml/extensions"/>
<operators/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="11" name="Тур в Брюссель № 42" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T16:50:08.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="6" days="7" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="159" id="_519">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" allowEditDuration="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
...
</variant>
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_504">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_503">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_503 _508 _520">
<price gross="800">
<date key="8888" from="2014-07-09" to="2014-07-09"/>
<date key="8900" from="2014-07-10" to="2014-07-10"/>
<date key="8912" from="2014-07-11" to="2014-07-11"/>
...
</price>
</serviceSet>
<serviceSet ids="_503 _507 _519">
<price gross="760">
<date key="15333" from="2015-12-29" to="2015-12-29"/>
<date key="15352" from="2015-12-30" to="2015-12-30"/>
<date key="15366" from="2015-12-31" to="2015-12-31"/>
</price>
</serviceSet>
</prices>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetSPOByKeyResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSPOByKey_DC
Данный метод осуществляет загрузку цен для динамического ценообразования.
Список принимаемых параметров:
- SpoKey – ключ СПО
- calcKeyFrom, calcKeyTo – начальный и конечный ключи цен, возвращаемые методом (колонка TP_CalculatingKey из таблицы TP_Prices для актуальных цен и колонка TPD_CalculatingKey из таблицы TP_PriceDeleted для удаленных цен)
В результате пользователь получает информацию по ценам для динамического ценообразования на соответствующие им дни.
Вызов метода GetSPOByKey_DC с параметрами: spoKey=11; calcKeyFrom=10; calcKeyTo=10
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOByKey_DC>
<prod:spoKey>11</prod:spoKey>
<prod:calcKeyFrom>10</prod:calcKeyFrom>
<prod:calcKeyTo>10</prod:calcKeyTo>
</prod:GetSPOByKey_DC>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOByKey_DC
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOByKey_DCResponse</wsa:Action>
<wsa:MessageID>uuid:7497e7a6-69b9-4d6f-bdd4-1a49a189f097</wsa:MessageID>
<wsa:RelatesTo>uuid:fcf3e8f9-2484-4581-92a0-1d442091a2e6</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-f82b756c-ef24-430f-a128-d137f238461d">
<wsu:Created>2015-02-10T06:20:45Z</wsu:Created>
<wsu:Expires>2015-02-10T06:25:45Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOByKey_DCResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="09:20:43" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="100" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="3" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="4" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings>
<boarding key="11" name="Шведский стол" nameLat="All inclusive" code="AI"/>
<boarding key="4" name="Завтрак буфет" nameLat="Breakfast" code="BB"/>
<boarding key="10" name="Не предоставляется" nameLat="NO" code="RO"/>
<boarding key="2" name="Полупансион" nameLat="HalfBoard" code="HB"/>
<boarding key="1" name="Пансион" nameLat="FullBoard" code="FB"/>
</boardings>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
<tariff key="67" name="Бизнес класс" nameLat="Business class" code="C"/>
</tariffs>
<tourTypes>
<tourType key="10" name="Круиз" nameLat="en_Круиз"/>
<tourType key="9" name="Дополнительное спец. предложение" nameLat="en_Дополнительное спец. предложение"/>
<tourType key="8" name="Дополнительный тур" nameLat="en_Дополнительный тур"/>
<tourType key="7" name="Подмосковье:Специальные туры" nameLat="en_Подмосковье:Специальные туры"/>
<tourType key="6" name="Подмосковье:Календарные туры" nameLat="en_Подмосковье:Календарные туры"/>
<tourType key="5" name="Специальное предложение" nameLat="en_Специальное предложение"/>
<tourType key="4" name="Многодневная экскурсия" nameLat="en_Многодневная экскурсия"/>
<tourType key="3" name="Авиаперелет" nameLat="en_Авиаперелет"/>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
<tourType key="1" name="Комбинированный тур" nameLat="en_Комбинированный тур"/>
<tourType key="0" name="Не определен" nameLat="en_Не определен"/>
</tourTypes>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="11" name="Тур в Брюссель № 42" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:50:08.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="6" days="7" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="159" id="_519">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" allowEditDuration="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
<variant providerKey="0" dayBeg="1" nights="5" days="6" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="159" id="_518">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" allowEditDuration="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
...
<variant providerKey="0" dayBeg="1" nights="3" days="4" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="159" id="_502">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" allowEditDuration="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</hotelService>
</hotelServices>
<flightServices>
<flightService tariffKey="89" flightKey="524">
<variant providerKey="0" dayBeg="22" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_516">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
...
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_504">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_503">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_503 _514 _526">
<price gross="1040">
<date key="13783" from="2015-08-21" to="2015-08-21"/>
<date key="9187" from="2014-08-03" to="2014-08-03"/>
<date key="11023" from="2015-01-03" to="2015-01-03"/>
...
<date key="14707" from="2015-11-06" to="2015-11-06"/>
<date key="10111" from="2014-10-19" to="2014-10-19"/>
<date key="11947" from="2015-03-21" to="2015-03-21"/>
</price>
</serviceSet>
<serviceSet ids="_503 _506 _518">
<price gross="720">
<date key="11027" from="2015-01-04" to="2015-01-04"/>
<date key="12863" from="2015-06-06" to="2015-06-06"/>
<date key="14699" from="2015-11-06" to="2015-11-06"/>
...
<date key="12870" from="2015-06-06" to="2015-06-06"/>
<date key="14706" from="2015-11-06" to="2015-11-06"/>
<date key="10110" from="2014-10-19" to="2014-10-19"/>
</price>
</serviceSet>
<serviceSet ids="_502 _503 _504">
<price gross="640">
<date key="9189" from="2014-08-04" to="2014-08-04"/>
<date key="11025" from="2015-01-04" to="2015-01-04"/>
<date key="12861" from="2015-06-06" to="2015-06-06"/>
...
<date key="10113" from="2014-10-20" to="2014-10-20"/>
<date key="11949" from="2015-03-22" to="2015-03-22"/>
<date key="13785" from="2015-08-22" to="2015-08-22"/>
</price>
</serviceSet>
<serviceSet ids="_503 _505 _517">
<price gross="680">
<date key="11026" from="2015-01-04" to="2015-01-04"/>
<date key="12862" from="2015-06-06" to="2015-06-06"/>
...
<date key="11950" from="2015-03-22" to="2015-03-22"/>
<date key="13786" from="2015-08-22" to="2015-08-22"/>
<date key="9190" from="2014-08-04" to="2014-08-04"/>
</price>
</serviceSet>
<serviceSet ids="_503 _511 _523">
<price gross="920">
<date key="10108" from="2014-10-19" to="2014-10-19"/>
<date key="11944" from="2015-03-21" to="2015-03-21"/>
<date key="13780" from="2015-08-21" to="2015-08-21"/>
...
<date key="11032" from="2015-01-04" to="2015-01-04"/>
<date key="12868" from="2015-06-06" to="2015-06-06"/>
<date key="14704" from="2015-11-06" to="2015-11-06"/>
</price>
</serviceSet>
<serviceSet ids="_503 _510 _522">
<price gross="880">
<date key="14703" from="2015-11-06" to="2015-11-06"/>
<date key="10107" from="2014-10-19" to="2014-10-19"/>
<date key="11943" from="2015-03-21" to="2015-03-21"/>
...
<date key="9195" from="2014-08-04" to="2014-08-04"/>
<date key="11031" from="2015-01-04" to="2015-01-04"/>
<date key="12867" from="2015-06-06" to="2015-06-06"/>
</price>
</serviceSet>
<serviceSet ids="_503 _515 _527">
<price gross="1480">
<date key="13784" from="2015-08-21" to="2015-08-21"/>
<date key="9188" from="2014-08-03" to="2014-08-03"/>
<date key="11024" from="2015-01-03" to="2015-01-03"/>
...
<date key="14708" from="2015-11-06" to="2015-11-06"/>
<date key="10112" from="2014-10-19" to="2014-10-19"/>
<date key="11948" from="2015-03-21" to="2015-03-21"/>
</price>
</serviceSet>
</prices>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetSPOByKey_DCResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSPOByKeyCompressed
Данный метод осуществляет загрузку цен (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).
Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.
Список принимаемых параметров:
- SpoKey – ключ СПО
В результате пользователь получает
Вызов метода GetSPOByKeyCompressed с параметром spoKey=11
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOByKeyCompressed>
<prod:spoKey>11</prod:spoKey>
</prod:GetSPOByKeyCompressed>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOByKeyCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOByKeyCompressedResponse</wsa:Action>
<wsa:MessageID>uuid:90d61efc-0465-45d7-9539-54498b25f4ec</wsa:MessageID>
<wsa:RelatesTo>uuid:8770a005-e391-4bdb-8d7e-6df765a4aea0</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-bd53e490-fa84-4b53-a9ef-4108abc975b7">
<wsu:Created>2015-02-10T07:07:40Z</wsu:Created>
<wsu:Expires>2015-02-10T07:12:40Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOByKeyCompressedResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetSPOByKeyCompressedResult>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</GetSPOByKeyCompressedResult>
</GetSPOByKeyCompressedResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSPOByKeyCompressed_DC
Данный метод осуществляет загрузку цен для динамического ценообразования (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).
Запись полученных результатов производится в таблицы FileRepos и FileHeaders в том случае, если у пользователя, который осуществляет загрузку цен указаны права Insert, Delete, Select и Update. Права указываются в свойствах таблиц в разделе Permissions.
Список принимаемых параметров:
- SpoKey – ключ СПО
- calcKeyFrom, calcKeyTo – начальный и конечный ключи цен, возвращаемые методом (колонка TP_CalculatingKey из таблицы TP_Prices для актуальных цен и колонка TPD_CalculatingKey из таблицы TP_PriceDeleted для удаленных цен)
В результате пользователь получает
Вызов метода GetSPOByKeyCompressed_DC с параметрами: spoKey=11;calcKeyFrom=10; calcKeyTo=10
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOByKeyCompressed_DC>
<prod:spoKey>11</prod:spoKey>
<prod:calcKeyFrom>10</prod:calcKeyFrom>
<prod:calcKeyTo>10</prod:calcKeyTo>
</prod:GetSPOByKeyCompressed_DC>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOByKeyCompressed_DC
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOByKeyCompressed_DCResponse</wsa:Action>
<wsa:MessageID>uuid:6e7ceba1-3d1d-4560-ace7-d7d602ca46ae</wsa:MessageID>
<wsa:RelatesTo>uuid:25aa6c8d-960a-4aa0-9caa-577d48b250e0</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-a788f301-aefd-4cc6-8b2b-7422a7fe18cd">
<wsu:Created>2015-02-10T07:36:37Z</wsu:Created>
<wsu:Expires>2015-02-10T07:41:37Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOByKeyCompressed_DCResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetSPOByKeyCompressed_DCResult>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</GetSPOByKeyCompressed_DCResult>
</GetSPOByKeyCompressed_DCResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSPOPageByKey
Данный метод осуществляет постраничную загрузку цен.
Список принимаемых параметров:
- SpoKey – ключ СПО
- minPriceKey – ключ цены, начиная с которой осуществлять выгрузку
- pageSize – количество записей, получаемых за один запрос
В результате пользователь получает информацию по ценам начиная с ключа цены, который передается в запросе.
Вызов метода GetSPOPageByKey с параметрами: spoKey=11; minPriceKey=11500; pageSize=5
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOPageByKey>
<prod:spoKey>11</prod:spoKey>
<prod:minPriceKey>11500</prod:minPriceKey>
<prod:pageSize>5</prod:pageSize>
</prod:GetSPOPageByKey>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOPageByKey
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOPageByKeyResponse</wsa:Action>
<wsa:MessageID>uuid:0069eba1-3516-4cd6-85fe-7a1a63f928f3</wsa:MessageID>
<wsa:RelatesTo>uuid:000c02db-799b-4cdd-aed7-f86cfd4dba13</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-a16030d1-b190-4e35-9b48-0519667d266f">
<wsu:Created>2015-02-10T07:48:56Z</wsu:Created>
<wsu:Expires>2015-02-10T07:53:56Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOPageByKeyResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="10:48:56" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="100" lastKey="11505" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="3" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="4" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings>
<boarding key="11" name="Шведский стол" nameLat="All inclusive" code="AI"/>
<boarding key="4" name="Завтрак буфет" nameLat="Breakfast" code="BB"/>
<boarding key="10" name="Не предоставляется" nameLat="NO" code="RO"/>
<boarding key="2" name="Полупансион" nameLat="HalfBoard" code="HB"/>
<boarding key="1" name="Пансион" nameLat="FullBoard" code="FB"/>
</boardings>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
<tariff key="67" name="Бизнес класс" nameLat="Business class" code="C"/>
</tariffs>
<tourTypes>
<tourType key="10" name="Круиз" nameLat="en_Круиз"/>
<tourType key="9" name="Дополнительное спец. предложение" nameLat="en_Дополнительное спец. предложение"/>
<tourType key="8" name="Дополнительный тур" nameLat="en_Дополнительный тур"/>
<tourType key="7" name="Подмосковье:Специальные туры" nameLat="en_Подмосковье:Специальные туры"/>
<tourType key="6" name="Подмосковье:Календарные туры" nameLat="en_Подмосковье:Календарные туры"/>
<tourType key="5" name="Специальное предложение" nameLat="en_Специальное предложение"/>
<tourType key="4" name="Многодневная экскурсия" nameLat="en_Многодневная экскурсия"/>
<tourType key="3" name="Авиаперелет" nameLat="en_Авиаперелет"/>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
<tourType key="1" name="Комбинированный тур" nameLat="en_Комбинированный тур"/>
<tourType key="0" name="Не определен" nameLat="en_Не определен"/>
</tourTypes>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="11" name="Тур в Брюссель № 42" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:50:08.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="6" days="7" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="159" id="_519">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" allowEditDuration="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
...
<variant providerKey="0" dayBeg="1" nights="3" days="4" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="159" id="_502">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" allowEditDuration="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</hotelService>
</hotelServices>
<flightServices>
<flightService tariffKey="89" flightKey="524">
<variant providerKey="0" dayBeg="22" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_516">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
...
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_504">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" attribute="31" id="_503">
<info>
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_503 _514 _526">
<price gross="1040">
<date key="11503" from="2015-02-12" to="2015-02-12"/>
</price>
</serviceSet>
<serviceSet ids="_502 _503 _504">
<price gross="640">
<date key="11505" from="2015-02-13" to="2015-02-13"/>
</price>
</serviceSet>
<serviceSet ids="_503 _512 _524">
<price gross="960">
<date key="11501" from="2015-02-12" to="2015-02-12"/>
</price>
</serviceSet>
<serviceSet ids="_503 _515 _527">
<price gross="1480">
<date key="11504" from="2015-02-12" to="2015-02-12"/>
</price>
</serviceSet>
<serviceSet ids="_503 _513 _525">
<price gross="1000">
<date key="11502" from="2015-02-12" to="2015-02-12"/>
</price>
</serviceSet>
</prices>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetSPOPageByKeyResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSPOPageByKeyCompressed
Данный метод возвращает постраничную загрузку цен (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).
Список принимаемых параметров:
- spoKey – ключ СПО
- minPriceKey – ключ цены, начиная с которой осуществлять выгрузку
- pageSize – количество записей, получаемых за один запрос (не больше 5000)
В результате пользователь получает информацию по ценам в сжатом виде, начиная с ключа цены, который передается в запросе.
Вызов метода GetSPOPageByKeyCompressed с параметрами: spoKey=11; minPriceKey=11500; pageSize=5
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSPOPageByKeyCompressed>
<prod:spoKey>11</prod:spoKey>
<prod:minPriceKey>11500</prod:minPriceKey>
<prod:pageSize>5</prod:pageSize>
</prod:GetSPOPageByKeyCompressed>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOPageByKeyCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSPOPageByKeyCompressedResponse</wsa:Action>
<wsa:MessageID>uuid:b1636511-738d-4d50-8fb6-0361b4eef3a0</wsa:MessageID>
<wsa:RelatesTo>uuid:eb36cad8-707a-4e7f-8324-746053ad6c28</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-a997a589-234a-43e1-85ef-fe4ee7a97cb8">
<wsu:Created>2015-02-10T08:10:00Z</wsu:Created>
<wsu:Expires>2015-02-10T08:15:00Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSPOPageByKeyCompressedResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetSPOPageByKeyCompressedResult>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</GetSPOPageByKeyCompressedResult>
</GetSPOPageByKeyCompressedResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetValidTourList
Данный метод возвращает список актуальных туров.
Список принимаемых параметров:
- параметров нет
В результате пользователь получает информацию по имеющимся актуальным турам в базе данных.
Вызов метода GetValidTourList
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetValidTourList/>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetValidTourList
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetValidTourListResponse</wsa:Action>
<wsa:MessageID>uuid:8d602673-5c23-47c1-9664-a531cf345710</wsa:MessageID>
<wsa:RelatesTo>uuid:0d892077-bc4f-49a5-93c1-496bb8c7fc12</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-ea5fb4ee-2121-4163-9b81-1a5f855692d0">
<wsu:Created>2015-02-10T08:24:13Z</wsu:Created>
<wsu:Expires>2015-02-10T08:29:13Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetValidTourListResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="11:24:13" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="78.114" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
</cities>
<categories/>
<hotels/>
<buildings/>
<airlines/>
<airports/>
<aircrafts/>
<flights/>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs/>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
<tourType key="0" name="Не определен" nameLat="en_Не определен"/>
</tourTypes>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="191" name="bru1a" countryKey="3"/>
<spo key="10" name="bru1a" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:48:36.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>7033</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="197" name="Тур 553" countryKey="3"/>
<spo key="15" name="Тур 553" for="byPerson" validFrom="2015-06-04" validTo="2015-06-04" currencyKey="2" state="Created" ctKeyFrom="1" issue="2015-02-03T16:59:43.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2015-06-04T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions"/>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="11" name="Тур в Брюссель № 42" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:50:08.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="193" name="Тур в Брюссель № 43" tourTypeKey="2" countryKey="3"/>
<spo key="12" name="Тур в Брюссель № 43" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:51:19.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="194" name="Тур в Брюссель № 44" tourTypeKey="2" countryKey="3"/>
<spo key="13" name="Тур в Брюссель № 44" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:52:19.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetValidTourListResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetValidTourListCompressed
Данный метод возвращает список актуальных туров (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).
Список принимаемых параметров:
- параметров нет
В результате пользователь получает информацию по имеющимся актуальным турам в базе данных. Информация предоставляется в сжатом виде.
Вызов метода GetValidTourListCompressed
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetValidTourListCompressed/>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetValidTourListCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetValidTourListCompressedResponse</wsa:Action>
<wsa:MessageID>uuid:de49f7a5-cec0-4466-aaf7-f61c2c42103b</wsa:MessageID>
<wsa:RelatesTo>uuid:dd451962-7aec-4487-8509-556bc572d29c</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-1f105f01-dc70-4711-b53b-d017705d88e1">
<wsu:Created>2015-02-10T08:32:55Z</wsu:Created>
<wsu:Expires>2015-02-10T08:37:55Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetValidTourListCompressedResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetValidTourListCompressedResult>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</GetValidTourListCompressedResult>
</GetValidTourListCompressedResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetValidTourListFrom
Данный метод возвращает список актуальных туров с определенной даты.
Список принимаемых параметров:
- checkPoint – дата, начиная с которой выгружается информация об актуальных турах
В результате пользователь получает информацию по имеющимся актуальным турам в базе данных, начиная с даты, которая передается в запросе.
Вызов метода GetValidTourListFrom с параметром checkPoint=2013-01-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetValidTourListFrom>
<prod:checkPoint>2013-01-01</prod:checkPoint>
</prod:GetValidTourListFrom>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetValidTourListFrom
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetValidTourListFromResponse</wsa:Action>
<wsa:MessageID>uuid:f1cbbd5e-c2e3-487f-9a23-a752015a26db</wsa:MessageID>
<wsa:RelatesTo>uuid:7636ac14-ff17-45ab-8ca5-da5c0877041d</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-f8538bd5-b373-42e6-bbed-ba79c6d9d467">
<wsu:Created>2015-02-10T08:38:19Z</wsu:Created>
<wsu:Expires>2015-02-10T08:43:19Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetValidTourListFromResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="11:38:19" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="62.5097" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
</cities>
<categories/>
<hotels/>
<buildings/>
<airlines/>
<airports/>
<aircrafts/>
<flights/>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodation key="306" name="2ad+exb" nameLat="2ad+exb" code="2ad+exb" numBed="2" numExBed="1">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
<adult place="1" order="0"/>
</roomAccomodation>
<roomAccomodation key="565" name="2ad+ch(2-10,99)" nameLat="2ad+ch(2-10,99)" code="2ad+ch(2-10,99)" numBed="2" numExBed="1">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
<child ageFrom="2" ageTo="10" place="0" order="0»/>
</roomAccomodation>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs/>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
<tourType key="0" name="Не определен" nameLat="en_Не определен"/>
</tourTypes>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="191" name="bru1a" countryKey="3"/>
<spo key="10" name="bru1a" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:48:36.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>7033</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="197" name="Тур 553" countryKey="3"/>
<spo key="15" name="Тур 553" for="byPerson" validFrom="2015-06-04" validTo="2015-06-04" currencyKey="2" state="Created" ctKeyFrom="1" issue="2015-02-03T16:59:43.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2015-06-04T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions"/>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="11" name="Тур в Брюссель № 42" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:50:08.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="193" name="Тур в Брюссель № 43" tourTypeKey="2" countryKey="3"/>
<spo key="12" name="Тур в Брюссель № 43" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:51:19.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="194" name="Тур в Брюссель № 44" tourTypeKey="2" countryKey="3"/>
<spo key="13" name="Тур в Брюссель № 44" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:52:19.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetValidTourListFromResponse>
</soap:Body>
</soap:Envelope>
Примечания:
adult - взрослое размещение,
child - детское размещение,
place - тип места (0 - основное, 1 - дополнительное, 2 - без места),
order - номер места для цены за человека,
numBed - кол-во мест на основном размещении,
numExBed - кол-во дополнительных мест
|
Метод GetValidTourListFrom_DC
Данный метод возвращает список актуальных туров по стране, с определенной даты для динамического ценообразования.
Список принимаемых параметров:
- calculatingKey – ключ расчета
- countryKey – ключ страны
В результате пользователь получает информацию по имеющимся актуальным турам в базе данных, по конкретной стране, начиная с даты, которая передается в запросе.
Вызов метода GetValidTourListFrom_DC с параметрами: calculatingKey=10; countryKey=3
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetValidTourListFrom_DC>
<prod:calculatingKey>10</prod:calculatingKey>
<prod:countryKey>3</prod:countryKey>
</prod:GetValidTourListFrom_DC>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetValidTourListFrom_DC
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetValidTourListFrom_DCResponse</wsa:Action>
<wsa:MessageID>uuid:4071f32f-0311-49c5-979a-8f0b65762b78</wsa:MessageID>
<wsa:RelatesTo>uuid:b007ccc2-6812-44a0-a4cd-35cb528367fa</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-4a9b5940-39fb-4596-9748-ba6d1f6f915f">
<wsu:Created>2015-02-10T08:45:01Z</wsu:Created>
<wsu:Expires>2015-02-10T08:50:01Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetValidTourListFrom_DCResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="11:45:01" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="78.1237" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
</cities>
<categories/>
<hotels/>
<buildings/>
<airlines/>
<airports/>
<aircrafts/>
<flights/>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs/>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
<tourType key="0" name="Не определен" nameLat="en_Не определен"/>
</tourTypes>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="197" name="Тур 553" countryKey="3"/>
<spo key="15" name="Тур 553" for="byPerson" validFrom="2015-06-04" validTo="2015-06-04" currencyKey="2" state="Created" ctKeyFrom="1" issue="2015-02-03T16:59:43.0000000+03:00">
<calculatingKeys>
<calculatingKey>13</calculatingKey>
</calculatingKeys>
<dates>
<date>2015-06-04T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions"/>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="11" name="Тур в Брюссель № 42" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:50:08.0000000+03:00">
<calculatingKeys>
<calculatingKey>10</calculatingKey>
</calculatingKeys>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="193" name="Тур в Брюссель № 43" tourTypeKey="2" countryKey="3"/>
<spo key="12" name="Тур в Брюссель № 43" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:51:19.0000000+03:00">
<calculatingKeys>
<calculatingKey>11</calculatingKey>
</calculatingKeys>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
<packet>
<packetHeader>
<tour key="194" name="Тур в Брюссель № 44" tourTypeKey="2" countryKey="3"/>
<spo key="13" name="Тур в Брюссель № 44" for="byRoom" validFrom="2014-07-09" validTo="2015-12-31" currencyKey="2" state="Created" issue="2014-07-08T15:52:19.0000000+03:00">
<calculatingKeys>
<calculatingKey>12</calculatingKey>
</calculatingKeys>
<dates>
<date>2014-07-09T00:00:00</date>
<date>2014-07-10T00:00:00</date>
<date>2014-07-11T00:00:00</date>
...
<date>2015-12-29T00:00:00</date>
<date>2015-12-30T00:00:00</date>
<date>2015-12-31T00:00:00</date>
</dates>
<comment/>
</spo>
<spoInfo xmlns="http://www.megatec.ru/tourml/extensions">
<priceQuantity>6492</priceQuantity>
</spoInfo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetValidTourListFrom_DCResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetValidTourListFromCompressed
Данный метод возвращает список актуальных туров с определенной даты (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).
Список принимаемых параметров:
- checkPoint – дата, начиная с которой выгружается информация об актуальных турах
В результате пользователь получает информацию по имеющимся актуальным турам в базе данных, начиная с даты, которая передается в запросе. Информация представлена в сжатом виде.
Вызов метода GetValidTourListFromCompressed с параметром checkPoint=2013-01-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetValidTourListFromCompressed>
<prod:checkPoint>2013-01-01</prod:checkPoint>
</prod:GetValidTourListFromCompressed>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetValidTourListFromCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetValidTourListFromCompressedResponse</wsa:Action>
<wsa:MessageID>uuid:d7cbd406-4cfe-4eae-90c3-9db2d1a1ed94</wsa:MessageID>
<wsa:RelatesTo>uuid:86dc0918-bdbe-4feb-aee5-a4d0d0d8b374</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-465d6eec-fcae-4762-bcf7-b2296eaeb28a">
<wsu:Created>2015-02-10T08:53:23Z</wsu:Created>
<wsu:Expires>2015-02-10T08:58:23Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetValidTourListFromCompressedResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetValidTourListFromCompressedResult>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</GetValidTourListFromCompressedResult>
</GetValidTourListFromCompressedResponse>
</soap:Body>
</soap:Envelope>
|
Импорт квот и Stop-Sale (QL)
Метод GetFlightQuotes
Данный метод возвращает расписание и квоты (наличие и количество мест) по авиаперелетам.
Количество мест в квоте отображается только при включенной настройке isShowQuantity.
Список принимаемых параметров:
- cityFrom – город вылета
- cityTo – город прилета
- CheckPoint – дата вылета
В результате пользователь получает полную информацию по перелетам: города вылета и прилета (изначально передаваемые параметры), номера рейсов, названия авиакомпаний, аэропорты вылета и прилета, даты начала и окончания действия, а также наличие мест по датам вылета.
Вызов метода GetFlightQuotes с параметрами: cityFrom=1; cityTo=63; checkPoint=2015-03-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetFlightQuotes>
<prod:cityFrom>1</prod:cityFrom>
<prod:cityTo>63</prod:cityTo>
<prod:checkPoint>2015-03-01</prod:checkPoint>
</prod:GetFlightQuotes>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetFlightQuotes
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetFlightQuotesResponse</wsa:Action>
<wsa:MessageID>uuid:85e57d9c-1727-48df-b8fa-d143d5dbf12d</wsa:MessageID>
<wsa:RelatesTo>uuid:f32db1a7-2914-4a20-a15b-2d648e50a4a6</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-70759df9-14a7-420f-bc85-566d1da2d115">
<wsu:Created>2015-02-10T09:02:21Z</wsu:Created>
<wsu:Expires>2015-02-10T09:07:21Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetFlightQuotesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="12:02:06" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="0" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories/>
<hotels/>
<buildings/>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="1" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="2" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
</flights>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies/>
<tariffs/>
<tourTypes/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices>
<flightServices>
<flightService flightKey="524" tariffKey="130">
<quotas>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-03" quoteType="0" checkInStop="false"/>
...
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-27" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-28" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-29" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
<flightService flightKey="524" tariffKey="152">
<quotas>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-03" quoteType="0" checkInStop="false"/>
...
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-27" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-28" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-29" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
<flightService flightKey="524" tariffKey="155">
<quotas>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-03" quoteType="0" checkInStop="false"/>
...
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-27" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-28" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-29" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
<flightService flightKey="524" tariffKey="156">
<quotas>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-03" quoteType="0" checkInStop="false"/>
...
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-27" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-28" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-29" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
<flightService flightKey="525" tariffKey="75">
<quotas>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="498" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-03-03" quoteType="0" checkInStop="false"/>
...
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-27" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-28" quoteType="0" checkInStop="false"/>
<quota status="Created" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="500" date="2015-05-29" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
</flightServices>
</quotaServices>
<packets>
<packet>
<packetHeader>
<tour key="0"/>
<spo key="0" for="byPerson" validFrom="0001-01-01" validTo="0001-01-01" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetFlightQuotesResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetHotelKeys
Данный метод возвращает список отелей, по которым имеются туры.
Список принимаемых параметров:
- сheckPoint – дата, начиная с которой выгружаются ключи по созданным или измененным отелям до настоящего момента
- cityKey – ключ города
В результате пользователь получает актуальный список отелей в конкретно выбранном городе на передаваемую дату, по которым имеются туры в базе данных.
Вызов метода GetHotelKeys с параметрам: сheckPoint=2015-01-01; cityKey=63
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetHotelKeys>
<prod:checkPoint>2015-01-01</prod:checkPoint>
<prod:cityKey>63</prod:cityKey>
</prod:GetHotelKeys>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetHotelKeys
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetHotelKeysResponse</wsa:Action>
<wsa:MessageID>uuid:35cc4be3-0c0c-4993-9d68-247d0e40eadc</wsa:MessageID>
<wsa:RelatesTo>uuid:b7775b03-2c6a-4f03-97ff-2adbf85981d1</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-774ba4da-a4c3-424e-92a2-5269291bbadf">
<wsu:Created>2015-02-10T09:25:53Z</wsu:Created>
<wsu:Expires>2015-02-10T09:30:53Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetHotelKeysResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetHotelKeysResult>
<Hotel key="3231" name="Zeebrugge"/>
</GetHotelKeysResult>
</GetHotelKeysResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetHotelQuotes
Данный метод возвращает квоты(наличие и количество мест) по отелям.
Количество мест в квоте отображается только при включенной настройке isShowQuantity.
Список принимаемых параметров:
- hotelKey – ключ отеля
- сheckPoint – дата, начиная с которой выгружаются ключи по отелям
- days – количество дней, на которые метод возвращает результат
В результате пользователь получает информацию о наличии мест по указанному отелю, на передаваемую в параметрах дату, и выбранному количеству дней.
Вызов метода GetHotelQuotes с параметрами: hotelKey=3231; сheckPoint=2015-03-01; days=1
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetHotelQuotes>
<prod:hotelKey>3231</prod:hotelKey>
<prod:checkPoint>2015-03-01</prod:checkPoint>
<prod:days>1</prod:days>
</prod:GetHotelQuotes>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetHotelQuotes
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetHotelQuotesResponse</wsa:Action>
<wsa:MessageID>uuid:b3fd841c-5ab0-4e00-a7b9-4a7d79bd1f6d</wsa:MessageID>
<wsa:RelatesTo>uuid:ca36826d-58aa-42e7-8dfd-e9ef2e36cbee</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-16a6dcca-fc6b-4706-a044-060d30e2f736">
<wsu:Created>2015-02-10T09:30:24Z</wsu:Created>
<wsu:Expires>2015-02-10T09:35:24Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetHotelQuotesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="12:30:24" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="0" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines/>
<airports/>
<aircrafts/>
<flights/>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies/>
<tariffs/>
<tourTypes/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices>
<hotelServices>
<hotelService buildingKey="3231" roomDescriptionKey="0" roomTypeKey="0">
<quotas>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byCheckin" uniqueKey="3428_12" agentKey="0" freeAccess="many" places="499" date="2015-03-01" quoteType="0" checkInStop="false"/>
</quotas>
</hotelService>
</hotelServices>
</quotaServices>
<packets>
<packet>
<packetHeader>
<tour key="0"/>
<spo key="0" for="byPerson" validFrom="0001-01-01" validTo="0001-01-01" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetHotelQuotesResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetStopSalesAndQuotes
Данный метод возвращает информацию по квотам и Stop-Sale для версии 7.2.
Список принимаемых параметров:
- сheckPoint – дата, начиная с которой выгружается информация по квотам и их изменениям
В результате пользователь получает информацию о наличии мест в квотируемых услугах.
Вызов метода GetStopSalesAndQuotes с параметром сheckPoint=2015-01-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetStopSalesAndQuotes>
<prod:checkPoint>2015-01-01</prod:checkPoint>
</prod:GetStopSalesAndQuotes>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetStopSalesAndQuotes
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetStopSalesAndQuotesResponse</wsa:Action>
<wsa:MessageID>uuid:6bb8c7c7-db23-4f19-bde3-09b6fc375423</wsa:MessageID>
<wsa:RelatesTo>uuid:f0936f67-d4b1-4306-96dd-44a91de869e1</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-a6bdff1f-3699-4191-8e51-47239bb4aa49">
<wsu:Created>2015-02-10T09:39:36Z</wsu:Created>
<wsu:Expires>2015-02-10T09:44:36Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetStopSalesAndQuotesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="12:39:36" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="62.499900000000004" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="1" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="2" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
</flights>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies/>
<tariffs/>
<tourTypes/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices>
<flightServices maxStopPoint="2015-01-01T00:00:00" maxQuotaPoint="2015-02-03T09:42:59.587">
<flightService flightKey="524" tariffKey="0">
<quotas>
<quota status="Modified" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="498" date="2015-03-04" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
<flightService flightKey="525" tariffKey="0">
<quotas>
<quota status="Modified" typeQuantity="byPerson" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="498" date="2015-03-01" quoteType="0" checkInStop="false"/>
</quotas>
</flightService>
</flightServices>
<hotelServices maxQuotaPoint="2015-02-03T09:42:59.347" maxStopPoint="2015-01-01T00:00:00">
<hotelService buildingKey="3231" roomDescriptionKey="0" roomTypeKey="0">
<quotas>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="499" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="499" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" agentKey="0" freeAccess="many" places="499" date="2015-03-03" quoteType="0" checkInStop="false"/>
</quotas>
</hotelService>
</hotelServices>
</quotaServices>
<packets>
<packet>
<packetHeader>
<tour key="0"/>
<spo key="0" for="byPerson" validFrom="0001-01-01" validTo="0001-01-01" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetStopSalesAndQuotesResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetStopSalesAndQuotes2
Данный метод возвращает информацию по квотам и Stop-Sale для версии 9.2.
Возвращается информацию по квотам (наличие мест, количество мест, Stop-Sale, запреты на заезд) по всему услугам в туре.
Список принимаемых параметров:
- сheckPoint – дата, начиная с которой выгружается информация по квотам и их изменениям. Дата создания квоты или дата последнего изменения должны быть больше или равны дате выгрузки информации.
В результате пользователь получает информацию о наличии мест в квотируемых услугах.
Вызов метода GetStopSalesAndQuotes2 с параметром сheckPoint=2015-01-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetStopSalesAndQuotes2>
<prod:checkPoint>2015-01-01</prod:checkPoint>
</prod:GetStopSalesAndQuotes2>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetStopSalesAndQuotes2
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetStopSalesAndQuotes2Response</wsa:Action>
<wsa:MessageID>uuid:80f77302-56fc-475e-9b35-962b9211f549</wsa:MessageID>
<wsa:RelatesTo>uuid:be54fd49-d5dd-4ab9-a816-5db5f3533fb1</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-4436ef00-47ff-44e1-adc1-59869d6652b0">
<wsu:Created>2015-02-10T09:49:19Z</wsu:Created>
<wsu:Expires>2015-02-10T09:54:19Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetStopSalesAndQuotes2Response xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="12:49:19" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="0" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="1" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="2" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
</flights>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies/>
<tariffs/>
<tourTypes/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices>
<flightServices maxQuotaPoint="2015-02-03T09:42:59.587">
<flightService flightKey="524" tariffKey="0">
<quotas>
<quota status="Modified" typeQuantity="byPerson" typeVisit="byPeriod" uniqueKey="2333" agentKey="0" freeAccess="many" places="498" date="2015-03-04" checkInStop="false"/>
</quotas>
</flightService>
<flightService flightKey="525" tariffKey="0">
<quotas>
<quota status="Modified" typeQuantity="byPerson" typeVisit="byPeriod" uniqueKey="2879" agentKey="0" freeAccess="many" places="498" date="2015-03-01" checkInStop="false"/>
</quotas>
</flightService>
</flightServices>
<hotelServices maxQuotaPoint="2015-02-03T09:42:59.347">
<hotelService buildingKey="3231" roomDescriptionKey="0" roomTypeKey="0">
<quotas>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="3428" agentKey="0" freeAccess="many" places="499" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="3429" agentKey="0" freeAccess="many" places="499" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="3430" agentKey="0" freeAccess="many" places="499" date="2015-03-03" quoteType="0" checkInStop="false"/>
</quotas>
</hotelService>
</hotelServices>
</quotaServices>
<packets>
<packet>
<packetHeader>
<tour key="0"/>
<spo key="0" for="byPerson" validFrom="0001-01-01" validTo="0001-01-01" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetStopSalesAndQuotes2Response>
</soap:Body>
</soap:Envelope>
|
Метод GetStopSalesAndQuotesByHotels
Данный метод возвращает информацию по квотам и Stop-Sale по дате по конкретному ключу отеля.
Данные возвращаются вне зависимости от установленного значения настройки isShowQuantity.
Список принимаемых параметров:
- сheckPoint – дата, начиная с которой выгружается информация по квотам и их изменениям
- hotelKey – ключ отеля
В результате пользователь получает полную информацию о наличии мест по переданному ключу отеля.
Вызов метода GetStopSalesAndQuotesByHotels с параметрами: сheckPoint=2015-01-01; hotelKey=3231
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetStopSalesAndQuotesByHotels>
<prod:checkPoint>2015-01-01</prod:checkPoint>
<prod:hotelKey>3231</prod:hotelKey>
</prod:GetStopSalesAndQuotesByHotels>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetStopSalesAndQuotesByHotels
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetStopSalesAndQuotesByHotelsResponse</wsa:Action>
<wsa:MessageID>uuid:1657bc80-2093-4bd7-bbb3-48b6ad103627</wsa:MessageID>
<wsa:RelatesTo>uuid:0e4bac99-bf00-4a4f-81e8-0fc3c4c66eb1</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-573110bc-8c3a-47e6-b0e4-3f44afe6d89e">
<wsu:Created>2015-02-10T09:53:58Z</wsu:Created>
<wsu:Expires>2015-02-10T09:58:58Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetStopSalesAndQuotesByHotelsResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="12:53:57" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="0" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines/>
<airports/>
<aircrafts/>
<flights/>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies/>
<tariffs/>
<tourTypes/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices>
<hotelServices maxQuotaPoint="2015-02-03T09:42:59.347">
<hotelService buildingKey="3231" roomDescriptionKey="0" roomTypeKey="0">
<quotas>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="3428" agentKey="0" freeAccess="many" places="499" date="2015-03-01" quoteType="0" checkInStop="false"/>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="3429" agentKey="0" freeAccess="many" places="499" date="2015-03-02" quoteType="0" checkInStop="false"/>
<quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="3430" agentKey="0" freeAccess="many" places="499" date="2015-03-03" quoteType="0" checkInStop="false"/>
</quotas>
</hotelService>
</hotelServices>
</quotaServices>
<packets>
<packet>
<packetHeader>
<tour key="0"/>
<spo key="0" for="byPerson" validFrom="0001-01-01" validTo="0001-01-01" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetStopSalesAndQuotesByHotelsResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetStopSalesAndQuotesCompressed
Данный метод возвращает информацию по квотам и Stop-Sale для версии 9.2 (возвращается информация, представленная массивом данных. Она сохраняется в Zip-архив, который содержит в себе сериализованный объект TourML).
Возвращается информацию по квотам (наличие мест, количество мест, Stop-Sale, запреты на заезд) по всему услугам в туре.
Список принимаемых параметров:
- сheckPoint – дата, начиная с которой выгружается информация по квотам и их изменениям. Дата создания квоты или дата последнего изменения должны быть больше или равны дате выгрузки информации.
В результате пользователь получает информацию о наличии мест по переданному ключу отеля в сжатом виде.
Вызов метода GetStopSalesAndQuotesCompressed с параметром сheckPoint=2015-01-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetStopSalesAndQuotesCompressed>
<prod:checkPoint>2015-01-01</prod:checkPoint>
</prod:GetStopSalesAndQuotesCompressed>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetStopSalesAndQuotesCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetStopSalesAndQuotesCompressedResponse</wsa:Action>
<wsa:MessageID>uuid:fbdfe63c-8881-419c-8bd0-0d6834b2a7ff</wsa:MessageID>
<wsa:RelatesTo>uuid:80974673-f1f8-4a9a-8f98-7a96526b1167</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-61bdb8cc-520b-4d04-b586-7d747b3e19ba">
<wsu:Created>2015-02-10T09:56:06Z</wsu:Created>
<wsu:Expires>2015-02-10T10:01:06Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetStopSalesAndQuotesCompressedResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetStopSalesAndQuotesCompressedResult>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8VG91ck1MIH
</GetStopSalesAndQuotesCompressedResult>
</GetStopSalesAndQuotesCompressedResponse>
</soap:Body>
</soap:Envelope>
|
Актуализация цены и бронирование (BOO)
Метод CheckBooking
Данный метод осуществляет проверку возможности бронирования рассчитанного прайса.
Возвращает услуги по прайсу, их статусы (есть или нет мест), актуальную цену путевки.
Список принимаемых параметров:
- XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы.
В результате пользователь получает XML документ, содержащий договор.
Вызов метода CheckBooking можно посмотреть здесь "Функция CheckBooking"
Метод CreateBooking
Данный метод осуществляет бронирование путевки по рассчитанному прайсу.
Возвращает услуги по прайсу, их статусы (есть или нет мест), актуальную цену путевки.
Список принимаемых параметров:
- XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы.
В результате пользователь получает XML документ, содержащий договор
Вызов метода CreateBooking производится аналогично вызову метода CheckBooking
Метод GetAgencies
Данный метод возвращает список агентств по определенному фильтру.
Список принимаемых параметров:
- agencyName - название агентства (необязательный параметр)
- cityCode - ключ города
- countryCode - ключ страны
- phoneNumber - телефонный код города
- mail - электронная почта (необязательный параметр)
В результате пользователь получает список агентств по передаваемым параметрам.
Внимание! Данный метод не может быть вызван из браузера, так как принимает в качестве параметра сложный тип.
Вызов метода GetAgencies agencyName=?; cityCode=63; countryCode=3; phoneNumber=+7111; mail=?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products" xmlns:ns="http://tourml.ru/AgenciesArray/2004-09-28">
<soapenv:Header/>
<soapenv:Body><prod:GetAgencies>
<!--Optional:-->
<ns:agencyInfo agencyName="?">
<!--Zero or more repetitions:-->
<ns:phones cityCode="63" countryCode="3" phoneNumber="+7111"/>
<!--Optional:-->
<ns:mails>
<!--Zero or more repetitions:-->
<ns:mail>?</ns:mail>
</ns:mails>
</ns:agencyInfo>
</prod:GetAgencies>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetAgencies
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetAgenciesResponse</wsa:Action>
<wsa:MessageID>uuid:9acfc272-40b2-43cf-9cea-4aa6ea9278fc</wsa:MessageID>
<wsa:RelatesTo>uuid:9e96e7cc-86c6-4e68-901c-e4522568988a</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-185aa0ae-3182-45ac-a6aa-fe24d5f68683">
<wsu:Created>2015-02-10T10:01:23Z</wsu:Created>
<wsu:Expires>2015-02-10T10:06:23Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetAgenciesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetAgenciesResult>
<agencies xmlns="http://tourml.ru/AgenciesArray/2004-09-28">
<agency>
<agencyInfo agencyName="Knokke" cityName="Брюссель" juridicalAgencyName="Knokke">
<mails>
<mail/>
</mails>
</agencyInfo>
<credentials agencyId="10763" agreementNumber="" expirationDate="2016-02-10T00:00:00+03:00"/>
</agency>
</agencies>
</GetAgenciesResult>
</GetAgenciesResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetAgreementCredentials
Данный метод возвращает ключ агентства и номер договора по логину и паролю онлайн пользователя.
Список принимаемых параметров:
- agencyLogin – имя пользователя
- agencyPassword – пароль пользователя
В результате пользователь получает ключ агентства по принадлежащим ему логин/пароль онлайн пользователя.
Вызов метода GetAgreementCredentials с параметрами: agencyLogin=mega; agencyPassword=mega
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetAgreementCredentials>
<!--Optional:-->
<prod:agencyLogin>mega</prod:agencyLogin>
<!--Optional:-->
<prod:agencyPassword>mega</prod:agencyPassword>
</prod:GetAgreementCredentials>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetAgreementCredentials
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetAgreementCredentialsResponse</wsa:Action>
<wsa:MessageID>uuid:cdb7f4db-3719-4443-9df1-ff54a801761b</wsa:MessageID>
<wsa:RelatesTo>uuid:04f7b308-cafe-4205-8b07-72f6494e72e3</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-0f7d7066-3f7e-481e-91b2-fd29cf54f55f">
<wsu:Created>2015-02-10T10:10:25Z</wsu:Created>
<wsu:Expires>2015-02-10T10:15:25Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetAgreementCredentialsResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetAgreementCredentialsResult>
<credentials agencyId="10762" agreementNumber="555" expirationDate="2016-05-01T00:00:00" xmlns="http://tourml.ru/agencies/2004-09-28"/>
</GetAgreementCredentialsResult>
</GetAgreementCredentialsResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetCountries
Данный метод возвращает список стран, по которым имеются туры. В каждой стране – список городов, на которые имеются квоты.
Список принимаемых параметров:
- параметров нет
В результате пользователь получает список стран, по которым в базе данных есть туры.
Вызов метода GetCountries
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetCountries/>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetCountries
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetCountriesResponse</wsa:Action>
<wsa:MessageID>uuid:17f68ade-788f-4bcd-9d79-12aef5f9c32b</wsa:MessageID>
<wsa:RelatesTo>uuid:c7ae0b9b-0055-474f-af27-081b1553756c</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-99d28078-908a-46d1-a62a-4a8a7a0d32ae">
<wsu:Created>2015-02-10T10:14:10Z</wsu:Created>
<wsu:Expires>2015-02-10T10:19:10Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetCountriesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetCountriesResult>
<Country key="3" name="Бельгия">
<Cities xmlns="http://tourml.ru/citylist/2013-01-29">
<City key="63" name="Брюссель"/>
</Cities>
</Country>
</GetCountriesResult>
</GetCountriesResponse>
</soap:Body>
</soap:Envelope>
|
Метод ValidatePriceServices
Данный метод проверяет валидность услуг на даты заездов.
Список принимаемых параметров:
- priceKey - ключ цены
- anyType - ключ услуги
- checkIn - дата начала услуги
В результате пользователь получает проверку валидности услуги на указанную дату.
Вызов метода ValidatePriceServices с параметрами: priceKey=11342; checkIn=2015-01-30
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:ValidatePriceServices>
<prod:priceKey>11342</prod:priceKey>
<!--Optional:-->
<prod:ids>
<!--Zero or more repetitions:-->
<prod:anyType>507</prod:anyType>
</prod:ids>
<prod:checkIn>2015-01-30</prod:checkIn>
</prod:ValidatePriceServices>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода ValidatePriceServices
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/ValidatePriceServicesResponse</wsa:Action>
<wsa:MessageID>uuid:aae96d14-e941-4562-8a95-ef09429d8136</wsa:MessageID>
<wsa:RelatesTo>uuid:82511b1a-4d60-4849-905a-2bd2c40d878a</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-bc96cff6-f39e-460c-9752-2fa5e756e610">
<wsu:Created>2015-02-10T10:21:17Z</wsu:Created>
<wsu:Expires>2015-02-10T10:26:17Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<ValidatePriceServicesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<ValidatePriceServicesResult>false</ValidatePriceServicesResult>
</ValidatePriceServicesResponse>
</soap:Body>
</soap:Envelope>
|
Работа с заявкой (AGR)
Метод CancelAgreement
Данный метод отправляет запрос на аннуляцию путевки.
Список принимаемых параметров:
- agencyId - ключ туристического агентства
- agreementNumber – ключ договора путевки
В результате пользователь получает отправленный запрос на аннуляцию путевки. При передаче agencyId=0 (индивидульно), метод отрабатывать не будет, так как предназначен для работы с агентствами.
Вызов метода CancelAgreement с параметрами: agencyId=10762; agreementNumber=40216
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:CancelAgreement>
<!--Optional:-->
<prod:agencyId>10762</prod:agencyId>
<!--Optional:-->
<prod:agreementNumber>40216</prod:agreementNumber>
</prod:CancelAgreement>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода CancelAgreement
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns="http://tourml.ru/products/2004-04-19">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/CancelAgreementResponse</wsa:Action>
<wsa:MessageID>uuid:1fe7fd85-ae84-4163-afd4-5c2afbe8606a</wsa:MessageID>
<wsa:RelatesTo>uuid:1a7d6dc3-032b-4972-857c-a0d171ccf13e</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-cb300e73-1dd2-4a43-9247-258cbfd45ab8">
<wsu:Created>2015-02-10T10:52:40Z</wsu:Created>
<wsu:Expires>2015-02-10T10:57:40Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<CancelAgreementResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<CancelAgreementResult date="0001-01-01" time="00:00:00.0000000+03:00" xmlns="http://tourml.ru/bookings/2004-09-28">
<agreement>
<header uri="" checkin="2015-02-01" buyerPerson="0" mainPerson="0" agreementKey="40216" agreementCode="BE50201002" country="Бельгия" city="Брюссель" days="4" quantity="2" price="640" pricePaid="0" currency="EU" creationDate="2015-01-27" payUntil="0001-01-01" status="waitcancel" errorStatus="unknown" commission="0">
<comment/>
</header>
<packets>
<packet id="_1">
<inline>
<TourML version="1.0" date="2015-02-10" time="13:52:40">
<header name="Фирма-владелец" uri="" vendor="Megatec" xmlns="http://tourml.ru/products/2004-04-19"/>
<references xmlns="http://tourml.ru/products/2004-04-19">
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="1" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="2" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
</tariffs>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
</tourTypes>
</references>
<sources xmlns="http://tourml.ru/products/2004-04-19">
<source name="Фирма-владелец" uri="http://">
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="192" for="byPerson" validFrom="2015-02-01" validTo="2015-02-04" currencyKey="2" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2015-02-01T00:00:00</date>
</dates>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="3" days="4" men="2" id="_201682">
<info>
<additionalAttributes d19p1:status="Заказ на бронирование" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</hotelService>
</hotelServices>
<flightServices>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" id="_201681">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="524">
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" id="_201683">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_201681 _201682 _201683">
<price gross="640">
<date key="40216" from="2015-02-01" to="0001-01-01"/>
</price>
</serviceSet>
</prices>
</packet>
</packets>
</source>
</sources>
</TourML>
</inline>
</packet>
</packets>
<persons/>
</agreement>
</CancelAgreementResult>
</CancelAgreementResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetAgreementsByCode
Данный метод возвращает список путевок по кодам.
Список принимаемых параметров:
- agency - ключ агентства
- codes - номер путевки
В результате пользователь получает информацию по выбранной путевке.
Вызов метода GetAgreementsByCode с параметрами agency=10762; codes=BE50201002
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetAgreementsByCode>
<!--Optional:-->
<prod:agency>10762</prod:agency>
<!--Optional:-->
<prod:codes>
<!--Zero or more repetitions:-->
<prod:string>BE50201002</prod:string>
</prod:codes>
</prod:GetAgreementsByCode>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetAgreementsByCode
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns="http://tourml.ru/products/2004-04-19">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetAgreementsByCodeResponse</wsa:Action>
<wsa:MessageID>uuid:2066fb3d-778c-4c31-9229-809eb7811e33</wsa:MessageID>
<wsa:RelatesTo>uuid:b77371dc-547b-4a3f-8050-2ace1e6f8a96</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-2ae91584-9612-414d-8dc4-46d3a3506d2c">
<wsu:Created>2015-02-10T11:12:48Z</wsu:Created>
<wsu:Expires>2015-02-10T11:17:48Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetAgreementsByCodeResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetAgreementsByCodeResult date="0001-01-01" time="00:00:00.0000000+03:00" xmlns="http://tourml.ru/bookings/2004-09-28">
<agreement>
<header uri="" checkin="2015-02-01" buyerPerson="0" mainPerson="0" agreementKey="40216" agreementCode="BE50201002" country="Бельгия" city="Брюссель" days="4" quantity="2" price="640" pricePaid="0" currency="EU" creationDate="2015-01-27" payUntil="0001-01-01" status="inWork" errorStatus="unknown" commission="0">
<comment/>
</header>
<packets>
<packet id="_1">
<inline>
<TourML version="1.0" date="2015-02-10" time="14:12:48">
<header name="Фирма-владелец" uri="" vendor="Megatec" xmlns="http://tourml.ru/products/2004-04-19"/>
<references xmlns="http://tourml.ru/products/2004-04-19">
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="1" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="2" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
</tariffs>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
</tourTypes>
</references>
<sources xmlns="http://tourml.ru/products/2004-04-19">
<source name="Фирма-владелец" uri="http://">
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="192" for="byPerson" validFrom="2015-02-01" validTo="2015-02-04" currencyKey="2" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2015-02-01T00:00:00</date>
</dates>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="3" days="4" men="2" id="_201682">
<info>
<additionalAttributes d19p1:status="Заказ на бронирование" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</hotelService>
</hotelServices>
<flightServices>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" id="_201681">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="524">
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" id="_201683">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_201681 _201682 _201683">
<price gross="640">
<date key="40216" from="2015-02-01" to="0001-01-01"/>
</price>
</serviceSet>
</prices>
</packet>
</packets>
</source>
</sources>
</TourML>
</inline>
</packet>
</packets>
<persons/>
</agreement>
</GetAgreementsByCodeResult>
</GetAgreementsByCodeResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetAgreementsByKeys
Данный метод возвращает список путевок по ключам.
Список принимаемых параметров:
- codes - ключ договора
В результате пользователь получает информацию по выбранному ключу договора
Вызов метода GetAgreementsByKeys с параметром codes=40216
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetAgreementsByKeys>
<!--Optional:-->
<prod:codes>
<!--Zero or more repetitions:-->
<prod:int>40216</prod:int>
</prod:codes>
</prod:GetAgreementsByKeys>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetAgreementsByKeys
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns="http://tourml.ru/products/2004-04-19">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetAgreementsByKeysResponse</wsa:Action>
<wsa:MessageID>uuid:b1cc99a4-d23c-4583-9168-6f56adf574e8</wsa:MessageID>
<wsa:RelatesTo>uuid:5e132e43-23ed-49ae-8dc4-246d1f8545a4</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-1adcdd22-98e3-4916-9bae-8a42e2a3acab">
<wsu:Created>2015-02-10T11:24:31Z</wsu:Created>
<wsu:Expires>2015-02-10T11:29:31Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetAgreementsByKeysResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetAgreementsByKeysResult date="0001-01-01" time="00:00:00.0000000+03:00" xmlns="http://tourml.ru/bookings/2004-09-28">
<agreement>
<header uri="" checkin="2015-02-01" buyerPerson="0" mainPerson="0" agreementKey="40216" agreementCode="BE50201002" country="Бельгия" city="Брюссель" days="4" quantity="2" price="640" pricePaid="0" currency="EU" creationDate="2015-01-27" payUntil="0001-01-01" status="inWork" errorStatus="unknown" commission="0">
<comment/>
</header>
<packets>
<packet id="_1">
<inline>
<TourML version="1.0" date="2015-02-10" time="14:24:31">
<header name="Фирма-владелец" uri="" vendor="Megatec" xmlns="http://tourml.ru/products/2004-04-19"/>
<references xmlns="http://tourml.ru/products/2004-04-19">
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="1" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="2" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
</tariffs>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
</tourTypes>
</references>
<sources xmlns="http://tourml.ru/products/2004-04-19">
<source name="Фирма-владелец" uri="http://">
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="192" for="byPerson" validFrom="2015-02-01" validTo="2015-02-04" currencyKey="2" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2015-02-01T00:00:00</date>
</dates>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="3" days="4" men="2" id="_201682">
<info>
<additionalAttributes d19p1:status="Заказ на бронирование" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</hotelService>
</hotelServices>
<flightServices>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" id="_201681">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="524">
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" id="_201683">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_201681 _201682 _201683">
<price gross="640">
<date key="40216" from="2015-02-01" to="0001-01-01"/>
</price>
</serviceSet>
</prices>
</packet>
</packets>
</source>
</sources>
</TourML>
</inline>
</packet>
</packets>
<persons/>
</agreement>
</GetAgreementsByKeysResult>
</GetAgreementsByKeysResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetAgreementsByNumber
Данный метод возвращает информацию по забронированным путевкам.
Список принимаемых параметров:
- agency - ключ туристического агентства
- codes – ключ договора
В результате пользователь получает информацию по выбранному ключу агенства, и выбранному ключу договора.
Вызов метода GetAgreementsByNumber с параметрами: agency=10762; codes=40216
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetAgreementsByNumber>
<!--Optional:-->
<prod:agency>10762</prod:agency>
<!--Optional:-->
<prod:codes>
<!--Zero or more repetitions:-->
<prod:int>40216</prod:int>
</prod:codes>
</prod:GetAgreementsByNumber>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetAgreementsByNumber
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns="http://tourml.ru/products/2004-04-19">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetAgreementsByNumberResponse</wsa:Action>
<wsa:MessageID>uuid:7091dbeb-807e-49ce-bff8-71c680b37341</wsa:MessageID>
<wsa:RelatesTo>uuid:4a7b9f1e-a539-496c-a674-cafe8612a374</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-d6f759d1-d008-4241-beef-82661ed6252a">
<wsu:Created>2015-02-10T11:32:49Z</wsu:Created>
<wsu:Expires>2015-02-10T11:37:49Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetAgreementsByNumberResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetAgreementsByNumberResult date="0001-01-01" time="00:00:00.0000000+03:00" xmlns="http://tourml.ru/bookings/2004-09-28">
<agreement>
<header uri="" checkin="2015-02-01" buyerPerson="0" mainPerson="0" agreementKey="40216" agreementCode="BE50201002" country="Бельгия" city="Брюссель" days="4" quantity="2" price="640" pricePaid="0" currency="EU" creationDate="2015-01-27" payUntil="0001-01-01" status="inWork" errorStatus="unknown" commission="0">
<comment/>
</header>
<packets>
<packet id="_1">
<inline>
<TourML version="1.0" date="2015-02-10" time="14:32:49">
<header name="Фирма-владелец" uri="" vendor="Megatec" xmlns="http://tourml.ru/products/2004-04-19"/>
<references xmlns="http://tourml.ru/products/2004-04-19">
<countries>
<country key="460" name="Россия" nameLat="Russia"/>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460"/>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
</categories>
<hotels>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines>
<airline key="18" name="Lufthunsa" nameLat="en_Lufthunsa" code="LH"/>
</airlines>
<airports>
<airport key="64" name="BRU" nameLat="BRU" code="BRU" cityKey="63" distance="0"/>
<airport key="12" name="Домодедово" nameLat="Домодедово" code="DME" cityKey="1" distance="0"/>
</airports>
<aircrafts>
<aircraft key="4" name="aerobus A-310" code="310"/>
</aircrafts>
<flights>
<flight key="525" code="069" fromCityKey="1" toCityKey="63" airlineKey="18">
<flightTime key="1" fromAirportKey="12" toAirportKey="64" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="06:10:00" timeEnd="09:15:00"/>
</flight>
<flight key="524" code="068" fromCityKey="63" toCityKey="1" airlineKey="18">
<flightTime key="2" fromAirportKey="64" toAirportKey="12" dateBegin="2012-01-01" dateEnd="2021-01-01" weekDays="1234567" aircraftKey="4" timeBegin="07:05:00" timeEnd="10:10:00"/>
</flight>
</flights>
<roomTypes>
<roomType key="38" name="2A" nameLat="2A" code="2A" numBed="2" numExBed="0"/>
</roomTypes>
<roomLocations/>
<roomViews/>
<roomCategories>
<roomCategory key="20" name="Standart" nameLat="Standart" code="STD"/>
</roomCategories>
<roomDescriptions>
<roomDescription key="20" catKey="20"/>
</roomDescriptions>
<roomAccomodations>
<roomAccomodation key="325" name="2A" nameLat="2A" code="2A" numBed="2">
<adult place="0" order="0"/>
<adult place="0" order="0"/>
</roomAccomodation>
</roomAccomodations>
<rooms>
<room key="1116" typeKey="38" roomDescKey="20" accomodationKey="325"/>
</rooms>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies>
<currency key="2" name="Euro" nameLat="Euro" code="EU"/>
</currencies>
<tariffs>
<tariff key="89" name="Экономический класс" nameLat="Coach economy" code="Y"/>
</tariffs>
<tourTypes>
<tourType key="2" name="Стандартный тур" nameLat="en_Стандартный тур"/>
</tourTypes>
</references>
<sources xmlns="http://tourml.ru/products/2004-04-19">
<source name="Фирма-владелец" uri="http://">
<packets>
<packet>
<packetHeader>
<tour key="192" name="Тур в Брюссель № 42" tourTypeKey="2" countryKey="3"/>
<spo key="192" for="byPerson" validFrom="2015-02-01" validTo="2015-02-04" currencyKey="2" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<dates>
<date>2015-02-01T00:00:00</date>
</dates>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices>
<hotelService mealKey="10" roomKey="1116" buildingKey="3231">
<variant providerKey="0" dayBeg="1" nights="3" days="4" men="2" id="_201682">
<info>
<additionalAttributes d19p1:status="Заказ на бронирование" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</hotelService>
</hotelServices>
<flightServices>
<flightService tariffKey="89" flightKey="525">
<variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" id="_201681">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
<flightService tariffKey="89" flightKey="524">
<variant providerKey="0" dayBeg="4" nights="0" days="0" men="2" id="_201683">
<info>
<additionalAttributes d19p1:status="Ok" xmlns:d19p1="http://tourml.ru/products/2004-04-19" xmlns="http://www.megatec.ru/tourml/extensions"/>
</info>
</variant>
</flightService>
</flightServices>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices>
<serviceSet ids="_201681 _201682 _201683">
<price gross="640">
<date key="40216" from="2015-02-01" to="0001-01-01"/>
</price>
</serviceSet>
</prices>
</packet>
</packets>
</source>
</sources>
</TourML>
</inline>
</packet>
</packets>
<persons/>
</agreement>
</GetAgreementsByNumberResult>
</GetAgreementsByNumberResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSimpleDogovorsBronni
Данный метод возвращает список путевок в формате Бронни.
Список принимаемых параметров:
- agency - подстрока (часть имени) названия агентства. В итоговом запросе будет конструкция
LIKE 'agency - название агентства'
- dateFrom - дата, с которой будут выводится созданные путевки
- dateTo - дата, по которую будет выводится список созданных путевок
В результате пользователь получает список путевок на выбранные даты.
Вызов метода GetSimpleDogovorsBronni с параметрами: agency=агентство; dateFrom=2015-01-01; dateTo=2015-03-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSimpleDogovorsBronni>
<!--Optional:-->
<prod:agency>агентство</prod:agency>
<prod:dateFrom>2015-01-01</prod:dateFrom>
<prod:dateTo>2015-03-01</prod:dateTo>
</prod:GetSimpleDogovorsBronni>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSimpleDogovorsBronni
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSimpleDogovorsBronniResponse</wsa:Action>
<wsa:MessageID>uuid:56ed19bd-82f6-4727-ac9b-f279c6445070</wsa:MessageID>
<wsa:RelatesTo>uuid:b13771b3-9ed3-43a5-b4e2-a4f436419f75</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-b2887d84-6bf2-4fc4-b0f6-4206933e4dbc">
<wsu:Created>2015-02-10T11:38:10Z</wsu:Created>
<wsu:Expires>2015-02-10T11:43:10Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSimpleDogovorsBronniResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetSimpleDogovorsBronniResult xmlns="http://tourml.ru/bookings/2004-09-28"/>
</GetSimpleDogovorsBronniResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetSimpleDogovorsByCreateDates
Данный метод возвращает список путевок в формате Бронни по датам создания.
Список принимаемых параметров:
- dateFrom - дата, с которой будут выводится созданные путевки
- dateTo - дата, по которую будет выводится список созданных путевок
- agency - подстрока (часть имени) названия агентства. В итоговом запросе будет конструкция
LIKE 'agency - название агентства'
- BTKey - значение колонки DG_BTKey из таблицы tbl_Dogovors.
В результате пользователь получает список путевок по дате создания, начиная от переданной в параметрах дате, и выбранному названию агентства.
Вызов метода GetSimpleDogovorsByCreateDates с параметрами: dateFrom=2015-01-01; dateTo=2015-03-01; agency=Агентство; BTKey=0
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetSimpleDogovorsByCreateDates>
<prod:dateFrom>2015-01-01</prod:dateFrom>
<prod:dateTo>2015-03-01</prod:dateTo>
<!--Optional:-->
<prod:agency>Агентство</prod:agency>
<prod:BTKey>0</prod:BTKey>
</prod:GetSimpleDogovorsByCreateDates>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSimpleDogovorsByCreateDates
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetSimpleDogovorsByCreateDatesResponse</wsa:Action>
<wsa:MessageID>uuid:44f6e49b-abf0-4539-8804-1c992989ca72</wsa:MessageID>
<wsa:RelatesTo>uuid:fce72291-3a87-45d7-a546-dc37e1fcad55</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-34d0d561-d61d-4456-aa79-ad4693de104e">
<wsu:Created>2015-02-10T11:51:02Z</wsu:Created>
<wsu:Expires>2015-02-10T11:56:02Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetSimpleDogovorsByCreateDatesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetSimpleDogovorsByCreateDatesResult xmlns="http://tourml.ru/bookings/2004-09-28">
<simpleDogovor key="40218" code="BE50130002" agentKey="0"/>
<simpleDogovor key="40216" code="BE50201002" agentKey="0"/>
</GetSimpleDogovorsByCreateDatesResult>
</GetSimpleDogovorsByCreateDatesResponse>
</soap:Body>
</soap:Envelope>
|
Подбор вариантов (GBI)
Метод GetBookingInfo
Данный метод возвращает информацию о путевке.
Список принимаемых параметров:
- XML документ, содержащий заявку, в которой указаны дата заезда, ключ агентства, ключ рассчитанного тура, туристы.
В результате пользователь получает информацию о путевке в XML документе.
Вызов метода GetBookingInfo производится аналогично вызову метода CheckBooking
Подбор перелетов (FLF)
Методы в данной группе отсутствуют.
Любые другие (MICS)
Метод GetCourse
Данный метод возвращает информацию о кросс-курсе валют.
Список принимаемых параметров:
- rateCodeFrom - код валюты, кросс-курс которой нужно вывести
- rateCodeTo - код валюты 2
- exchangeDate - дата, на которую необходимо взять курсы валют
В результате пользователь получает информацию о кросс-курсе валют на выбранную дату.
Вызов метода GetCourse с параметрами: rateCodeFrom=$; rateCodeTo=рб; exchangeDate=2015-01-30
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetCourse>
<!--Optional:-->
<prod:rateCodeFrom>$</prod:rateCodeFrom>
<!--Optional:-->
<prod:rateCodeTo>рб</prod:rateCodeTo>
<prod:exchangeDate>2015-01-30</prod:exchangeDate>
</prod:GetCourse>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetCourse
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetCourseResponse</wsa:Action>
<wsa:MessageID>uuid:a8bdf07f-9f86-441e-9bdb-b5916179dab6</wsa:MessageID>
<wsa:RelatesTo>uuid:87094986-6a43-4494-9967-15b52dacaf1c</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-80aeff76-8768-4d35-9716-e7f72eca643f">
<wsu:Created>2015-02-10T12:02:02Z</wsu:Created>
<wsu:Expires>2015-02-10T12:07:02Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetCourseResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetCourseResult>34.425800</GetCourseResult>
</GetCourseResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetNationalCourse
Данный метод возвращает возвращает курс национальной валюты.
Список принимаемых параметров:
- rateCode - код валюты, курс которой нужно получить
- exchangeDate - дата, на которую необходимо взять курс валют
В результате пользователь получает информацию о курсе национальной валюты на выбранную дату.
Вызов метода GetNationalCourse с параметрами: rateCode=Eu; exchangeDate=2015-03-01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetNationalCourse>
<!--Optional:-->
<prod:rateCode>Eu</prod:rateCode>
<prod:exchangeDate>2015-03-01</prod:exchangeDate>
</prod:GetNationalCourse>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetNationalCourse
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetNationalCourseResponse</wsa:Action>
<wsa:MessageID>uuid:fae0aa47-ee83-41cf-9736-986b02dc5193</wsa:MessageID>
<wsa:RelatesTo>uuid:d9f9b5ae-9cf0-4dac-82f7-2855178b3197</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-b53c06ed-70e2-4e35-82d7-3aef0026b01a">
<wsu:Created>2015-02-10T12:05:01Z</wsu:Created>
<wsu:Expires>2015-02-10T12:10:01Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetNationalCourseResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetNationalCourseResult>46.812200</GetNationalCourseResult>
</GetNationalCourseResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetNationalRateCode
Данный метод возвращает код национальной валюты.
Список принимаемых параметров:
- параметров нет
В результате пользователь получает код национальной валюты
Вызов метода GetNationalRateCode
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetNationalRateCode/>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetNationalRateCode
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetNationalRateCodeResponse</wsa:Action>
<wsa:MessageID>uuid:262e1c56-2635-49b9-8273-e0190843523c</wsa:MessageID>
<wsa:RelatesTo>uuid:55ecd152-ab90-4dad-be07-c7e5f1061dde</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-566ea04d-35e9-428e-8cee-0d37f8336fa4">
<wsu:Created>2015-02-10T12:18:26Z</wsu:Created>
<wsu:Expires>2015-02-10T12:23:26Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetNationalRateCodeResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetNationalRateCodeResult>рб</GetNationalRateCodeResult>
</GetNationalRateCodeResponse>
</soap:Body>
</soap:Envelope>
|
Метод GetReferences
Данный метод возвращает справочники по фильтрам.
Список принимаемых параметров:
- queryType - идентификатор запроса
- param - ключ фильтра
В результате пользователь получает
Вызов метода GetReferences с параметром spoKey=11
queryType — cервис авторизации
- .D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BE.D1.87.D0.BD.D0.BE.D0.B9_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.B8_.28.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_GetReferences.29
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetReferences>
<!--Optional:-->
<prod:queryType>HotelByCityId</prod:queryType>
<!--Optional:-->
<prod:param>63</prod:param>
</prod:GetReferences>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetReferences
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetReferencesResponse</wsa:Action>
<wsa:MessageID>uuid:0aad755d-d6f4-4be6-8968-b3222bb85055</wsa:MessageID>
<wsa:RelatesTo>uuid:58730678-460e-4761-ae60-c9c6de84b413</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-73cb1385-44ae-4264-aa13-9df1acd2687b">
<wsu:Created>2015-02-10T12:22:20Z</wsu:Created>
<wsu:Expires>2015-02-10T12:27:20Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetReferencesResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<TourML version="1.0" date="2015-02-10" time="15:22:19" xmlns="http://tourml.ru/products/2004-04-19">
<header name="Название ТО" uri="URL" vendor="Megatec">
<comment/>
<loadTime timeValue="0" lastKey="-1" xmlns="http://www.megatec.ru/tourml/extensions"/>
</header>
<references>
<countries>
<country key="3" name="Бельгия" nameLat="Belgium"/>
</countries>
<resorts/>
<cities>
<city key="63" name="Брюссель" nameLat="en_Брюссель" code="BRU" countryKey="3"/>
</cities>
<categories>
<category key="707724292" name="4*" nameLat="4*"/>
<category key="707724289" name="1*" nameLat="1*"/>
</categories>
<hotels>
<hotel key="234" name="4 (L) 'Palace'" nameLat="4 (L) 'Palace'" countryKey="3" cityKey="63"/>
<hotel key="675" name="4" nameLat="4" countryKey="3" cityKey="63"/>
<hotel key="3231" name="Zeebrugge" nameLat="Zeebrugge" code="zee" countryKey="3" cityKey="63"/>
</hotels>
<buildings>
<building key="234" name="Основной корпус" nameLat="Base build" categoryKey="707724289" hotelKey="234"/>
<building key="675" name="Основной корпус" nameLat="Base build" categoryKey="707724289" hotelKey="675"/>
<building key="3231" name="Основной корпус" nameLat="Base build" categoryKey="707724292" hotelKey="3231"/>
</buildings>
<airlines/>
<airports/>
<aircrafts/>
<flights/>
<roomTypes/>
<roomLocations/>
<roomViews/>
<roomCategories/>
<roomDescriptions/>
<roomAccomodations/>
<rooms/>
<serviceClasses/>
<serviceDescriptions/>
<serviceDescriptions1/>
<serviceDescriptions2/>
<transfers/>
<excursions/>
<transports/>
<cabines/>
<ships/>
<boardings/>
<currencies/>
<tariffs/>
<tourTypes/>
</references>
<sources>
<source name="Название ТО" uri="URL">
<quotaServices/>
<packets>
<packet>
<packetHeader>
<tour key="0"/>
<spo key="0" for="byPerson" validFrom="0001-01-01" validTo="0001-01-01" state="Created" issue="0001-01-01T00:00:00.0000000+03:00">
<calculatingKeys/>
<comment/>
</spo>
</packetHeader>
<services>
<hotelServices/>
<flightServices/>
<excursionServices/>
<transferServices/>
<cruiseServices/>
<extraServices/>
</services>
<prices/>
<deletedPrices/>
</packet>
</packets>
</source>
</sources>
</TourML>
</GetReferencesResponse>
</soap:Body>
</soap:Envelope>
|
Специальные (SPEC)
Метод GetInfo
Внутренний метод для тестовых целей.
Метод Info
Внутренний метод для тестовых целей.
Метод GetVersion
Данный метод возвращает версию базы данных Мастер-Тур и текущей бизнес-логики сервиса Список принимаемых параметров:
- параметров нет
В результате пользователь получает версию базы данных Мастер-Тур и текущей бизнес-логики сервиса/
Вызов метода GetSPOArrayByKeyCompressed с параметром spoKey=11
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://tourml.ru/service/2004-08-13/products">
<soapenv:Header/>
<soapenv:Body>
<prod:GetVersion/>
</soapenv:Body>
</soapenv:Envelope>
|
Возвращаемый результат метода GetSPOArrayByKeyCompressed
<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" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://tourml.ru/service/2004-08-13/products/GetVersionResponse</wsa:Action>
<wsa:MessageID>uuid:79819ab6-b844-4f3b-811e-91fe960afd77</wsa:MessageID>
<wsa:RelatesTo>uuid:50744140-8022-4b5c-9248-4e280b4fad64</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-84a9457c-6450-4187-9410-55532949d0ff">
<wsu:Created>2015-02-10T12:36:40Z</wsu:Created>
<wsu:Expires>2015-02-10T12:41:40Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<GetVersionResponse xmlns="http://tourml.ru/service/2004-08-13/products">
<GetVersionResult>
<AssemblyVersion>9.2.0.59449</AssemblyVersion>
<BuildDate>12.01.2015 13:08:16</BuildDate>
<MTVersion>9.2.20.25;9.2.0.59449</MTVersion>
<StartDate>2015-02-10T15:36:34.9153568+03:00</StartDate>
</GetVersionResult>
</GetVersionResponse>
</soap:Body>
</soap:Envelope>
|
Авторизация при использовании web-сервиса
При работе с web-сервисом TourML перед запросом данных требуется произвести авторизацию. Web-сервис позволяет использовать несколько методов авторизации, доступные для использования из различных программных средств.
Основным методом авторизации является использование WSE (Web Services Enhancements). По умолчанию web-сервис использует именно этот механизм авторизации. Более детально о механизме безопасности WSE можно прочитать по следующей ссылке:
http://msdn.microsoft.com/en-us/library/aa894200.aspx
Для упрощения работы c web-сервисом предусмотрен механизм упрощенной авторизации, позволяющий производить работу с web-сервисом без использования механизма WSE. Данный вариант авторизации является опциональным и должен быть разрешен явным образом через установку настройки в конфигурационном файле web-сервиса. Более детально о механизме упрощенной авторизации будет рассказано ниже.
Авторизация с использованием WSE
При работе со средой разработки Microsoft Visual Studio в секцию Reference проекта необходимо добавить ссылку на библиотеку Microsoft.Web.Services2.dll
Ниже приведен пример кода на языке c#, позволяющий создать подключение к веб-сервису. Обратите внимание на то, что после автоматического создания прокси-класса с помощью MS Visial Studio, необходимо внести изменения в сгенерированный код.
Нужно указать в качестве базового класса следующий класс:
Microsoft.Web.Services2.WebServicesClientProtocol
Более подробно можно ознакомится с авторизацией по следующей ссылке:
http://msdn.microsoft.com/en-us/library/ms996952.aspx
Пример работа с WSE авторизацией при использовании библиотекой WSE
SoapContext reqCtx = sp.RequestSoapContext; UsernameToken tok = new UsernameToken("login", "password", asswordOption.SendHashed); reqCtx.Security.Tokens.Add(tok); MessageSignature sig = new MessageSignature(tok); sig.SignatureOptions = SignatureOptions.IncludeAction; reqCtx.Security.Elements.Add(sig); ServiceClient.ServiceProxy.Version ver = sp.GetVersion();
Пример работа с WSE авторизацией без использовании библиотеки WSE
Передача запроса в виде XML
1.Создание дайджеста пароля:
DateTime dt = DateTime.Now.ToUniversalTime(); //Создание строк nonce, passwordDigest private void GetPasswordDigest(out string nonce, out string digest, DateTime dt) { DateTime created = dt; //строка, сгенеренная случайным образом. Внимание! Сервис не //даст одну и ту же строку передавать несколько раз. byte[] baNonce = new byte[20]; byte[] baCreated; Random r = new Random(Environment.TickCount); r.NextBytes(baNonce); string cr = String.Format("{0:yyyy-MM-ddTHH:mm:ssZ}", created); baCreated = Encoding.UTF8.GetBytes(cr); string password = "pass"; byte[] baPassword = Encoding.UTF8.GetBytes(password); int baDigestLength = baNonce.Length + baCreated.Length + baPassword.Length; byte[] baDigest = new byte[baDigestLength]; Array.Copy(baNonce, 0, baDigest, 0, baNonce.Length); Array.Copy(baCreated, 0, baDigest, baNonce.Length, baCreated.Length); Array.Copy(baPassword, 0, baDigest, baNonce.Length + baCreated.Length, baPassword.Length); byte[] hash = SHA1Managed.Create().ComputeHash(baDigest); nonce = Convert.ToBase64String(baNonce); digest = Convert.ToBase64String(hash); }
2.Подпись XML. Обязательно хоть что-нибудь должно быть подписано. Для упрощения задачи можно подписать только wsa:Action.
const string wsaNS = "xmlns:wsa=\"http://schemas.xmlsoap.org/ws/2004/03/addressing\"; const string wsuNS = "xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\"; string action = http://tourml.ru/service/2004-08-13/products/GetVersion; //wsa:Action в канонической форме (с нужными namespace'ами) запишится так string strToSign = String.Format("<wsa:Action {0} {1} wsu:Id=\"Id-622cdaf1-1721-4fff-8235-7ace4e4549ab\">{2}</wsa:Action>",wsaNS,wsuNS,action); //DigestValue - считаем от этой строки Base64(SHA1()) signatureInfo += String.Format("<ds:DigestValue>{0}</ds:DigestValue>", GetBase64SHA1(strToSign));
3.SignatureValue - подпись всех элементов SignatureInfo, которые также канонизированы по стандарту xml-exc-c14n.
header += String.Format("<SignatureValue>{0}</SignatureValue>", GetBase64SHA1(signatureInfo));
Более подробную справочную информацию обо всех этапах формирования XML-запроса для работы с WSE-авторизацией можно получить по следующим ссылкам:
http://www.w3.org/TR/xml-exc-c14n/ http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf http://www.xml.com/pub/a/2001/08/08/xmldsig.html http://www.citforum.ru/security/internet/web_service/ http://www.faqs.org/rfcs/rfc3075.html
Пример работы без использования WSE авторизации
С целью упрощения авторизации на веб-сервисе (для закачки информации по турам и квотам) из языков программирования типа PHP, в сервисе предусмотрена возможность передачи логина и пароля через заголовок WebRequest и параметрами через POST запрос. Данная возможность является опциональной и включается с помощью настройки в конфигурационном файле web-сервиса.
<add key="allowSimpleAuth" value="true"/>
Внимание! Настройка добавляется в web.config web-сервиса
Запрос с использованием GET
При вызове метода веб-сервиса можно в качестве параметров передать информацию о логине и пароле
Login=test1&Password=qUqP5cyxm6YcTAhz05Hph5gvu9M=
где в качестве пароля выступает Base64(SHA1(‘пароль’, true))
Запрос с использованием SOAP
В каждом методе веб-сервиса есть описание заголовка и Soap-запроса к этому методу. Для правильной работы необходимо использовать протокол SOAP 1.1.
Например, для метода GetValidTourList:
Заголовок:
POST /Service.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: http://tourml.ru/service/2004-08-13/products/GetValidTourListFrom
Для передачи логина и пароля в заголовок добавляются следующие элементы:
Login : логин Password: Base64(SHA1(пароль))
Soap запрос:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetValidTourListFrom xmlns="http://tourml.ru/service/2004-08-13/products"> <checkPoint>dateTime</checkPoint> </GetValidTourListFrom> </soap:Body> </soap:Envelope>
Пример упрощенной авторизации на языке c#
const string xsiNS = "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"";
const string xsdNS = "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"";
const string soapNS = "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\";
string message = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
message += String.Format("<soap:Envelope {0} {1} {2}>", xsiNS, xsdNS, soapNS);
message += "<soap:Body><GetValidTourListFrom xmlns=\"http://tourml.ru/service/2004-08-13/products\"><checkPoint>2009-01-06</checkPoint></GetValidTourListFrom></soap:Body></soap:Envelope>";
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://localhost:3153/service.asmx");
wr.Method = "POST";
wr.ContentType = "text/xml; charset=utf-8";
//Прописываем Soap запрос
Stream connectionStream = wr.GetRequestStream();
StreamWriter sw = new StreamWriter(connectionStream, Encoding.UTF8);
sw.Write(message);
sw.Close();
//Прописываем логин и пароль
wr.Headers.Add("Login", "test");
wr.Headers.Add("Password", Convert.ToBase64String(SHA1Managed.Create().ComputeHash(Encoding.UTF8.GetBytes("test"))));
wr.Headers.Add("SOAPAction", "http://tourml.ru/service/2004-08-13/products/GetValidTourListFrom");
WebResponse resp = wr.GetResponse();
Вызов методов веб-сервиса. Возможные проблемы при авторизации
Если метод вызывается через браузер и если Вы используете браузер Internet Explorer, то при возникновении любой ошибки на этапе авторизации возвращается HTTP 500 - Внутренняя ошибка сервера. Internet Explorer скрывает текст возникшей ошибки. В данном случае стоит воспользоваться каким-либо альтернативным браузером (Opera, Mozilla), где сообщение от сервера выведется на экран. Также текст ошибок можно получать, воспользовавшись логгерами Http, которые отслеживают запросы\ответы по этому протоколу. Логгерами можно воспользоваться также при обращениях к сервису с клиента.
Запрос | Возникшая ошибка | Пояснение |
GetStopSalesAndQuotes(2009-05-05) | System.Data.SqlClient.SqlException: Cannot open database AvalonTest requested by the login. The login failed.
Login failed for user 'ESYSTEM'. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)…
|
Проблема на стороне оператора. Веб-сервис не может получить доступ к базе данных под учетной записью, указанной в web.config веб-сервиса. |
GetSPOPageByKey(253,0,5000) | System.Data.SqlClient.SqlException: The transaction log for database 'AvalonTest' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases | Проблема на стороне оператора. Требуется передать указанную ошибку администратору базы данных оператора. |
GetSPOPageByKey(253,0,5000) | System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.Data.SqlClient.SqlException: Could not find stored procedure 'sp_GetPricePage'.
в System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader |
В базе данных оператора отсутствует хранимая процедура 'sp_GetPricePage'. Проблема на стороне оператора. Требуется передать указанную ошибку администратору базы данных оператора. По поводу обновления или установки данной процедуры оператор может связаться со службой поддержки компании Мегатек. |
GetSPOPageByKey(253,0,5000) (При вызове из браузера) | System.Web.Services.Protocols.SoapException: Username was not specified | Указанный метод требует указание логина\пароля. И не может быть вызван из браузера напрямую. |
GetSPOPageByKey(253,0,5000) | System.Exception: WSE authorization error 565
The security token could not be authenticated or authorized ---> System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: secret |
Не удалось авторизоваться с переданным логином\паролем. |
GetSPOPageByKey(253,0,5000) | System.Web.Services.Protocols.SoapHeaderException: Microsoft.Web.Services2.Security.SecurityFault:
The security token could not be authenticated or authorized ---> System.Exception: Password has expired. |
Истек срок действия переданного логина. |
GetStopSalesAndQuotes(2009-05-05) | System.Web.Services.Protocols.SoapException: You are not allowed to use this function | С переданным логином\паролем нельзя вызвать эту функцию. В списке групп функций, доступных по этому логину, отсутствует группа с вызываемой процедурой. |
Функции загрузки информации о турах
Формат TourML
TourML - xml-документ, в котором передается информация о турах, ценах, услугах, входящих в эти цены, квотах.
Формат TourML был разработан для того, чтобы стать единым “языком”, который будут понимать различные системы и программные средства, работающие в туристической сфере.
Описание формата TourML
Структурно xml-документ разделен на 3 части.
- header – заголовок документа
- references (необязательна) – секция справочников
- sources – секция цен
- header обязателен, но содержит необязательную для синхронизации информацию о том, кто и с помощью какой реализации сформировал документ.
- name (обязателен)– строка, содержащая значение, указывающее на владельца документа (но не информации, которая в нем находится). Обычно это название компании, которая формирует документ. Как правило, не используется при синхронизации.
- uri (необязателен)– уникальный идентификатор владельца документа.
Элемент loadTime содержит следующие данные:
- timeValue - информация о времени загрузки (не используется)
- lastKey - для постраничной загрузки максимальный (наибольший) ключ тура, который передается для выгрузки следующей страницы
<header name="ООО МегаТур" uri="www.megatour.com" xmlns="http://tourml.ru/products/2004-04-19"> <loadTime timeValue="100" xmlns="http://www.megatec.ru/tourml/extensions" lastKey="3451235"/> </header>
Элемент references содержит информацию об используемых при описании цен, СПО или квот справочниках. Этот элемент является необязательным, однако, практически всегда используется, так как трудно описать информацию не сославшись как какой-либо справочник. Например, при описании СПО, необходимо ссылаться на страны, валюту и т.д. Таким образом, элементы справочников должны присутствовать в документе практически всегда для сохранения ссылочной целостности.
Элементы справочников, используемые во всем документе, описываются только в данном разделе.
Уникальность первичных ключей элементов справочников поддерживается в пределах элемента references.
В справочниках содержатся следующие разделы
- countries – раздел, описывающий страны
- resorts – раздел, описывающий регионы
- cities – раздел, описывающий города
- categories – раздел, описывающий категории звездности отелей и кают
- hotels – раздел, описывающий отели
- buildings – раздел, описывающий корпуса отелей
- airlines – раздел, описывающий авиакомпании
- airports – раздел, описывающий аэропорты
- aircrafts – раздел, описывающий авиасуда
- flights – раздел, описывающий перелеты
- roomTypes – раздел, описывающий типы номеров
- roomLocations – раздел, описывающий расположение номера
- roomViews – раздел, описывающий вид из номера
- roomCategories – раздел, описывающий уровень комфортности
- roomDescriptions – используемые комбинации расположения номера, вида из номера и уровня комфортности номера
- roomAccomodations – раздел, описывающий проживание в номере
- rooms – используемые комбинации типов номеров, проживания и описания номера (roomDescriptions)
- serviceClasses – раздел, описывающий типы услуг
- serviceDescriptions – раздел, описывающий дополнительные услуги
- serviceDescriptions1– раздел, описывающий дополнительные услуги
- serviceDescriptions2– раздел, описывающий дополнительные услуги
- transfers – раздел, описывающий услуги переезда
- excursions – раздел, описывающий экскурсионные услуги
- transports – раздел, описывающий транспорт
- cabines – раздел, описывающий каюты
- ships – раздел, описывающий морские суда
- boardings – питание
- currencies – валюта
- tariffs – тарифа перелетов
- tourTypes – типы туров
Пример - справочник городов:
<countries> <country key="29" name="Греция" nameLat="Greece" code="GRC" /> <country key="375" name="Россия" nameLat="Russia" code="RUS" /> <country key="99999999" fake="true" stdKey="UNKNOWN" name="UNKNOWN" nameLat="UNKNOWN" code="UNKNOWN" /> </countries>
У каждого элемента из указанных выше разделов существуют атрибуты:
- key (обязателен) - ключ в таблице соответствующего справочника.
- fake (необязателен) - указывает на то, что первичный ключ является фиктивным (если значение true). Даже в том случае, когда первичный ключ является фиктивным, он должен быть уникален. Обычно ключ (key) такой фиктивной записи равен значению 99999999 или 0. Все остальные атрибуты заполняются значением UNKNOWN.
- stdKey (необязателен) – стандартный ключ элемента справочника. Используется в тех случаях, когда принимающая сторона заранее не имеет данных справочников и не может синхронизировать запись по идентификатору. Реализация может при синхронизации отдавать приоритет атрибуту stdKey перед атрибутами code, name и nameLat, однако вследствие того, что туроператоры не заполняют это поле надлежащим образом, как правило, в нем содержится мусор не имеющий ничего общего со стандартным ключом (ISO кодом).
Также могут включать в себя дополнительные атрибуты типа Name, NameLat, Code и др.
Элемент sources может содержать информацию о квотах или о ценах какого-либо тура. Информация о ценах содержится в элементах packet, который состоит из 3-х частей:
- packetHeader - общая информация о туре и СПО
- services - информация об услугах, включенных в цены
- prices - цены и даты заезда + ссылки на услуги
- deletedPrices – удаленные цены и даты заезда + ссылки на услуги.
packetHeader имеет следующую структуру:
<packetHeader> <tour key="2054" name="Халкидики" tourTypeKey="2" countryKey="29" /> <spo key="3206" for="byRoom" validFrom="2009-09-25" validTo="2009-10-07" currencyKey="2" state="Created" issue="2009-08-03T13:04:06.0000000+04:00"> <dates /> <comment /> </spo> <spoInfo xmlns="http://www.megatec.ru/tourml/extensions"> <priceQuantity>3736</priceQuantity> </spoInfo> </packetHeader>
Где:
- tour key - ключ тура
- name - название тура
- tourTypeKey, countryKey - тип тура и страна - описаны в разделе справочники.
- spo key - ключ соответствующего СПО
- for="byRoom" (или "byPerson") - показывает за что указаны цены - за комнату или за человека.
- validFrom="2009-09-25" validTo="2009-10-07" - промежуток времени, на который распространяется данное СПО
- currencyKey - валюта, в которой заведены цены - описана в разделе справочники.
- state="Created" (или "Modified") - статус тура - создан (изменен)
- issue="2009-08-03T13:04:06.0000000+04:00" - дата и время последнего изменения тура.
- <dates /> - даты, на которые есть заезды в указанном туре (будет реализовано в следующей версии)
- <comment /> - комментарий к СПО (будет реализовано в следующей версии)
- spoInfo содержит элемент priceQuantity, в котором указано количество доступных цен для тура.
- services - информация об услугах, на которые есть ссылки из раздела цен.
Услуги разделены по следующим группам: Услуга проживания. Например,
<hotelService mealKey="44" roomKey="4648" buildingKey="3413">
- mealKey - тип питания из справочника boardings
- roomKey - тип комнаты
- buildingKey - тип здания
Услуга перелета. Например,
<flightService tariffKey="89" flightKey="631">
- tariffKey - тариф на перелет из справочника tariffs
- flightKey - перелет из справочника Flights (описывает город вылета-прилета, авиакомпанию).
Справочник Flights включает в себя элементы FlightTimes (расписания перелетов). Услуга экскурсий. Например,
<excursionServices transportKey="23" excursionKey="12">
- transportKey,excursionKey - сслылки на справочники тип транспорта (transports) и экскурсия (excursions)
Услуга трансфера. Например,
<transferService transferKey="1989" transportKey="210">
- transferKey, transportKey - соответствующие ссылки на справочники transfers и transports
Услуга круиз. Например,
<cruiseServices shipKey="123" cabineKey="12">
- shipKey, cabineKey - ссылки на справочники cabines и ships.
Остальные услуги - страховка, виза, доп. услуги и т.д. Например,
<extraService classKey="6" subKey="30037" subKey1="5162" subKey2="17" countryKey="460" cityKey="1">
- classKey - тип услуги из справочника serviceClasses
- subKey - описание услуги из справочника serviceDescriptions
- subKey1 - дополнительное описание 1 из справочника serviceDescriptions1
- subKey2 - дополнительное описание 2 из справочника serviceDescriptions2
- countryKey - ссылка на страну из справочника Country
- cityKey - ссылка на город из справочника City
Внутри элемента каждой такой услуги приведены варианты этой услуги (элемент variant) в зависимости от продолжительности, дня начала предоставления и других параметров
<flightService tariffKey="330" flightKey="2284"> <variant providerKey="0" dayBeg="1" nights="0" days="0" men="1" allowDelete="true" allowEditMainService="true" allowEditSubService="true" id="_39839489"> <info> <additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions" /> </info> </variant> <variant providerKey="0" dayBeg="1" nights="0" days="0" men="2" allowDelete="true" allowEditMainService="true" allowEditSubService="true" id="_39839488"> <info> <additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions" /> </info> </variant> </flightService>
Элемент variant имеет следующие атрибуты:
- providerKey - ключ партнера, предоставляющего услугу (не используется - возвращается 0)
- dayBeg - день начала предоставления услуги
- nights - продолжительность услуги в ночах
- days - продолжительность услуги в днях
- men - количество человек, на которое рассчитана данная услуга
- id - ключ услуги, на который ссылается serviceSet из раздела prices
- allowDelete - флаг, показывающий можно ли удалить данную услугу
- allowEditMainService - флаг, показывающий можно ли изменять услугу
- allowEditSubService - флаг, показывающий можно ли изменять SubService (подчиненную услугу) у данной услуги
У элемента variant существует вложенный опциональный элемент info, в который выводится дополнительные атрибуты услуги (если хотя бы одна из них true):
- allowEditCity - у услуги возможно редактирование города
- allowEditPartner - у услуги возможно редактирование партнера, предоставляющего услугу
- allowEditDuration - у услуги возможно редактировать продолжительность
Invisible - флаг, показывающий что услуга скрытая (сейчас этот флаг не используется, поскольку скрытые услуги отсеиваются на этапе выгрузки из базы) Как для атрибутов у variant так и для атрибутов info справедливо следующее правило: если какой-то из флагов имеет значение false, то он не возвращается в ответе. То есть
<additionalAttributes allowEditCity="true" allowEditPartner="true" xmlns="http://www.megatec.ru/tourml/extensions" />
означает
allowEditCity = true allowEditPartner = true allowEditDuration = false Invisible = false
prices - раздел, в котором сгруппированы обсчитанные услуги и указаны цены на пакеты из этих услуг, в зависимости от дат заезда. В элементе serviceSet в атрибуте ids указан список id услуг пакета (ключей элементов variant, описанных выше).
<serviceSet ids="_2000051 _2000056 _2000061 _2000066 _2000071 _2000076 _2000081 _2000441"> <price gross="3586"> <date key="67222503" from="2009-09-25" to="2009-09-25" /> <date key="67222504" from="2009-09-27" to="2009-09-27" /> </price> <price gross="3756"> <date key="67222793" from="2009-09-29" to="2009-09-29" /> </price> </serviceSet>
В элементах price указаны цены (gross) за набор услуг пакета. Внутри элемента price вложены элементы data, имеющие следующие атрибуты:
- key - ключ обсчитаной цены
- from, to - промежуток дат, на который распространяется эта цена.
При проверке бронирования данный ключ + дата из промежутка from, to должны передаваться в качестве переметров. Таким образом, это означает, что пакет с ключем 67222503 на 2009-09-25 стоит (предварительная цена) 3586 (валюта берется из описания СПО) и состоит из следующих услуг: "_2000051 _2000056 _2000061 _2000066 _2000071 _2000076 _2000081 _2000441".
Порядок работы с web-сервисом
Web-сервис TourML позволяет организовать полный цикл взаимодействия с программным комплексом Мастер-Тур – от получения цен до бронирования и аннуляции заявок. Ниже рассмотрен полный цикл работы с web-сервисом.
Получение списка доступных спецпредложений
Первым шагом при работе с web-сервисом является получение списка спецпредложений, выставленных оператором для просмотра в онлайне. Эта операция может быть выполнена с помощью двух методов:
- GetValidTourList
- GetValidTourListFrom
Результат выполнения данных методов - TourML документ, в котором содержится список доступных СПО, а также их актуальность.
Разделы документа, которые будут заполнены: В разделах packet (которых будет по количеству доступных СПО) будет заполнен элемент packetHeader, содержащий информацию о СПО и количестве цен.
<sources xmlns="http://tourml.ru/products/2004-04-19"> <source name="ООО МегаТур" uri="http://www.mega tour.com/"> <quotaServices /> <packets> <packet> <packetHeader> <tour key="311" name="Test Tour" tourTypeKey="5" countryKey="90"> </tour> <spo key="467" for="byPerson" validFrom="2009-01-11" validTo="2009-12-29" currencyKey="1" state="Created" issue="2009-01-10T14:12:00.0000000+03:00"> <dates /> <comment /> </spo> <spoInfo xmlns="http://www.megatec.ru/tourml/extensions"> <priceQuantity>20520</priceQuantity> </spoInfo> </packetHeader> <services> <hotelServices /> <flightServices /> <excursionServices /> <transferServices /> <cruiseServices /> <extraServices /> </services> <prices /> </packet> <packet> ........ </packet>
При выгрузке информации об СПО будут заполнены только те справочники, на которые есть ссылки в элементах tour и spo, а именно: страна, валюта, тип тура.
<references xmlns="http://tourml.ru/products/2004-04-19"> <countries> <country key="86" name="Турция" nameLat="TURKEY" code="TR" /> <country key="90" name="Австрия" nameLat="AUSTRIA" code="AT" /> <country key="9" name="Египет" nameLat="Egypt" code="EG" /> </countries> <resorts /> <cities /> <categories /> <hotels /> <buildings /> <airlines /> <airports /> <aircrafts /> <flights /> <roomTypes /> <roomLocations /> <roomViews /> <roomCategories /> <roomDescriptions /> <roomAccomodations /> <rooms /> <serviceClasses /> <serviceDescriptions /> <serviceDescriptions1 /> <serviceDescriptions2 /> <transfers /> <excursions /> <transports /> <cabines /> <ships /> <boardings /> <currencies> <currency key="1" name="US Dollar" nameLat="US Dollar" code="$" /> </currencies> <tariffs /> <tourTypes> <tourType key="32" name="Сложный тур" nameLat="Complex tour" /> <tourType key="5" name="Специальное предложение" nameLat="Special offer" /> <tourType key="0" name="Не определен" nameLat="Not detected" /> </tourTypes> </references>
Загрузка цен по конкретному спецпредложению
На втором шаге с помощью метода GetSPOPageByKey выполняется загрузка цен по конкретному спецпредложению. Метод принимает следующие параметры:
- SpoKey – ключ СПО
- minPriceKey – ключ цены, начиная с которой осуществлять выгрузку
- pageSize – количество записей получаемых за один запрос (не больше 5000)
Внимание!
Количество записей (pageSize) рекомендуется брать не более 5000, поскольку это значение гарантирует приемлемую производительность сервиса.
Выгрузка страницы с 5000 ценами занимает порядка 5-20 секунд, в зависимости от производительности сервера и его текущей загрузки.
Пример
Пусть требуется выгрузить СПО с ID = 25. Из результатов метода GetValidTourList мы знаем, что в данном СПО 26430 цен.
Первый запрос мы отправляем с параметрами 25, 0, 5000. В качестве ответа сервиса получим TourML, в котором будут описаны первые 5000 прайсов указанного СПО.
Чтобы выполнить загрузку следующей страницы нам нужно передать в качестве параметров 25, maxPriceID, 5000, где maxPriceID - максимальный ID цены которая вернулась в предыдущем запросе.
В ответе сервиса ID прайсов возвращаются в тегах date, сгруппированных по цене,
<serviceSet ids="_10818"> <price gross="10990"> <date key="12575" from="2014-05-24" to="2014-05-24"/> </price> </serviceSet>
где:
- ids - ключи услуги, поле TL_TSKey из таблицы TP_SERVICELISTS
- price gross - цена, поле TP_Gross из таблицы TP_PRICES
- date key - ключ цены, поле TP_Key из таблицы TP_PRICES
Чтобы найти maxPriceID нужно перебрать все теги date и выбрать тот, у которого атрибут key максимальный. В последних версиях сервиса доступен атрибут lastKey у элемента loadTime, в котором указан maxPriceID. Если lastKey=-1, то загрузка окончена и этот TourML - последняя страница.
<header name="" uri="http://notfound.net"> <loadTime timeValue="100" lastKey="87546090" xmlns="http://www.megatec.ru/tourml/extensions" /> </header>
Таким образом, чтобы выгрузить весь тур (26430 цен) необходимо отправить 6 запросов. Последний запрос также можно отправить с pageSize = 5000. Сервис вернет оставшиеся 1430 цен.
Загрузка информации о квотах
Для получения информации о квотах необходимо использовать метод GetStopSalesAndQuotes.
Внимание!
В результат работы метода GetStopSalesAndQuotes(DateTime checkPoint) попадают только те данные, которые изменялись за период c checkPoint по текущую дату. Такой вариант работы подразумевает ведение своей собственной базы с занесением в нее информации по квотам и стопам.
В разделе references приведены справочники, на которые ссылаются отобранные перелеты или гостиницы.
<references> <countries> <country key="460" name="Россия" nameLat="Russia" code="RU" /> <country key="86" name="Турция" nameLat="TURKEY" code="TR" /> </countries> <resorts /> <cities> <city key="1" name="Москва" nameLat="Moscow" code="MOW" countryKey="460" /> <city key="187" name="АНТАЛИЯ" nameLat="ANTALYA" code="AYT" countryKey="86" /> </cities>
В разделе
<sources> <source name="name" uri="http://www.name.ru/"> <quotaServices>
приведена информация по квотам.
Информация по квотам на перелет
Для каждого авиаперелета и тарифа формируется следующая информация:
<flightService flightKey="552" tariffKey="330">
где flightKey - ключ перелета, tariffKey - ключ тарифа.
<flightService flightKey="526" tariffKey="89"> <stopsales> <stopsale dateFrom="2009-05-01" dateTo="2009-05-02" typeVisit="byPeriod" status="Modified" /> </stopsales> </flightService>
В элементах <stopsale> приведена информация об остановках продаж на период времени с dateFrom по dateTo.
<flightService flightKey="526" tariffKey="89"> <quotas> <quota date="2009-05-05" places="125" freeAccess="many" typeQuantity="byPerson" typeVisit="byPeriod" status="Created" duration=”5,6” /> </quotas> </flightService>
Квоты по датам преведены в элементах <quota>.
- Атрибут date - дата, на которую проверяется квота.
- Атрибут places - количество свободных мест (отображается если настройка isShowQuantity установлена в true)
- Атрибут freeAccess - в зависимости от результата проверки квот и настроек <quoteQualifiers> может принимать значения "byQuery", "none", "little", "many".
- Атрибут duration – продолжительность, на которую заведена квота. Если квота без продолжительности, то атрибут не выводится.
Остальные атрибуты всегда остаются такими typeQuantity="byPerson" typeVisit="byPeriod". Если атрибут status="Deleted", то это означает, что данная квота или стоп сейл были удалены из базы данных.
Примеры возвращаемых данных:
<flightService flightKey="10823" tariffKey="332"> <quotas> <quota date="2009-05-28" places="0" freeAccess="byQuery" typeQuantity="byPerson" typeVisit="byPeriod" status="Created" /> - квота на заданное число не задана. <quota date="2009-05-31" places="0" freeAccess="none" typeQuantity="byPerson" typeVisit="byPeriod" status="Created" /> на заданное число нет мест <quota date="2009-06-10" places="17" freeAccess="little" typeQuantity="byPerson" typeVisit="byPeriod" status="Created" /> </flightService>
на заданное число есть 17 мест.
Если на какое либо число отсутствует квота в разделе <quotas>, то считается что данная услуга также имеет статус "под запрос" (byQuery).
Информация по квотам на проживания
<hotelService buildingKey="3239" roomTypeKey="1" roomDescriptionKey="20"> <quotas> <quota date="2009-07-15" places="0" freeAccess="byQuery" typeQuantity="byPerson" typeVisit="byPeriod" status="Created" /> <quota date="2009-07-16" places="0" freeAccess="byQuery" typeQuantity="byPerson" typeVisit="byPeriod" status="Created" duration=”5,6” /> </quotas> </hotelService>
- buildingKey - ключ гостиницы
- roomTypeKey - тип комнаты (HotelRoom.RoomKey)
- roomDescriptionKey - категория комнаты (HotelRoom.RoomsCategoryKey)
- typeQuantity="byRoom" - квота предоставляется на комнату
- Атрибут duration – продолжительность, на которую заведена квота. Если квота без продолжительности, то атрибут не выводится.
"byPerson" - квота предоставляется на человека. При проверке нужно учитывать количество людей. (используется реже)
typeVisit="byPeriod" - квота задана на указанный день. Квоты должны проверяться на все дни тура
"byCheckin" - на заезд. проверка квот идет только на первый день. Если в первый день заезда места есть, то считается что есть. (используется реже)
Примеры возвращаемых данных:
<hotelService buildingKey="3275" roomTypeKey="79" roomDescriptionKey="51"> <stopsales> <stopsale dateFrom="2009-08-14" dateTo="2009-08-15" typeVisit="byPeriod" status="Modified" /> <stopsale dateFrom="2009-08-17" dateTo="2009-08-18" typeVisit="byPeriod" status="Modified" /> </stopsales> <quotas> <quota date="2009-08-16" places="1" freeAccess="little" typeQuantity="byRoom" typeVisit="byPeriod" status="Modified" /> </quotas> </hotelService>
При использовании метода GetStopSalesAndQuotes2.
<hotelService buildingKey="3233" roomDescriptionKey="20" roomTypeKey="1"> <quotas> <quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="2778" agentKey="0" freeAccess="many" places="20" date="2013-10-01" quoteType="0" checkInStop="false"/> <quota status="Modified" typeQuantity="byRoom" typeVisit="byPeriod" uniqueKey="2779" agentKey="0" freeAccess="many" places="20" date="2013-10-02" quoteType="0" checkInStop="true"/> </quotas> </hotelService>
- checkInStop - атрибут, отвечающий за наличие запрета на заезд. Принимает значение true - запрет на заезд выставлен, false - запрет на заезд не выставлен.
<hotelService buildingKey="3233" roomDescriptionKey="20" roomTypeKey="1"> <stopsales> <stopsale status="Modified" typeVisit="byPeriod" uniqueKey="22" dateFrom="2013-11-02" dateTo="2013-11-02" quoteType="1"/> <stopsale status="Modified" typeVisit="byPeriod" uniqueKey="20" dateFrom="2013-11-09" dateTo="2013-11-09" duration="2" quoteType="1"/> <stopsale status="Modified" typeVisit="byPeriod" uniqueKey="28" dateFrom="2013-11-11" dateTo="2013-11-11" quoteType="0"/> </stopsales> </hotelService>
- duration - продолжительность услуги. Атрибут не отображается, если он равен "0".
- quoteType - тип Stop-Sale. 1 - частный Stop-Sale. 0 - общий Stop-Sale.
Информация о квотах и Stop-Sale! quoteType указанный в тэге </quotas>...</quotas> указывают на тип квоты. quoteType указанный в тэге <stopsales>...</stopsales> указывают на тип Stop-Sale.
Загрузка информации по авиаперелетам (расписание и квоты)
Для получения информации по авиаперелетам необходимо использовать метод GetFlightQuotes.
GetFlightQuotes(int cityFrom, int cityTo, DateTime checkPoint)
Возвращает информацию по авиаперелетам (расписание и квоты) с городом вылета cityFrom, городом прилета cityTo, с датой вылета равной CheckPoint.
Возвращается расписание на все перелеты, на которые есть вылеты на будущие даты, по тарифам, указанным в настройке tarifsToLoadFlightQuotes.
На даты вылетов по указанным тарифам также должна выводиться информация по квотам (число свободных для бронирования мест). В данном методе эта информация в настоящее время не заполняется.
Проверка бронирования и бронирование
Перед бронированием какого-либо обсчитанного тура, требуется произвести проверку бронирования с помощью функции CheckBooking. Результатом такой проверки является xml документ, содержащий в себе информацию по услугам тура, статусу этих услуг, цене. В таком же формате приходят и ответы на запросы CreateBooking.
Запрос на проверку бронирования\бронирование (booking) состоит из 3-х частей:
- Header
- Packets
- Persons
Раздел Header
Раздел заполняется следующим образом:
<header id="int" checkin="2009-10-29" buyerPerson="1" mainPerson="1" agreementKey="0"> <comment>Данная заявка выполнена для проверки работы сервиса. Саму заявку в работу оправлять не нужно</comment> </header>
Где:
- id - agencyID из функции GetAgreementCredentials (вызов этой функции будет описан в разделе порядок работы)
- checkin - дата, на которую производится проверка (дата, на которую планируется заезд по проверяемой цене, указанной в <calculated key="00000000" />).
Даты, на которую действует указанная цена, можно узнать из TourML при загрузке цен оператора.
<date key="00000000" from="2009-10-29" to="2009-10-30" />
Если в указанную дату нет заезда, то вернется сообщение об ошибке (Could not find price key 00000000).
Раздел Packets
В разделе Packets передаются пакеты, которые будут бронироваться. В элементе <calculated> в атрибуте key передается ключ цен 044B
<packet id="_1"> <calculated key="00000000" /> </packet>
У самого пакета есть атрибут id, на который будут ссылаться туристы при привязке.
Раздел Persons
В разделе Persons передается информация о клиентах
<person key="1" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-03-03" nationalityRus="" nationalityLat="" isTourist="true"> <contacts> <phones /> <addresses /> <emails /> </contacts> <passports> <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-03-03" /> </passports> </person>
У элемента person есть следующие атрибуты:
- key="1" — уникальный ключ клиента. На него ссылаются в атрибутах buyerPerson="1" mainPerson="1" в Header
- sourceKey="0" — Ключ туриста у внешней системы (не используется)
- packets="_1" — id пакета, к которому будет привязан турист (турист привязывается ко всем услугам этой рассчитаной цены)
- firstNameRus="TEСT" — Имя клиента русскими буквами
- lastNameRus="TEСT" — Фамилия клиента русскими буквами
- firstNameLat="TEST" — Имя клиента латиницей
- lastNameLat="TEST" — Фамилия клиента латиницей
- sex="male" — пол клиента. Может принимать значения male, female, child, infant
- birthday="1982-03-03" — дата рождения клиента
- nationalityRus="" - национальность (русскими буквами)
- nationalityLat="" - национальность (латиницей)
- isTourist="true" — признак является ли клиент туристом
В раздел паспортов необходимо добавить хотя бы один паспорт. Элемент паспорт
- type="foreign" — тип паспорта foreign (загран), national (национальный)
- series="1111" — серия
- number="111111111" — номер
- emittedBy="ОВД" — Кем выдан
- emittedWhen="1990-01-01" — Когда выдан
- validTo="2007-02-02" — Дата окончания действия
Все описанные данные о клиентах являются обязательными! Если Вы бронируете тестовую путевку в рабочую базу оператора, ОБЯЗАТЕЛЬНО у туристов задавайте имя-фамилия ТЕСТ-ТЕСТ Если бронируйте реальную путевку, ОБЯЗАТЕЛЬНО указывайте корректные данные.
В качестве ответа на проверку бронирования\бронирование возвращается XML документ с информацией о путевке, которая приведена в разделе agreement. Этот раздел состоит из четырех частей:
- header
- packets
- persons
- penaltyConditions
В заголовке (header) приведена общая информация о путевке, характеризуемая следующими атрибутами:
- checkin — дата заезда (дата на которую идет проверка бронирования)
- buyerPerson — ключ клиента, который является покупателем
- mainPerson — ключ клиента, который является главным туристом
- agreementKey — ключ путевки (при проверке бронирования < 0, при бронировании реальный ключ из базы)
- agreementCode — код путевки (при проверке бронирования < 0, при бронировании реальный код из базы)
- country — Название страны тура
- city — Название города тура
- days — продолжительность тура
- quantity — количество туристов
- price — цена (туристу к оплате), включает в себя комиссию
- pricePaid — уже оплачено
- currency — валюта путевки
- creationDate — текущая дата
- payUntil — дата, до которой нужно произвести оплату
- status — статус брони
- errorStatus — статус ошибки
- reasonRus — в случае ошибки или отказа бронирования здесь указываются причины
- reasonLat — в случае ошибки или отказа бронирования здесь указываются причины (латиницей)
- commission — комиссия агентству
Статус' | Расшифровка статуса |
Общие статусы | |
Ок | Заявка подтверждена |
Waitlist | Заявка в листе ожидания |
rejected | Бронирование отклонено |
Annulled | Путевка аннулирована |
Error | Ошибка |
Waitcancel | В ожидании отмены по пользовательскому запросу |
Cancel | Не используется |
Статусы ошибок | |
Unknown | Передается во всех остальных случаях |
agencyNotFound | Не найдено агентство по логину/паролю |
priceNotFound | Не найден запрашиваемый прайс |
Для того, чтобы определить произошла ошибка или нет необходимо проверить дополнительный атрибут reasonRus, reasonLat, в которых передаются дополнительные комментарии.
Например, в ответе в разделе Header приходит следующее значение:
status="waitlist" errorStatus="unknown"
- status - это статус заявки (путевки).
- waitlist — означает что можно бронировать под запрос,
- ок - подтверждено
- rejected - в случае если бронирование не возможно по каким-то причинам.
- errorStatus особой функциональной нагрузки не несет
Если какая-то ошибка произошла или по каким-то причинам нельзя бронировать, то в атрибутах reasonRus и reasonLat указывается причина ошибки:
status="rejected" errorStatus="unknown" reasonRus="Бронирование выполнить нельзя т.к. отсутствует квота на услугу А_П::Москва/Дубровник/LLM9351, DME-DBV, 07:00-08:20/Y Эконом класс/. " reasonLat="Booking could not be done, because quota on service А_П::Москва/Дубровник/LLM9351, DME-DBV, 07:00-08:20/Y Эконом класс/ is absent.
Элемент Packets содержит пакеты, помеченные атрибутом id, состоящие из наборов услуг, разбитых на группы (аналогично тому, как разбивались варианту услуг в TourML):
- hotelServices
- flightServices
- excursionServices
- transferServices
- cruiseServices
- extraServices
Каждая из услуг описывается набором атрибутов, например:
<hotelService key="-12" name="HOTEL::АНТАЛИЯ/_NO_CENDER-4*,7 ночей/Double(Standart),Взр./AI Всё включено/" dayBeg="1" nights="7" days="7" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" buildingKey="1037" roomKey="1113" mealKey="38" />
Атрибуты, общие для всех типов услуг:
- key – ключ услуги (при реальном бронировании ключ услуги из услуг договора)
- name — наименование услуги
- dayBeg — день начала предоставления услуги
- nights — продолжительность услуги в ночах
- days — продолжительность услуги в днях
- men — количество человек, пользующихся услугой
- reasonRus - Объяснение причины, по которой услуга не доступна при бронировании (например, нет мест)
- reasonLat - То же самое, что reasonRus, но на английском
- sourceKey - Идентификатор услуги у внешней системы (не используется)
Дополнительные атрибуты, для различных типов услуг:
Услуги проживания(hotelService):
- mealKey - тип питания из справочника boardings
- roomKey - тип комнаты
- buildingKey - тип здания
Услуги авиаперелета(flightService):
- tariffKey - тариф на перелет из справочника tariffs
- flightKey - перелет из справочника Flights (описывает город вылета-прилета, авиакомпанию).
Услуги экскурсии(excursionServices):
- transportKey,excursionKey - сслылки на справочники тип транспорта (transports) и экскурсия (excursions)
Услуги трансфера(transferService):
- transferKey – ссылка на справочник трансферов
- transportKey – ссылка на справочник транспортов
Услуги круиз(cruiseServices):
- shipKey – ссылка на справочник
- cabineKey - ссылки на справочники cabines и ships.
Остальные услуги(extraService):
- classKey - тип услуги из справочника serviceClasses
- subKey - описание услуги из справочника serviceDescriptions
- subKey1 - дополнительное описание 1 из справочника serviceDescriptions1
- subKey2 - дополнительное описание 2 из справочника serviceDescriptions2
- countryKey - ссылка на страну из справочника Country
- cityKey - ссылка на город из справочника City
В разделе Persons передается информация о клиентах. Формат данных такой же, как описан выше для запроса. Ответ функции CreateBooking отличается от ответа функции CheckBooking только тем, что при создании путевки возвращаются реальные ключи из базы.
Получение ключа агентства (функция GetAgreementCredentials)
В функцию бронирования и проверки бронирования необходимо передавать ключ агентства. Для получения ключа необходимо воспользоваться функцией GetAgreementCredentials.
В качестве входных параметров в функцию передаются логин и пароль web–пользователя агентства (логин-пароль под которым агентство заходит в Мастер-Веб).
Результатом выполнения этого метода будет xml-документ следующего вида
<RegisterAgencyResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <credentials agencyId="10795" agreementNumber="w2435" expirationDate="2009-12-11T00:00:00" xmlns="http://tourml.ru/agencies/2004-09-28" /> </RegisterAgencyResponse>
где,
- agencyId – id агентства, к которому принадлежит указанный пользователь.
- AgreementNumber — номер договора с агентством
- ExpirationDate - дата истечения договора.
Метод возвращает тот номер договора, у которого текущая дата попадает между начальной и конечной датой договора, есть признак Договор по умолчанию, или дата обновления самая поздняя.
Если такого логина не существует, то вернется сообщение об ошибке
<RegisterAgencyResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <credentials agencyId="0" expirationDate="0001-01-01T00:00:00" xmlns="http://tourml.ru/agencies/2004-09-28" /> <error errorStatus="loginNotFound" errorDescriptionRus="Логина test не существует." errorDescriptionLat="The login test does not exist." xmlns="http://tourml.ru/agencies/2004-09-28" /> </RegisterAgencyResponse>
Если неправильно указан пароль, то возвращается следующее сообщение об ошибке:
<RegisterAgencyResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <credentials agencyId="0" expirationDate="0001-01-01T00:00:00" xmlns="http://tourml.ru/agencies/2004-09-28" /> <error errorStatus="passwordIncorrect" errorDescriptionRus="Неверный пароль." errorDescriptionLat="The incorrect password." xmlns="http://tourml.ru/agencies/2004-09-28" /> </RegisterAgencyResponse>
Получение справочной информации (функция GetReferences)
Для получения справочной информации по идентификатору и ключу необходимо воспользоваться функцией GetReferences.
В качестве входных параметров в функцию передаются идентификатор запроса и ключ фильтра:
Значение "queryType" | Значение "param" | Описание |
GetPartnerByDgKey | Ключ путевки | Возвращает партнеров, указанных в услугах, связанных с данной путевкой. |
HotelByCityId | Ключ города | Выводит все отели данного города. |
HotelByCountryId | Ключ страны | Выводит все отели данной страны. |
HotelById | Ключ отеля | Выводит отель с заданным ключом. |
CityByCountryId | Ключ страны | Выводит все города данной страны. |
CityById | Ключ города | Выводит город с заданным ключом. |
CountryById | Ключ страны | Выводит страну с заданным ключом. |
RoomAccomodationById | Ключ типа размещения | Выводит тип размещения с заданным ключом. |
RoomTypeById | Ключ типа комнаты | Выводит тип комнаты с заданным ключом. |
RoomCategoryById | Ключ категории номер | Выводит категорию номера с заданным ключом. |
BoardingById | Ключ типа питания | Выводит тип питания с заданным ключом. |
HotelRoomById | Ключ размещения | Выводит размещение с заданным ключом. |
Если передан 0, то в этом случае можно получить все данные из указанного справочника, используя типы запросов:
- CityById,
- CountryById,
- RoomAccomodationById,
- RoomTypeById,
- RoomCategoryById,
- BoardingById,
- HotelRoomById
Порядок работы при проверки бронирования и бронировании
Для того, чтобы забронировать тур у оператора, необходимо выполнить следующие действия:
- По логину и паролю получить id агентства, от которого будет производиться бронирование.
- Из TourML, полученного с помощью методов загрузки данных, необходимо выбрать ключ цены для бронирования, а также дату, на которую планируется тур, с учетом атрибутов from,to.
- С помощью функции CheckBooking произвести проверку бронирования. Если status="waitlist" или status="OK", то можно вызывать метод createBooking.
- Произвести бронирование с помощью метода CreateBooking. Ключ и код путевки, которые вернулись в ответе, необходимо сохранить для дальнейшей работы (например, для получения путевки из базы )
Пример запроса\ответа, а также созданная в Мастер-Туре путевка, приведены в приложении Б, посвященному разделу бронирования.
Работа с путевкой
Для получения информации по забронированной путевке можно воспользоваться методом GetAgreementsByNumber, который по коду забронированной путевки и ключу агентства возвращает xml-документ, аналогичный тому, что возвращается при проверке бронирования и бронировании. Необходимо отправить следующий запрос:
<GetAgreementsByNumber xmlns="http://tourml.ru/service/2004-08-13/products"> <agency>10795</agency> - ключ агентства <codes> <int>43037</int> - ключ путевки </codes> </GetAgreementsByNumber>
Данная функция используется для того, чтобы можно было отслеживать статус путевки и каждой услуги в отдельности.
Рекомендации по составлению запросов
Web-сервис это сложный программный комплекс, работа с которым требует определенных навыков. Ниже представлены рекомендации по составлению вопросов при обращении в службу технической поддержки. Следование этим рекомендациям позволит специалистам технической поддержки ответить на Ваши вопросы наиболее полно и оперативно.
- Проверьте, не описан ли Ваш вопрос в разделе часто задаваемых вопросов
- Указывайте в запросе, какой метод web-сервиса Вы вызывали и с какими параметрами. Такая информация крайне полезна для повторения ситуации. Повторение ситуации, описываемой в Вашем запросе, облегчает понимание запроса и позволяет более оперативно решать возникшие вопросы
Ответы на часто задаваемые вопросы
Основные моменты, касающиеся работы веб-сервиса работы с TourML описаны в ответах на часто задаваемые вопросы.
Приложение A. Функции загрузки информации о турах и ценах
Функции загрузки информации о турах и ценах описаны в приложении A.
Приложение B. Функции проверки бронирования и бронирования
Функции проверки бронирования и бронирования описаны в приложении B.
Приложение С. Функции работы с путевкой
Функции работы с путевкой описаны в приложении С.