Мастер-Тур(15):Программа туров. Внешние системы. Авиа GDS. Мой Агент
Версия статьи от 5-02-2026.
|
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
Адаптер (шлюз) Мастер-Тур – АвиаGDS. Мой Агент предназначен для поиска и бронирования регулярных авиаперелетов из интерфейса онлайн бронирования Мастер-Тур в реальном режиме времени.
Важно отметить, что поиск и бронирование перелетов осуществляется только в рамках тура, который бронирует пользователь.
Общий сценарий выглядит так: туроператор включает в тур фиктивный или реальный авиаперелет из конкретного города вылета в конкретный город прилета. При входе в корзину – Мастер-Тур обращается через АПИ Мой Агент (B2b онлайн-платформа для оформления авиаперелетов на регулярных и чартерных рейсах) ко всем авиаGDS, подключенным у данного туроператора, и ищет все подходящие под условия тура перелеты. Пользователь может выбрать приемлемый для него вариант. Стоимость тура при этом корректируется в соответствии с текущей стоимостью авиаперелета. Если пользователь выбирает перелет, у которого день прилета отличается от исходного перелета, то день предоставления и продолжительность других услуг, входящих в тур корректируется.
Работа в экране «Внешние системы»
На страницу Внешние системы можно попасть из меню турпрограмм (ссылка на страницу http://ip-адрес сервера/TourPrograms/ExternalSystems). Также на страницу Внешние системы можно попасть с любой страницы, перейдя в Меню → Внешние системы.
Страница Внешние системы представлена двумя вкладками:
- Внешние поставщики – где происходит создание и редактирование пользователей системы;
- Синхронизация – где осуществляется работа по сопоставлению данных из внешней системы.
Внешние поставщики
На вкладке Внешние поставщики представлен список поставщиков. Для каждого поставщика указан:
- Название
- Адаптер
- Адрес API
- Срок действия лицензии
Любого поставщика можно отредактировать, выбрав по названию. Также можно добавить нового, нажав кнопку Добавить.
Список полей для заполнения ( * – обязательное):
- Адаптер * – выбирается из списка;
- Название * – название поставщика;
- API адрес * – предоставляемый компанией "Мой Агент" адрес службы поиска внешней системы;
- Логин * – логин для подключения;
- Пароль * – пароль для подключения;
- Адрес SQL сервера * – адрес сервера, на котором располагается или будет располагаться база данных для загрузки справочников;
- Логин SQL сервера * – логин к серверу, на котором располагается или будет располагаться база данных для загрузки справочников;
- Пароль SQL сервера * – пароль к серверу, на котором располагается или будет располагаться база данных для загрузки справочников;
- База данных для загрузки справочников * – промежуточная база данных для загрузки справочников из внешней системы, отличная от основной. Если у клиента не заведена отдельная база данных для загрузки справочников, то достаточно указать в данном поле подходящее название, система сама создаст новую промежуточную базу данных. Из внешней системы в промежуточную базу загружаются следующие справочники: страны, города, курорты, отели. Остальные справочники берутся напрямую из внешней системы.
- Путь к файлам базы данных на жестком диске – указывается (сетевой) путь к папке, в которой будет создана промежуточная база данных. Данная папка должна быть доступна по этому пути пользователям, от которых работают программы: TourPrograms. Также должны быть права на запись в нее.
- Максимальное количество результатов – указывается значение, позволяющее передавать во ВС максимальное количество результатов, которое будет возвращаться в ответе от ВС.
- Валюта – валюта контракта с ВС.
- Багаж – все, багаж и ручная кладь, без багажа. Значение по умолчанию – все.
- Класс авиаперелета – эконом, бизнес, первый, комфорт, все классы. Значение по умолчанию – эконом.
- Пересадки – все, без пересадок. Значение по умолчанию – все.
- Сортировка – сначала дешевые, сначала быстрые, оптимальные. Значение по умолчанию – сначала дешевые.
- сначала дешевые – сортировка по размеру доплаты от меньше к большей
- сначала быстрые – сортировка по общей продолжительности авиаперелета туда от меньшей к большей
- оптимальные – берется целиком вся поисковая выдача, считается среднее арифметическое от всех цен перелетов и среднее арифметическое от времени перелетов. На основе этих средних значений формируется рейтинг каждого отдельного перелета: чем цена перелета ниже относительно средней –> чем короче время перелета относительного среднего времени среди всех перелетов –> тем он оптимальнее. Точная формула рейтинга для каждого перелета такая: Рейтинг = (средняя цена на выдаче / цена перелета) х 0.9 + (средняя длительность перелета на выдаче / длительность перелета) х 1.1
- Обновление цен – отвечает за включение/выключение механизма сохранения цен. По умолчанию признак выключен. Более детальное описание механизма сохранения цен.
- Багаж – все, багаж и ручная кладь, без багажа. Значение по умолчанию – все. Возможен множественный выбор.
- Пересадки – все, без пересадок. Значение по умолчанию – все. Возможен множественный выбор.
- Выбирать рейс автоматически, если не выбран пользователем - данная настройка регулирует обязательность выбора рейса от Авиа GDS в туре. Если настройка включена, то в случае, если пользователь попытается выйти из окна подбора рейса от внешнего поставщика в корзине, для него отобразится сообщение Вы не можете продолжить бронирование тура без выбора регулярного авиаперелета. При закрытии экрана будет автоматически подобран авиаперелет с минимальной стоимостью. После этого автоматически будет выбран перелёт по самой низкой цене из числа доступных. Если настройка выключена, то пользователь сможет выйти из окна подбора рейса и выбрать перелёт, заведённый на базе Мастер-Тур.
- Поиск багажа в других тарифах – если выбран, то при наличии багажа в других тарифах пользователь будет видеть в поиске сообщение Возможно есть багаж в другом тарифе
Настройки применяются без перезагрузки службы поиска .
Адаптер работает по white-list, доступ выдается только при передаче в Мой Агент всех ip-адресов, с которых может вызываться запрос во ВС
При сохранении внешнего поставщика в БД автоматически создается ценовой пакет и поставщик с названием, которое было введено при создании поставщика, в скобках указывается (внешняя система). Это необходимо для того, чтобы была возможность внести стоимость услуги, по которой будет работать поиск (при условии, что разрешается только бронирование услуги из внешней системы).
В случае, если внешний поставщик внесен для услуги Авиаперелет, то поставщику автоматически ставится признак Авиаперевозчик.
Синхронизация
Синхронизация служит для сопоставления справочных данных из внешней системы со справочными данными, указанными в ПК Мастер-Тур. Для того, чтобы начать работу, нужно выбрать необходимые данные:
- В списке Поставщик выбираем интересующего поставщика (в списке отображаются названия поставщиков, созданные на вкладке внешние поставщики)
- В списке Справочник выбираем необходимый справочник
Слева отображаются справочные данные внешней системы. Справа отображаются справочные данные из ПК Мастер-Тур.
Данные, которые сопоставлены - подсвечены черным цветом. Не сопоставленные данные подсвечены красным цветом. Существует возможность фильтрации справочных данных по статусу (Сопоставлен или Не сопоставлен) и поиска по названию.
В блоке Сопоставленные данные отображаются сопоставленные данные по выбранным элементам в левой или/и правой частях. Отображаемые данные сортируются по алфавиту. Данные можно сопоставлять и удалять сопоставление:
- Если нужно удалить сопоставление, можно воспользоваться кнопкой Удалить после нажатия данные станут не сопоставленными и подсвечены красным цветом. Если есть связанные сопоставления с удаляемой записью (к примеру, Страна->Город), то связанные сопоставления также будут удалены;
- Если нужно данные сопоставить, то есть два варианта:
- Точечное сопоставление - т.е. нужно выбрать не сопоставленное значение (подсвеченное красным цветом) в левой части и аналогичное ему значение в правой части (или то значение, которое должно быть сопоставлено). После того как значения выбраны, станет активной кнопка Сопоставить. Нажимаем кнопку, данные станут сопоставленными и подсвечены черным цветом
- Автоматическое сопоставление (* – обязательное сопоставление) - при нажатии кнопки Автоматическое сопоставление запускается процесс автоматического сопоставления справочников. Для авиаперелетов сопоставляются только следующие справочники:
- Страны (по названию) * – обязательное сопоставление.
- Города (по названию и стране) * – обязательное сопоставление.
- Аэропорты (по стране и городу) * – обязательное сопоставление.
- Авиакомпании (по коду) * – обязательное сопоставление.
- Воздушные суда (по коду) * – обязательное сопоставление.
- Валюты
Работа в системе
После того, как создан внешний поставщик и данные из внешней системы синхронизированы с данными ПК "Мастер-Тур", нужно создать тур, в который будут добавлены услуги от внешнего поставщика. Рассмотрим на примере создания тура, в котором содержатся три услуги – Авиаперелет туда (этот авиаперелет будет подбираться из внешней системы), Отель/круиз, Авиаперелет обратно:
Работа с регулярными рейсами из GDS (YouTube)
Создание услуг и внесение цены
1. Создаем услугу Авиаперелет от внешнего поставщика:
- Во вкладке Внешние поставщики создаем внешнего поставщика, например MyAgent и у нас автоматически создается ценовой пакет, который называется MyAgent(внешняя система), поэтому в экране Выбор ценового пакета нужно выбрать именно этот ценовой пакет (т.е. услугу, подбираемую у внешнего поставщика, обязательно нужно заводить в ценовом пакете, созданном при создании внешнего поставщика).
- Затем выбираем тип услуги Авиаперелет. Страну/город вылета и страну/город прилета выбираем те, которые нас интересуют для подбора перелета. Причем перелет может быть как обычным, так и многоплечевым. При подборе перелета в поиске анализируются точка отправления и точка прибытия. Для нашего примера выберем следующие страны: Россия/Москва - Мальдивы/Мале (т.к. нас интересуют такие перелеты, которые будут отправляться из Москвы и прибывать в Мале).
- Создаем расписание – можно указывать любую авиакомпанию, рейс, аэропорт вылета/прилета, тип самолета и т.д. Внимание нужно обратить на время вылета и прилета, т.е. если перелет осуществляется в рамках одного дня, то внешние перелеты будут подбираться не выходя за границы дня (например, если в расписании указать время вылета 08:00, прилета 10:00, то в поиске будут подбираться рейсы, осуществляющиеся с 00:00 по 23:59 часов).
- Выбираем тариф – Экономический класс (можно выбрать любой, т.к. на подбор перелетов от внешнего поставщика он никак не влияет).
- Выбираем поставщика – выбираем именного внешнего поставщика. Он также появляется в БД "Партнеры" автоматически, при создании внешнего поставщика во вкладке Внешние поставщики. В нашем случае это поставщик MyAgent(внешняя система).
- Затем заводим цену стандартным способом в экране Цены на услугу.
2. Создаем услугу Отель/круиз стандартным способом в экране Цены на услугу (можно использовать любой ценовой пакет и поставщика).
Создание тура и внесение услуг в его состав
3. Создаем тур стандартным способом и вносим в него созданные услуги (из примера, услуги, созданные в п.1, 2, 3).
4. В итоге получаем тур для поиска, в котором Авиаперелет "туда" будет подбираться от внешнего поставщика (т.е. в подобранном перелете страна/город отправления и конечная страна/город прибытия будут соответствовать стране/городу отправления и конечной стране/городу прибытия, заведенным в услуге Авиаперелет от внешнего поставщика. Все остальные параметры услуги могут отличаться).
Обратите внимание, что при тестировании функционала нельзя вводить фейковые данные как в тестовых, так и в реальных бронях. За это авиакомпании и GDS назначают штрафы. Обратите внимание, что штрафы назначаются даже если бронирование с фейковыми данными делается на тестовом доступе. Также недопустимо повторное бронирование на одного и того же пассажира с одинаковыми персональными данными. Фейковыми данными являются ФИО следующих типов: «test test» «А А» (из одной или двух букв) «1 1» (ФИО цифрами, или в ФИО будет цифра) «АААА1 АААА1» «ААА ВВВ»
При добавлении услуг в состав тура, ценовой пакет (с пометкой внешняя система) и внешний поставщик для выбора появятся только если есть заведенная цена.
Экран поиска авиабилетов TourSearchClient
После заполнения фильтров для поиска отображается тур с авиаперелетом от внешнего поставщика "Мой Агент". До перехода в корзину и процесса актуализации отображаются цены из Мастер-Тура.
При переходе в корзину начинается поиск вариантов перелета по выбранному туру от внешней системы.
Далее открывается окно для выбора перелетов.
В шапке отображаются следующие данные:
- город, страна вылета
- город, страна прилета
- дата вылета
- дата возврата
- количество взрослых/детей (в виде иконок)
- фильтр Класс перелета – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Эконом, Бизнес, Первый, Комфорт, Все.
- Найти – кнопка активна в том случае, если был изменен фильтр Класс перелета. При нажатии отправляется новый поисковый запрос во внешнюю систему и после получения результатов перезагружаются фильтры и результаты выдачи
В фильтрах отображаются следующие данные:
- Багаж – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Все, Багаж и ручная кладь, Без багажа.
- Пересадки – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Все, Без пересадок.
- Время вылета/Время в пути – вылет/прилет туда и вылет/прилет обратно, разделенные на четыре диапазона
- Утро (06:00-12:00)
- День (12:00-18:00)
- Вечер (18:00-24:00)
- Ночь (00:00-06:00)
- Время в пути (туда) – диапазон времени в пути для прямых авиаперелетов
- Время в пути (обратно) – диапазон времени в пути для обратных авиаперелетов
- Длительность пересадок – время длительности пересадок между перелетами, если перелет со стыковочными рейсами. Зависит от фильтра Длительность пересадок в Индивидуальные настройки подбора перелетов в туре. Если в фильтре в туре время стыковок меньше того, которое получаем от GDS, то в фильтре Длительность пересадок в поисковой выдаче будет указано время из тура, если наоборот - время максимальной длительности пересадки от GDS.
- Аэропорты/Авиакомпании
- Аэропорт вылета
- Аэропорт пересадки
- Аэропорт прилета
- Авиакомпании
- Сортировка: – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Сначала дешевые, Сначала быстрые, Оптимальные.
- Сначала дешевые – сортировка по размеру доплаты от меньше к большей (значение по умолчанию)
- Сначала быстрые – сортировка по общей продолжительности времени перелетов всех сегментов и пересадок между ними, от меньшей к большей
- Оптимальные – берется целиком вся поисковая выдача, считается среднее арифметическое от всех цен перелетов и среднее арифметическое от времени перелетов. На основе этих средний значений формируется рейтинг каждого отдельного перелета – чем цена перелета ниже относительно средней и чем короче время перелета относительного среднего времени среди всех перелетов – тем он оптимальнее.
Формула рейтинга для каждого перелета:
Рейтинг = (средняя цена на выдаче / цена перелета) х 0.9 + (средняя длительность перелета на выдаче / длительность перелета) х 1.1
В результатах отображаются следующие данные:
- Маршрут – город отправления (код аэропорта города отправления) –> город прибытия (код аэропорта города прибытия)
- Время вылета/прилета
- Рейс
- Класс
- Информация – информация о ручной клади, багаже и актуальной стоимости бронирования по времени. Актуальная стоимость бронирования - стоимость для выкупа билета которая будет неизменна до указанной даты и времени.
- Доплата/скидка за авиаперелет
При включенной настройке Поиск багажа в других тарифах для рейсов без багажа под кнопкой "Сменить тариф" выводится сообщение с текстом "Возможно есть багаж в другом тарифе"
При нажатии на кнопку "Сменить тариф" появляется окно с доступными тарифами, размером доплаты или скидки, детализацией по тарифу.
Возле детализации отображаются значки:
- входит в стоимость
- за дополнительную плату
- недоступно
В детализации указывается: Название тарифа, стоимость доплаты или размер скидки, ручная кладь, багаж, выбор места, VIP сервис, программа бонусные мили, питание, возвратность, возможность обмена, ограничения по продажам
Далее после нажатия на кнопку "Выбрать тариф" доплата/скидка по данному перелету пересчитывается.
После того, как выбран перелет, в базу данных ПК "Мастер-Тур" записывается информация о расписании выбранных перелетов. Также пересчитывается стоимость всего тура и обновляется информация о перелетах в чеке.
При бронировании тура с авиаперелетом требуется заполнить обязательные данные о туристах (список обязательных полей получаем от внешней системы), если эти поля не заполнены, возможно появление сообщения об ошибке.
Для успешного бронирования рекомендуем заполнять следующие поля:
– фамилия, имя и отчество для всех туристов (обязательно заполнение отчества для граждан РФ на внутренних рейсах);
– дата рождения, данные паспорта и гражданство для всех туристов;
– номер телефона, электронная почта для главного туриста.
При бронировании билетов во внешней системе, если были указаны данные по загранпаспорту и по национальному паспорту (серия/номер паспорта и дата действия), то во внешнюю систему отправляются данные из загранпаспорта.
После бронирования пользователь переходит в экран Информация о заказе, где может увидеть всю информацию по своей путевке, включая информацию о актуальной стоимости билета при бронировании до заданной даты и времени.
Экран поиска авиабилетов в Canary
После заполнения фильтров для поиска отображается тур с авиаперелетом от внешнего поставщика "Мой Агент". До перехода в корзину и процесса актуализации отображаются цены из Мастер-Тура.
При переходе в корзину начинается поиск вариантов перелета по выбранному туру от внешней системы и открывается окно для выбора перелетов.
Ознакомиться с описанием подбора перелетов от внешнего поставщика приложения Canary можно в соответствующем разделе.
Возможны два варианта отображения перелетов:
- "Компактный", где все рейсы сгруппированы внутри блока
- "Развернутый", где по кнопке Показать все рейсы - отображаются все рейсы внутри каждого блока по всем перелетам
По умолчанию отображается "компактный" вариант отображения рейсов. По нажатию на кнопку Показать все рейсы раскрывается список рейсов. Доступность кнопки задается настройкой СompactView. Если настройка не задана или стоит в значении false, то кнопка Показать все рейсы не отображается, по умолчанию представлен развернутый список рейсов.
Начиная с релиза 15.9 реализовано отображение Вертикальных фильтров
После того, как выбран перелет, в базу данных ПК "Мастер-Тур" записывается информация о расписании выбранных перелетов. Также пересчитывается стоимость всего тура и обновляется информация о перелетах в чеке.
При бронировании тура с авиаперелетом требуется заполнить обязательные данные о туристах (список обязательных полей получаем от внешней системы), если эти поля не заполнены, возможно появление сообщения об ошибке.
Для успешного бронирования рекомендуем заполнять следующие поля:
– фамилия, имя и отчество для всех туристов (обязательно заполнение отчества для граждан РФ на внутренних рейсах);
– дата рождения, данные паспорта и гражданство для всех туристов;
– номер телефона, электронная почта для главного туриста.
При бронировании билетов во внешней системе, если были указаны данные по загранпаспорту и по национальному паспорту (серия/номер паспорта и дата действия), то во внешнюю систему отправляются данные из загранпаспорта.
После бронирования пользователь переходит в экран Информация о заказе, где может увидеть всю информацию по своей путевке, включая информацию о актуальной стоимости билета при бронировании до заданной даты и времени.
Настройка логирования
Для получения данных о работе внешнего поставщика используется логирование, настройки которого осуществляются в файле Megatec.TourSearchOwin.exe.config папки TourSearchOwin. Путь к папке лог-файлов прописывается в секции Loggers path. Включение логирования осуществляется в секции Logger level. Возможные значения: ALL или OFF.
| № | Название | Описание | Настройка |
|---|---|---|---|
| 1 | Логирование | Путь к лог-файлам задается в секции Loggers path. Настройка zip="true" отвечает за архивирование логов, при переполнении 5-го текущего файла 4 предыдущих файла сжимаются в архив, подписанный именем логгера и датой и временем, архив помещается в папку Archive; исходные файлы удаляются, текущий файл становится первым, создаётся новый.
Разные настройки логирования отвечают за получение разной информации:
|
<Loggers path="Logs\">
<Logger level="ALL" name="GetFlightsRequestResponseLogger" console="false" zip="true" />
<Logger level="ALL" name="ActualizeFlightsRequestResponseLogger" console="false" zip="true" />
<Logger level="ALL" name="CreateFlightsReservationRequestResponseLogger" console="false" zip="true" />
<Logger level="ALL" name="GetFlightsDetailsLogger" console="false" zip="true" />
<Logger level="ALL" name="GetFareFamiliesFlightsRequestResponseLogger" console="false" zip="true" />
<Logger level="ALL" name="GlobalInformationFlightLogger" console="false" zip="true" />
<Logger level="ALL" name="GetFlightsRequestResponseNotValidLogger" console="false" zip="true" />
</Loggers>
|


