Мастер-Тур(15):Программа туров. Внешние системы. Авиа GDS — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (→Экран поиска авиабилетов до релиза 15.4 включительно) |
Biryukov (обсуждение | вклад) (→Внешние поставщики) |
||
Строка 55: | Строка 55: | ||
** сначала быстрые – сортировка по общей продолжительности авиаперелета ''туда'' от меньшей к большей | ** сначала быстрые – сортировка по общей продолжительности авиаперелета ''туда'' от меньшей к большей | ||
** оптимальные – берется целиком вся поисковая выдача, считается среднее арифметическое от всех цен перелетов и среднее арифметическое от времени перелетов. На основе этих средних значений формируется рейтинг каждого отдельного перелета: чем цена перелета ниже относительно средней –> чем короче время перелета относительного среднего времени среди всех перелетов –> тем он оптимальнее. Точная формула рейтинга для каждого перелета такая: Рейтинг = (средняя цена на выдаче / цена перелета) х 0.9 + (средняя длительность перелета на выдаче / длительность перелета) х 1.1 | ** оптимальные – берется целиком вся поисковая выдача, считается среднее арифметическое от всех цен перелетов и среднее арифметическое от времени перелетов. На основе этих средних значений формируется рейтинг каждого отдельного перелета: чем цена перелета ниже относительно средней –> чем короче время перелета относительного среднего времени среди всех перелетов –> тем он оптимальнее. Точная формула рейтинга для каждого перелета такая: Рейтинг = (средняя цена на выдаче / цена перелета) х 0.9 + (средняя длительность перелета на выдаче / длительность перелета) х 1.1 | ||
− | * Обновление цен – отвечает за включение/выключение механизма сохранения цен. По умолчанию признак выключен. Более детальное [[Мастер-Тур(15):Корзина#Сохранение цен в Мастер-Тур|описание механизма сохранения цен]]. | + | * Обновление цен – отвечает за включение/выключение механизма сохранения цен. По умолчанию признак выключен. Механизм обновления цен будет работать только для туров, у которых в настройках тура выбран признак «Применять комиссии, наценки и доплаты к услуге от внешнего поставщика». Более детальное [[Мастер-Тур(15):Корзина#Сохранение цен в Мастер-Тур|описание механизма сохранения цен]]. |
** Багаж – все, багаж и ручная кладь, без багажа. Значение по умолчанию – все. Возможен множественный выбор. | ** Багаж – все, багаж и ручная кладь, без багажа. Значение по умолчанию – все. Возможен множественный выбор. | ||
** Пересадки – все, без пересадок, 1 пересадка, 2 и более. Значение по умолчанию – без пересадок. Возможен множественный выбор. | ** Пересадки – все, без пересадок, 1 пересадка, 2 и более. Значение по умолчанию – без пересадок. Возможен множественный выбор. |
Версия 13:28, 13 марта 2020
Версия статьи от 13-03-2020.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Работа в экране «Внешние системы»
- 3 Работа в системе
- 3.1 Создание услуг и внесение цены
- 3.2 Создание тура и внесение услуг в его состав
- 3.3 Экран поиска авиабилетов до релиза 15.4 включительно
- 3.4 Экран поиска авиабилетов, начиная с релиза 15.5
- 3.5 Создание расписания для авиаперелетов из внешней системы
- 3.6 Добавление услуги Авиаперелет в уже созданный тур
- 4 Настройка логирования
Введение
На страницу Внешние системы можно попасть из меню турпрограмм (ссылка на страницу http://ip-адрес сервера/TourPrograms/ExternalSystems
). Также на страницу Внешние системы можно попасть с любой страницы, перейдя в Меню → Внешние системы.
Работа в экране «Внешние системы»
Страница Внешние системы представлена двумя вкладками:
- Внешние поставщики – где происходит создание и редактирование пользователей системы;
- Синхронизация – где осуществляется работа по сопоставлению данных из внешней системы.
Внешние поставщики
На вкладке Внешние поставщики представлен список поставщиков. Для каждого поставщика указан:
- Название
- Адаптер
- Адрес API
- Срок действия лицензии
Любого поставщика можно отредактировать, выбрав по названию. Также можно добавить нового, нажав кнопку Добавить.
Список полей для заполнения ( * – обязательное):
- Адаптер * – выбирается из списка
- Название * – название поставщика
- API адрес * – должен быть представлен в виде http(s)://domain(.ru)(:9999)(/something)
- Авторизационный токен * – ключ доступа к серверу, по которому будет происходить подключение к внешнему поставщику
- ID клиента * – id поставщика во внешней системе (предоставляется вместе с авторизационным токеном)
- ID агентства – id агентства во внешней системе (предоставляется вместе с авторизационным токеном)
Подключение к API адресу внешнего поставщика можно проверить по нажатию на кнопку Проверить подключение. Система производит пробное подключение к API и проверяет его доступность.
При сохранении внешнего поставщика в БД автоматически создается ценовой пакет и поставщик с названием, которое было введено при создании поставщика, в скобках указывается (внешняя система). Это необходимо для того, чтобы была возможность внести стоимость услуги, по которой будет работать поиск (при условии, что разрешается только бронирование услуги из внешней системы).
В случае, если внешний поставщик внесен для услуги Авиаперелет, то поставщику автоматически ставится признак Авиаперевозчик.
Начиная с релиза 15.5 добавлена возможность задавать значения фильтров для поиска по умолчанию.
Все значения фильтров для поиска по умолчанию применяются сразу, без перезагрузки службы поиска.
- Багаж – все, багаж и ручная кладь, без багажа. Значение по умолчанию – все.
- Класс авиаперелета – эконом, премиум-эконом, бизнес, первый. Значение по умолчанию – эконом.
- Пересадки – все, без пересадок, 1 пересадка, 2 и более. Значение по умолчанию – без пересадок.
- Сортировка – сначала дешевые, сначала быстрые, оптимальные. Значение по умолчанию – сначала дешевые.
- сначала дешевые – сортировка по размеру доплаты от меньше к большей
- сначала быстрые – сортировка по общей продолжительности авиаперелета туда от меньшей к большей
- оптимальные – берется целиком вся поисковая выдача, считается среднее арифметическое от всех цен перелетов и среднее арифметическое от времени перелетов. На основе этих средних значений формируется рейтинг каждого отдельного перелета: чем цена перелета ниже относительно средней –> чем короче время перелета относительного среднего времени среди всех перелетов –> тем он оптимальнее. Точная формула рейтинга для каждого перелета такая: Рейтинг = (средняя цена на выдаче / цена перелета) х 0.9 + (средняя длительность перелета на выдаче / длительность перелета) х 1.1
- Обновление цен – отвечает за включение/выключение механизма сохранения цен. По умолчанию признак выключен. Механизм обновления цен будет работать только для туров, у которых в настройках тура выбран признак «Применять комиссии, наценки и доплаты к услуге от внешнего поставщика». Более детальное описание механизма сохранения цен.
- Багаж – все, багаж и ручная кладь, без багажа. Значение по умолчанию – все. Возможен множественный выбор.
- Пересадки – все, без пересадок, 1 пересадка, 2 и более. Значение по умолчанию – без пересадок. Возможен множественный выбор.
Синхронизация
Для работы с внешними системами в папку \\TourPrograms\bin нужно добавить файл nemo_guide_etalon.s3db. Также файл nemo_guide_etalon.s3db нужно добавить в папку \\TourSearchOwin.
Синхронизация служит для сопоставления справочных данных из внешней системы со справочными данными, указанными в ПК Мастер-Тур. Для того, чтобы начать работу, нужно выбрать необходимые данные:
- В списке Поставщик выбираем интересующего поставщика (в списке отображаются названия поставщиков, созданные на вкладке внешние поставщики)
- В списке Справочник выбираем необходимый справочник
Слева отображаются справочные данные внешней системы. Справа отображаются справочные данные из ПК Мастер-Тур.
Данные, которые сопоставлены - подсвечены черным цветом. Не сопоставленные данные подсвечены красным цветом. Существует возможность фильтрации справочных данных по статусу (Сопоставлен или Не сопоставлен) и поиска по названию.
В блоке Сопоставленные данные отображаются сопоставленные данные по выбранным элементам в левой или/и правой частях. Отображаемые данные сортируются по алфавиту. Данные можно сопоставлять и удалять сопоставление:
- Если нужно удалить сопоставление, можно воспользоваться кнопкой Удалить после нажатия данные станут не сопоставленными и подсвечены красным цветом
- Если нужно данные сопоставить, то есть два варианта:
- Точечное сопоставление - т.е. нужно выбрать не сопоставленное значение (подсвеченное красным цветом) в левой части и аналогичное ему значение в правой части (или то значение, которое должно быть сопоставлено). После того как значения выбраны, станет активной кнопка Сопоставить. Нажимаем кнопку, данные станут сопоставленными и подсвечены черным цветом
- Автоматическое сопоставление - при нажатии кнопки Автоматическое сопоставление запускается процесс автоматического сопоставления справочников. Для авиаперелетов сопоставляются только следующие справочники:
- Страна (по названию)
- Город (по названию и стране)
- Авиакомпания (по коду)
- Тип самолета (по коду)
- Аэропорт (по стране и городу)
Работа в системе
После того, как создан внешний поставщик и данные из внешней системы синхронизированы с данными ПК "Мастер-Тур", нужно создать тур, в который будут добавлены услуги от внешнего поставщика. Рассмотрим на примере создания тура, в котором содержатся три услуги – Авиаперелет туда (этот авиаперелет будет подбираться из внешней системы), Отель/круиз, Авиаперелет обратно:
Создание услуг и внесение цены
1. Создаем услугу Авиаперелет от внешнего поставщика:
- Во вкладке Внешние поставщики создаем внешнего поставщика, например Nemo4 и у нас автоматически создается ценовой пакет, который называется Nemo4(внешняя система), поэтому в экране Выбор ценового пакета нужно выбрать именно этот ценовой пакет (т.е. услугу, подбираемую у внешнего поставщика, обязательно нужно заводить в ценовом пакете, созданном при создании внешнего поставщика).
- Затем выбираем тип услуги Авиаперелет. Страну/город вылета и страну/город прилета выбираем те, которые нас интересуют для подбора перелета. Причем перелет может быть как обычным, так и многоплечевым. При подборе перелета в поиске анализируются точка отправления и точка прибытия. Для нашего примера выберем следующие страны: Россия/Москва - Австрия/Вена (т.к. нас интересуют такие перелеты, которые будут отправляться из Москвы и прибывать в Вену).
- Создаем расписание – можно указывать любую авиакомпанию, рейс, аэропорт вылета/прилета, тип самолета и т.д. Внимание нужно обратить на время вылета и прилета, т.е. если перелет осуществляется в рамках одного дня, то внешние перелеты будут подбираться не выходя за границы дня (например, если в расписании указать время вылета 08:00, прилета 10:00, то в поиске будут подбираться рейсы, осуществляющиеся с 00:00 по 23:59 часов).
- Выбираем тариф – Экономический класс (можно выбрать любой, т.к. на подбор перелетов от внешнего поставщика он никак не влияет).
- Выбираем поставщика – выбираем именного внешнего поставщика. Он также появляется в БД "Партнеры" автоматически, при создании внешнего поставщика во вкладке Внешние поставщики. В нашем случае это поставщик Nemo4(внешняя система).
- Затем заводим цену стандартным способом в экране Цены на услугу.
2. Создаем услугу Отель/круиз стандартным способом в экране Цены на услугу (можно использовать любой ценовой пакет и поставщика).
Создание тура и внесение услуг в его состав
3. Создаем тур стандартным способом и вносим в него созданные услуги (из примера, услуги, созданные в п.1, 2, 3).
4. В итоге получаем тур для поиска, в котором Авиаперелет "туда" будет подбираться от внешнего поставщика (т.е. в подобранном перелете страна/город отправления и конечная страна/город прибытия будут соответствовать стране/городу отправления и конечной стране/городу прибытия, заведенным в услуге Авиаперелет от внешнего поставщика. Все остальные параметры услуги могут отличаться).
Обратите внимание, что при тестировании функционала нельзя вводить фейковые данные как в тестовых, так и в реальных бронях. За это авиакомпании и GDS назначают штрафы. Обратите внимание, что штрафы назначаются даже если бронирование с фейковыми данными делается на тестовом доступе. Фейковыми данными являются ФИО следующих типов: «test test» «А А» (из одной или двух букв) «1 1» (ФИО цифрами, или в ФИО будет цифра) «АААА1 АААА1» «ААА ВВВ»
При добавлении услуг в состав тура, ценовой пакет (с пометкой внешняя система) и внешний поставщик для выбора появятся только если есть заведенная цена.
Экран поиска авиабилетов до релиза 15.4 включительно
В шапке отображаются следующие данные:
- городе, стране вылета
- городе, стране прилета
- дате вылета
- дате прилета
- количестве взрослых/детей (в виде иконок)
- Обновить – при нажатии еще раз отправляется запрос во внешнюю систему с учетом отобранных фильтров
В фильтрах отображаются следующие данные:
- Багаж – по умолчанию выбрано значение Все. Доступные значения: Все, С багажом, Без багажа
- Класс авиаперелета – по умолчанию выбрано значение Эконом. Доступные значения: Все, Эконом, Бизнес, Первый
- Пересадки – по умолчанию значение Без пересадок. Доступные значения: Все, Без пересадок, 1 пересадка, 2 и более
- Результатов не более – по умолчанию выбрано значение 50. Доступные значения: Все, 50, 100, 500
- Время вылета – вылет/прилет туда и вылет/прилет обратно, разделенные на четыре диапазона
- Утро (06:00-12:00)
- День (12:00-18:00)
- Вечер (18:00-24:00)
- Ночь (00:00-06:00)
- Аэропорты/Авиакомпании
- Аэропорт вылета
- Аэропорт пересадки
- Аэропорт прилета
- Авиакомпании
В результатах отображаются следующие данные:
- Маршрут – город отправления (код аэропорта города отправления) –> город прибытия (код аэропорта города прибытия)
- Время вылета/прилета
- Рейс
- Класс
- Багаж
- Стоимость
Экран поиска авиабилетов, начиная с релиза 15.5
В шапке отображаются следующие данные:
- городе, стране вылета
- городе, стране прилета
- дате вылета
- дате возврата
- количестве взрослых/детей (в виде иконок)
- фильтр Класс перелета – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Эконом, Премиум-Эконом, Бизнес, Первый
- Найти – кнопка активна в том случае, если был изменен фильтр Класс перелета. При нажатии отправляется новый поисковый запрос во внешнюю систему и после получения результатов перезагружаются фильтры и результаты выдачи
В фильтрах отображаются следующие данные:
- Багаж – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Все, С багажом, Без багажа
- Пересадки – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Все, Без пересадок, 1 пересадка, 2 и более
- Время вылета/Время в пути – вылет/прилет туда и вылет/прилет обратно, разделенные на четыре диапазона
- Утро (06:00-12:00)
- День (12:00-18:00)
- Вечер (18:00-24:00)
- Ночь (00:00-06:00)
- Время в пути (туда) – диапазон времени в пути для прямых авиаперелетов
- Время в пути (обратно) – диапазон времени в пути для обратных авиаперелетов
- Аэропорты/Авиакомпании
- Аэропорт вылета
- Аэропорт пересадки
- Аэропорт прилета
- Авиакомпании
- Сортировка: – по умолчанию выбрано то, что задано в настройках адаптера. Доступные значения: Сначала дешевые, Сначала быстрые, Оптимальные.
- Сначала дешевые – сортировка по размеру доплаты от меньше к большей (значение по умолчанию)
- Сначала быстрые – сортировка по общей продолжительности авиаперелета туда от меньшей к большей
- Оптимальные – берется целиком вся поисковая выдача, считается среднее арифметическое от всех цен перелетов и среднее арифметическое от времени перелетов. На основе этих средний значений формируется рейтинг каждого отдельного перелета – чем цена перелета ниже относительно средней и чем короче время перелета относительного среднего времени среди всех перелетов – тем он оптимальнее.
Формула рейтинга для каждого перелета:
Рейтинг = (средняя цена на выдаче / цена перелета) х 0.9 + (средняя длительность перелета на выдаче / длительность перелета) х 1.1
В результатах отображаются следующие данные:
- Маршрут – город отправления (код аэропорта города отправления) –> город прибытия (код аэропорта города прибытия)
- Время вылета/прилета
- Рейс
- Класс
- Информация – информация о ручной клади, багаже и тайм-лимите
- Доплата/скидка за авиаперелет
Создание расписания для авиаперелетов из внешней системы
При бронировании путевки с авиаперелетом от внешнего поставщика, система будет создавать новую строку в справочнике Авиаперелеты с единичным расписанием одного перелета по путевке. Новая строка создаваться не будет, если в базе данных уже есть заведенное расписание, даты которого совпадают или включают в себя дату авиаперелета от внешнего поставщика, а также совпадает по времени вылета и прилета. Новое расписание создается без учета типа самолета (то есть, в том случае, если уже была создана строка с авиаперелетом, но с другим типом самолета, то не будет создаваться новая строка авиаперелета, а новая строка расписания будет добавлена к уже существующему авиаперелету).
Например, бронируем авиаперелет Москва - Вена с пересадкой в Варшаве.
Дальше можем наблюдать, что в справочнике Авиаперелеты по рейсу Москва - Варшава было создано новое расписание на дату перелета.
Однако по рейсу Варшава - Вена новая строка не была создана, поскольку в системе уже было заведено расписание, даты которого включают в себя и дату перелета, а также совпадающее по времени вылета и прилета.
Добавление услуги Авиаперелет в уже созданный тур
Возможен вариант добавление услуги Авиаперелет, заведенной от внешнего поставщика, в тур, где уже есть обычная услуга Авиаперелет. В таком случае перелет от внешнего поставщика нужно добавить в новую группу перелетов.
Настройка логирования
Для получения данных о работе внешнего поставщика используется логирование, настройки которого осуществляются в файле Megatec.TourSearchOwin.exe.config папки TourSearchOwin. Путь к папке лог-файлов прописывается в секции Loggers path. Включение логирования осуществляется в секции Logger level. Возможные значения: ALL или OFF.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Логирование | Разные настройки логирования отвечают за получение разной информации:
|
<Loggers path="Logs\">
<Logger level="ALL" name="GetFlightsRequestResponseLogger"/>
<Logger level="ALL" name="ActualizeFlightsRequestResponseLogger"/>
<Logger level="ALL" name="CreateFlightsReservationRequestResponseLogger"/>
<Logger level="ALL" name="GetFlightsDetailsLogger"/>
</Loggers>
|