Мастер-Тур(15):Программа туров. Внешние системы. TravelBox OTA API (Desert Adventures)

Материал из Megatec
Версия от 10:42, 21 февраля 2024; Aefremov (обсуждение | вклад) (Настройка логирования)
Перейти к: навигация, поиск

Версия статьи от 21-02-2024.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии
Доступна с релиза 15.4


Введение

Консолидатор услуг проживания TravelBox OTA API (Desert Adventures), предназначен для использования цен из внешней системы без занесения их в локальную базу данных.
Основное направление – ОАЭ.

Работа в экране «Внешние системы»

Страница Внешние системы (http://ip-адрес сервера/TourPrograms/ExternalSystems) представлена двумя вкладками:

  • Внешние поставщики - где происходит создание и редактирование пользователей системы;
  • Синхронизация - где осуществляется работа по сопоставлению данных из внешней системы.

Внешние поставщики

На вкладке Внешние поставщики представлен список поставщиков. Для каждого поставщика указан:

  • Название
  • Адаптер
  • Адрес API
  • Срок действия лицензии

Внешние поставщики

Любого поставщика можно отредактировать, выбрав по названию. Также можно добавить нового, нажав кнопку Добавить.

Новый поставщик

Список полей для заполнения ( * – обязательное):

  • Адаптер * – значение TravelBox (отели) выбирается из списка;
  • Название * – название поставщика;
  • API адрес * – предоставляемый TravelBox OTA API (Desert Adventures) адрес службы поиска внешней системы;
  • Логин * – предоставляемый TravelBox OTA API (Desert Adventures) логин, по которому будет происходить подключение к внешней системе;
  • Пароль * – предоставляемый TravelBox OTA API (Desert Adventures) пароль к логину, по которому будет происходить подключение к внешней системе.
  • ID клиента * - предоставляемый TravelBox OTA API (Desert Adventures) идентификационный номер клиента внутри внешней системы;
  • Код компании * - идентификатор компании во внешней системе. По умолчанию равен DA_UAE, однако может быть изменен, в этом случае необходимо уточнить значение у партнера;
  • Подразделение * - идентификатор подразделения компании во внешней системе. По умолчанию равен FIT_UAE, однако может быть изменен, в этом случае необходимо уточнить значение у партнера;
  • Отдел * - идентификатор отдела компании во внешней системе. По умолчанию равен FIT- Local, однако может быть изменен, в этом случае необходимо уточнить значение у партнера;
  • Код тур оператора * - предоставляемый TravelBox OTA API (Desert Adventures) под наименованием код туроператора внутри внешней системы;
  • Максимальное количество результатов * - максимальное количество результатов от поставщика за один запрос (если не указано, то максимально можем получить 200 результатов);
  • Макс. число городов прибытия в запросе - настройка ограничивает количество городов прибытия в запросе к внешнему поставщику;
  • Макс. число дат заездов в запросе - настройка ограничивает количество дат заездов услуги проживания в запросе к внешнему поставщику;
  • Макс. число продолжительностей - настройка ограничивает количество продолжительностей услуги проживания в запросе к внешнему поставщику.
  • Поиск номеров под запрос * - возможность поиска номеров под запрос. Включает в себя:
    • AvailRatesOnly - отображение цен только с наличием мест "Есть";
    • AllRates - отображение цен и с наличием мест "Есть", и с наличием мест "Запрос";
  • Время кэширования результатов поиска отелей в минутах *;
Для увеличения быстродействия поиска рекомендуемое значение 10 минут.
  • Разрешить сквозное бронирование для туристов – при включенной настройке при бронировании путевки частным лицом сразу осуществляется бронирование во внешней системе. При выключенной настройке при бронировании путевки частным лицом будет создана путевка только в ПК Мастер-Тур, при входе в путевку будет выведено предупреждение, что заявка создана без брони в системе внешнего поставщика. По умолчанию настройка включена.
    • Разрешить, если отмена без штрафов возможна в течение N дней с момента бронирования – количество дней можно задавать только при включенной настройке Разрешить сквозное бронирование для туристов. При выполнении условия при бронировании путевки частным лицом сразу осуществляется бронирование во внешней системе. При невыполнении условия при бронировании путевки частным лицом будет создана путевка только в ПК Мастер-Тур, при входе в путевку будет выведено предупреждение, что заявка создана без брони в системе внешнего поставщика.
  • Разрешить сквозное бронирование для агентов – при включенной настройке при бронировании путевки агентом сразу осуществляется бронирование во внешней системе. При выключенной настройке при бронировании путевки агентом будет создана путевка только в ПК Мастер-Тур, при входе в путевку будет выведено предупреждение, что заявка создана без брони в системе внешнего поставщика. По умолчанию настройка включена.
    • Разрешить, если отмена без штрафов возможна в течение N дней с момента бронирования – количество дней можно задавать только при включенной настройке Разрешить сквозное бронирование для агентов. При выполнении условия при бронировании путевки агентом сразу осуществляется бронирование во внешней системе. При невыполнении условия при бронировании путевки агентом будет создана путевка только в ПК Мастер-Тур, при входе в путевку будет выведено предупреждение, что заявка создана без брони в системе внешнего поставщика.
  • Дополнительные условия: при невыполнении условия отмены без штрафов, для бронирования достаточно выполнение одного из дополнительных условий ниже. При выполнении условия отмены без штрафов, дополнительные условия игнорируются.
    • Разрешить, если у агента установлен признак – признак задается в справочнике партнера. При наличии данного признака у агента при бронировании путевки сразу осуществляется бронирование во внешней системе. При отсутствии данного признака у агента при бронировании путевки будет создана путевка только в ПК Мастер-Тур, при входе в путевку будет выведено предупреждение, что заявка создана без брони в системе внешнего поставщика.
    • Разрешить при наличии остатка депозита у агента не менее N% от стоимости услуги, бронируемой во внешней системе – если используется данная настройка, то у агента должен быть заведен депозит. При выполнении условия при бронировании путевки агентом сразу осуществляется бронирование во внешней системе. При невыполнении условия при бронировании путевки агентом будет создана путевка только в ПК Мастер-Тур, при входе в путевку будет выведено предупреждение, что заявка создана без брони в системе внешнего поставщика.

Подключение к API адресу TravelBox OTA API (Desert Adventures) можно проверить по нажатию на кнопку Проверить подключение. Система производит пробное подключение к API и проверяет его доступность.

При сохранении внешнего поставщика TravelBox OTA API (Desert Adventures) в БД автоматически создается ценовой пакет и поставщик с названием, 
которое было введено при создании поставщика, в скобках указывается "внешняя система". Это необходимо для того, 
чтобы  была возможность внести стоимость услуги, по которой будет работать поиск (при условии, что разрешается 
только бронирование услуги из внешней системы).


Дополнительная информация


Для работы поиска по Desert Adventures у страны агента, пользователь которого авторизовался в поиске, или у страны туроператора, сотрудник которого авторизовался в поиске или программе туров, должен быть записан двух-буквенный ISO код в справочнике стран в Мастер-Тур.



Получение и внесение данных от внешней системы

Внешняя система TravelBox OTA API (Desert Adventures) предоставляет данные в следующем виде:

  • UserName: datest - логин пользователя;
  • Password: test@567 - пароль пользователя;
  • RequestorID: 10123 - код туроператора;
  • ERSP_UserID: 15678 - ID клиента.

Также внешняя система предоставляет адреса службы защиты и бронирования в следующем виде: https://online.desertadventures.com/ota/OTASecurity_v66/V66 и https://online.desertadventures.com/ota/OTABookingService_v66/V66. Однако для корректной работы адаптера в поле API адрес следует заносить следующую ссылку: https://online.desertadventures.com/ota/.

Синхронизация

Синхронизация служит для сопоставления справочных данных из TravelBox OTA API (Desert Adventures) со справочными данными, указанными в ПК Мастер-Тур. Для того, чтобы начать работу, нужно выбрать необходимые данные:

  • В списке Поставщик выбираем интересующего поставщика (в списке отображаются названия поставщиков, созданные на вкладке Внешние поставщики);
  • В списке Справочник выбираем необходимый справочник.

Новый поставщик

Слева отображаются справочные данные TravelBox OTA API (Desert Adventures). Справа отображаются справочные данные из ПК Мастер-Тур.
Данные, которые сопоставлены - подсвечены черным цветом. Не сопоставленные данные подсвечены красным цветом. Существует возможность фильтрации справочных данных по статусу ("Сопоставлен" или "Не сопоставлен") и поиска по названию.
В блоке Сопоставленные данные отображаются сопоставленные данные по выбранным элементам в левой или/и правой частях. Отображаемые данные сортируются по алфавиту. Данные можно сопоставлять и удалять сопоставление:

  • Если нужно удалить сопоставление, можно воспользоваться кнопкой Удалить после нажатия данные станут не сопоставленными и подсвечены красным цветом. Если есть связанные сопоставления с удаляемой записью (к примеру, Страна->Город), то связанные сопоставления также будут удалены;
  • Если нужно данные сопоставить, то есть два варианта:
    • Точечное сопоставление - т.е. нужно выбрать не сопоставленное значение (подсвеченное красным цветом) в левой части и аналогичное ему значение в правой части (или то значение, которое должно быть сопоставлено). После того как значения выбраны, станет активной кнопка Сопоставить. Нажимаем кнопку, данные станут сопоставленными и подсвечены черным цветом;
    • Автоматическое сопоставление (* – обязательное) - при нажатии кнопки Автоматическое сопоставление запускается процесс автоматического сопоставления справочников. Для TravelBox OTA API (Desert Adventures) сопоставляются только следующие справочники:
      • Страны (по названию) * – обязательное сопоставление;
      • Города (по названию и стране) * – обязательное сопоставление. Данные этого справочника отображаются только после выбора страны;
      • Валюты (по коду) * – обязательное сопоставление;
      • Статусы услуг (по коду) * – обязательное сопоставление;
      • Наличие мест (по коду) * – обязательное сопоставление;
      • Отели (по названию, городу и стране)* – обязательное сопоставление;
      • Курорты (по названию и стране);
      • Типы питания (по коду);
      • Типы номеров (по коду);
      • Типы размещений (по коду) - данные этого справочника отображаются только после того, как в поиске вариантов программ туров было найдено соответствующее размещение;
      • Категории отелей (по коду) - данные этого справочника отображаются только после того, как в поиске вариантов программ туров была найдено соответствующая категория; Внимание! После того как выполнена привязка отеля из внешней системы к отелю из Мастер-Тура, но не выполнена привязка категорий отелей, то категория отеля подгружается из карточки отеля из справочника "Отели".
      • Категории номеров (по коду) - - данные этого справочника отображаются только после того, как в поиске вариантов программ туров был найден соответствующий номер.

Работа в системе

После того, как создан внешний поставщик и данные из TravelBox OTA API (Desert Adventures) синхронизированы с данными ПК "Мастер-Тур", нужно создать тур, в который будут добавлены услуги от внешнего поставщика. Рассмотрим на примере создания тура, в котором содержится услуга - Отель/круиз.

Создание услуги проживания и нового тура

Создаем услугу Отель/Круиз от внешнего поставщика:

  • Во вкладке Внешние поставщики создаем удаленного поставщика, например Desert и у нас автоматически создается ценовой пакет, который называется Desert(внешняя система), поэтому в экране Выбор ценового пакета нужно выбрать именно этот ценовой пакет (т.е. услугу, подбираемую у внешнего поставщика, обязательно нужно заводить в ценовом пакете, созданном при создании внешнего поставщика).
  • Выбираем поставщика - выбираем именного внешнего поставщика. Он так же появляется в БД "Партнеры" автоматически, при создании внешнего поставщика во вкладке Внешние поставщики. В нашем случае это поставщик Desert(внешняя система).
  • Затем выбираем тип услуги Отель/Круиз. Страну и город проживания выбираем те, которые нас интересуют для подбора отеля или круиза. Для нашего примера выберем страну ОАЭ и город Дубай.
  • При необходимости у пользователя есть возможности занести собственные цены на отели из внешней системы в экране Цены на отели ПК "Мастер-Тур".

Добавление услуги проживания от внешнего поставщика

Пример тура с услугой от внешнего поставщика

Поиск тура с отелем из внешней системы

  • В итоге получаем тур для поиска, в котором услуга Отель\Круиз будет подбираться от удаленного поставщика (т.е. в подобранном проживании страна и город будут соответствовать стране и городу проживания, заведенным в услуге Отель/Круиз от удаленного поставщика. Все остальные параметры услуги могут отличаться).

Пример тура в поиске

  • При нажатии на цену, пользователь переходит в экран "Корзина", где может оформить бронирование тура с отелем из внешней системы TravelBox OTA API (Desert Adventures). При этом будет указан размер штрафа, выплачиваемый за аннуляцию путевки до указанной даты.

Бронирование тура в корзине

  • После бронирования пользователь переходит в экран Информация о заказе, где может увидеть всю информацию по своей путевке, включая сумму штрафа за аннуляцию.

Информация о заказе

Расчет скидок, наценок и доплат

Пользователь может завести наценку или доплату на тур с проживанием из внешней системы. По умолчанию все цены из TravelBox OTA API (Desert Adventures) считаются комиссионными, поэтому на них действуют скидка покупателю при наличии комиссии партнера, однако стоит учитывать, что рассчитывается комиссия только для тех цен из внешней системы TravelBox OTA API (Desert Adventures), к которым применены наценки.

Наценка на услугу проживания от внешнего поставщика

В случае использования доплат скидка покупателю при наличии комиссии партнера рассчитывается только с тех доплат, у которых установлен признак «‎с доплаты дается комиссия».

Доплата на услугу проживания от внешнего поставщика

Общий алгоритм применения для разных вариантов скидок, наценок и доплат при их наличии таков:

  • Получение цены из TravelBox OTA API (Desert Adventures) -> начисление комиссионной доплаты -> начисление комиссионной наценки на цену и доплату -> вычитание скидки по комиссии партнера с цены, наценки и доплаты;
  • Получение цены из TravelBox OTA API (Desert Adventures) -> начисление некомиссионной доплаты -> начисление некомиссионной наценки на цену и доплату -> вычитание скидки по комиссии партнера с цены;
  • Получение цены из TravelBox OTA API (Desert Adventures) -> начисление некомиссионной доплаты -> начисление комиссионной наценки на цену -> вычитание скидки по комиссии партнера с цены и наценки;
  • Получение цены из TravelBox OTA API (Desert Adventures) -> начисление комиссионной доплаты -> начисление некомиссионной наценки на цену -> вычитание скидки по комиссии партнера с цены и доплаты.

Доплаты от внешнего поставщика

Помимо доплат, заведенных в Мастер-Туре, в TravelBox OTA API (Desert Adventures) у некоторых цен также имеются доплаты, приходящие от внешнего поставщика при поиске. Доплаты могут быть обязательными и необязательными. Стоимость обязательной доплаты сразу учтена в стоимости проживания в поиске и в корзине, данные об этой дополнительной услуге отображаются в информации о заказе.

Доплата на услугу проживания, полученная от внешнего поставщика

Если доплата необязательная, то она не включена в стоимость тура в поиске, и доступна в качестве опции на выбор в корзине с указанием её цены. Если путевка оформляется на двух и более клиентов, то необязательная доплата при её выборе автоматически добавляется ко всем туристам в корзине.

Выбор необязательной доплаты на услугу проживания, полученной от внешнего поставщика

После бронирования путевки с доплатой от внешнего поставщика в справочнике Классы услуг для услуги Доплаты к отелям создаётся новый класс с названием доплаты от внешнего поставщика, если до этого такого класса не было.

Механизм поиска

Если в поиске заданы все города, все отели, то сначала проверяется состав тура и:

  • В случае если в туре выбраны конкретные отели, то через таблицу мапингов находятся коды выбранных отелей и они отправляются.
  • Если в туре выбраны все отели в пакете, то через таблицу мапингов находятся коды всех сопоставленных отелей и они отправляются.

Если в поиске заданы конкретные города и все отели, то сначала проверяется состав тура и:

  • Если в туре выбраны конкретные отели, то через таблицу мапингов находятся коды выбранных отелей и они отправляются.
  • Если в туре выбраны все отели в пакете, то через таблицу мапингов находятся коды всех сопоставленных отелей выбранного тв фильтре города и они отправляются.

Настройка логирования

Для получения данных о работе адаптера внешнего поставщика используется логирование, настройки которого осуществляются в файле Megatec.TourSearchOwin.exe.config папки TourSearchOwin. Путь к папке лог-файлов прописывается в секции Loggers path. Включение логирования осуществляется в секции Logger level. Возможные значения: ALL или OFF.

Название Описание Настройка
1 Логирование Разные настройки логирования отвечают за получение разной информации:
  • HotelFromRemoteProviderMappingsLogger - включает получение информации о результатах и ошибках синхронизации
  • HotelFromRemoteProviderMappingsAddLogger – включает получение информации о создании справочных данных и их синхронизации при бронировании
  • HotelFromRemoteProviderErrorLogger - включает получение информации об ошибках, возникающих при работе с внешним поставщиком
  • HotelsRemoteProviderRequestResponseLogger - включает получение информации об актуализации данных и бронировании туров
  • SearchHotelsRemoteProviderRequestResponseLogger - включает получение информации о поисковых запросах туров
  • TravelBoxRequestResponseLogger - включает получение информации о штрафах
  <Loggers path="Logs\">
    <Logger level="ALL" name="HotelFromRemoteProviderMappingsLogger"/>
    <Logger level="ALL" name="HotelFromRemoteProviderMappingsAddLogger"/>
    <Logger level="ALL" name="HotelFromRemoteProviderErrorLogger"/>
    <Logger level="ALL" name="HotelsRemoteProviderRequestResponseLogger"/>
    <Logger level="ALL" name="SearchHotelsRemoteProviderRequestResponseLogger"/>
    <Logger level="ALL" name="TravelBoxRequestResponseLogger"/>
  </Loggers>