Web-сервисы: Сервис поиска и бронирования авиабилетов — различия между версиями
[непроверенная версия] | [непроверенная версия] |
м (→Подключение к базе данных ПК «Мастер-Тур») |
(→Работа в системе) |
||
Строка 126: | Строка 126: | ||
Метод возвращает результат своей работы в виде элементов массива '''DateTime[]'''. | Метод возвращает результат своей работы в виде элементов массива '''DateTime[]'''. | ||
* '''dateTime''' - дата обратного перелёта. | * '''dateTime''' - дата обратного перелёта. | ||
+ | |||
+ | ===Метод «GetFlightTransferCities»=== | ||
+ | Метод возвращает список мест прибытия трансфера, до которых возможен трансфер из указанного города или страны прилёта. | ||
+ | ====Сигнатура метода==== | ||
+ | <code>public string[] GetFlightTransferCities(string token, int cityToKey, int countryToKey, int cityFromKey, int countryFromKey, bool oneWay)</code> | ||
+ | ====Описание принимаемых методом параметров==== | ||
+ | * '''token''' - идентификатор аутентификации; | ||
+ | * '''cityToKey''' - город прилёта; | ||
+ | * '''countryToKey''' - страна прилёта; | ||
+ | * '''cityFromKey''' - город вылета; | ||
+ | * '''countryFromKey''' - страна вылета; | ||
+ | * '''oneWay''' - признак того, что перелет в одну сторону. | ||
+ | ====Возвращаемые значения==== | ||
+ | Метод возвращает результат своей работы в виде элементов массива '''string[]'''. | ||
+ | * '''String''' - название места прибытия трансфера. | ||
===Метод «GetDepartureCities»=== | ===Метод «GetDepartureCities»=== | ||
Строка 171: | Строка 186: | ||
* '''AirportToCode''' - код аэропорта прилёта; | * '''AirportToCode''' - код аэропорта прилёта; | ||
* '''CharterBackClass''' - класс перелёта(обратный рейс); | * '''CharterBackClass''' - класс перелёта(обратный рейс); | ||
+ | * '''CharterBackClassKey''' - ключ класса перелёта(обратный рейс); | ||
+ | * '''CharterBackKey''' – ключ чартера перелёта (обратный рейс); | ||
+ | * '''CharterBackPartnerKey''' – ключ партнера перелёта(обратный рейс); | ||
* '''CharterBackNumber''' - номер рейса(обратный рейс); | * '''CharterBackNumber''' - номер рейса(обратный рейс); | ||
* '''CharterBackQuote''' - код квоты (обратный рейс). Возвращает следующие значения: | * '''CharterBackQuote''' - код квоты (обратный рейс). Возвращает следующие значения: | ||
− | + | **Yes = 1, | |
− | + | **No = 2, | |
− | + | **Request = 4, | |
− | + | **None = 0, | |
− | + | **AFew = 3, | |
− | + | **OnlyAgent = 6, | |
− | + | **NoFlight = 5, | |
− | + | **All = 7, | |
− | + | **NotChecked = 10 | |
* '''CharterBackTime''' - время рейса(обратный рейс); | * '''CharterBackTime''' - время рейса(обратный рейс); | ||
* '''CharterClass''' - класс перелёта(прямой рейс); | * '''CharterClass''' - класс перелёта(прямой рейс); | ||
+ | * '''CharterClassKey''' - ключ класса перелёта(прямой рейс); | ||
+ | * '''CharterKey''' – ключ чартера перелета(прямой рейс); | ||
+ | * '''CharterPartnerKey''' – ключ партнера перелета(прямой рейс); | ||
* '''CharterNumber''' - номер рейса(прямой рейс); | * '''CharterNumber''' - номер рейса(прямой рейс); | ||
* '''CharterTime''' - время рейса(прямой рейс); | * '''CharterTime''' - время рейса(прямой рейс); | ||
Строка 196: | Строка 217: | ||
* '''CountryToCode''' - код страны прилёта; | * '''CountryToCode''' - код страны прилёта; | ||
* '''CountryToName''' - название страны прилёта; | * '''CountryToName''' - название страны прилёта; | ||
− | * '''DateBack''' - дата обратного перелёта; | + | * '''DateBack''' - дата обратного перелёта (строго в формате dd.mm.yyyy); |
− | * '''DateTo''' - дата прямого перелёта; | + | * '''DateTo''' - дата прямого перелёта (строго в формате dd.mm.yyyy); |
* '''Rate''' - код валюты; | * '''Rate''' - код валюты; | ||
− | * '''Url''' - ссылка на бронирование. | + | * '''Url''' - ссылка на бронирование; |
+ | * '''Transfers''' - ключи трансферов в туре. | ||
===Метод «GetStraightFlightDates»=== | ===Метод «GetStraightFlightDates»=== | ||
Строка 211: | Строка 233: | ||
* '''CityFromKey''' - ключ города вылета; | * '''CityFromKey''' - ключ города вылета; | ||
* '''CountryFromKey''' - ключ страны вылета. | * '''CountryFromKey''' - ключ страны вылета. | ||
− | |||
====Возвращаемые значения==== | ====Возвращаемые значения==== | ||
Метод возвращает результат своей работы в виде элементов массива '''DateTime[]'''. | Метод возвращает результат своей работы в виде элементов массива '''DateTime[]'''. | ||
* '''dateTime''' - дата прямого перелёта. | * '''dateTime''' - дата прямого перелёта. | ||
+ | |||
+ | ===Метод «CreateReservation»=== | ||
+ | Метод осуществляет бронирование тура. | ||
+ | ====Сигнатура метода==== | ||
+ | <code>public ReservationResult CreateReservation(string token, FlightTour flightTour, List<Tourist> tourists, ReservationParameters parameters)</code> | ||
+ | ====Описание принимаемых методом параметров==== | ||
+ | * '''token''' - идентификатор аутентификации; | ||
+ | Метод принимает значения элемента массива '''FlightTour[]''', который возвращает метод [[Мастер-Web:Дополнительный_модуль_Сервис_поиска_авиабилетов#Метод «GetFlights»|'''GetFlights''']], а также значения элемента(ов) массива Tourists: | ||
+ | * '''tourists''' - количество туристов (Пример: length=1 - 1 турист); | ||
+ | * '''IsMain''' - главный турист. Возможные значения: | ||
+ | ** True - главный турист; | ||
+ | ** False - не главный турист; | ||
+ | * '''FirstName''' - имя туриста; | ||
+ | * '''LastName'''- фамилия туриста | ||
+ | * '''SecondName''' - отчество туриста | ||
+ | * '''BirthDate''' - дата рождения | ||
+ | * '''PassportSeries''' - серия паспорта | ||
+ | * '''PassportNumber''' - номер паспорта | ||
+ | * '''PassportIssuedBy''' - кем выдан паспорт | ||
+ | * '''PassportIssueDate''' - дата выдачи паспорта | ||
+ | * '''PassportEndDate''' - дата окончания действия паспорта | ||
+ | * '''Sex''' - пол туриста. Возможные значения: | ||
+ | ** Male - мужской; | ||
+ | ** Female - женский. | ||
+ | * '''AgeType''' - тип возраста туриста. Возможные значения: | ||
+ | ** Adult - взрослый; | ||
+ | ** Child - ребёнок; | ||
+ | ** Infant - младенец. | ||
+ | * '''PassportType''' - тип паспорта туриста. Возможные значения: | ||
+ | ** International - загран. паспорт; | ||
+ | ** National - общегражданский паспорт. | ||
+ | Параметры бронирования путёвки: | ||
+ | * '''PartnerKey''' - ключ партнера к которому будет привязана путевка; | ||
+ | * '''DupUserKey''' - ключ представителя партнера; | ||
+ | * '''MainMenAddress''' - адрес главного туриста по путевке; | ||
+ | * '''MainMenComment''' - комментарий к главному туристу по путёвке; | ||
+ | * '''MainMenEmail''' - электронная почта главного туриста по путёвке; | ||
+ | * '''MainMenFullName''' - ФИО главного туриста по путёвке; | ||
+ | * '''MainMenPassport''' - паспортные данные главного туриста по путёвке; | ||
+ | * '''MainMenPhone''' - контактный номер главного туриста по путёвке; | ||
+ | * '''IsCalculateOnly''' - возможные значения: | ||
+ | ** True - произвести только расчёт путёвки; | ||
+ | ** False - рассчитать и забронировать путёвку. | ||
+ | |||
+ | ====Возвращаемые значения==== | ||
+ | * '''Brutto''' - стоимость путевки; | ||
+ | * '''DiscountPercent''' - процент скидки; | ||
+ | * '''DiscountSum''' - сумма скидки; | ||
+ | * '''Rate''' - валюта путевки; | ||
+ | * '''DogovorCode''' - код созданной путевки; | ||
+ | * '''ErrorCode''' - код ошибки; | ||
+ | * '''ErrorMessage''' - текст ошибки. | ||
+ | |||
+ | Корректность результата проверяется значением поля ''ErrorCode'' и ''ErrorMessage'': | ||
+ | * 0 – нет ошибок; | ||
+ | * 50 – нет туристов; | ||
+ | * 51 – некорректная дата рождения туриста; | ||
+ | * 52 – указана пустая или слишком длинная фамилия туриста; | ||
+ | * 53 – указано пустое или слишком длинное имя туриста; | ||
+ | * 54 – указано слишком длинное отчество туриста; | ||
+ | * 55 – некорректная дата выдачи паспорта; | ||
+ | * 56 – некорректная дата окончания срока действия паспорта; | ||
+ | * 57 – некорректная серия паспорта (слишком длинная); | ||
+ | * 58 – Некорректный номер паспорта (слишком длинный); | ||
+ | * 100 – не указана дата начала тура; | ||
+ | * 200 – не найден тур для чартеров; | ||
+ | * 300 – не найдены цены для чартеров; | ||
+ | * 400 – отсутствуют квот для чартеров; | ||
+ | * 500 – невозможно произвести бронирование; | ||
+ | * 600 – неизвестная ошибка, подробности в логе; | ||
+ | * 700 – ошибка отправки почты, путёвка создана. |
Версия 16:34, 12 мая 2016
Данный модуль не поддерживается.
Версия статьи от 12-05-2016.
Содержание
Введение
Данный модуль предназначен для поиска и подбора данных по рейсам, проверки их стоимости и наличия мест.
Установка
Для установки Сервиса поиска авиабилетов нужно создать отдельную директорию, например, wsaviasearch (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-aviasearch-2009.2.XX.XXXX.zip.
В управлении IIS необходимо создать виртуальный каталог для папки wsAviaSearch.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).
2. Запустить Internet Information Services (IIS) Manager.
3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config, расположенном в папке wsAviaSearch, в которую установлен web-сервис «Сервис поиска авиабилетов», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
После установки «Сервис поиска авиабилетов» доступен по адресу: http://ip-адрес сервера Мастер-Веб/wsAviaSearch/TicketSerachService.asmx.
Подготовка данных
Выставление туров в интернет
Требования по подготовке данных в ПК «Мастер-тур»
В целях избежания ошибок в процессе бронирования предварительно должны быть корректно заполнены соответствующие справочники в ПК «Мастер-Тур».
Справочник в ПК «Мастер-Тур» | Вносимые данные | Примечание |
---|---|---|
Авиаперелеты | Расписание авиарейсов | Необходимо для подбора авиаперелетов при выборе направления |
Трансферы | Город, к которому привязан трансфер; место отправки и прибытия |
Пример: трансфер Анталья - Сиде должен быть привязан к городу Анталья, трансфер Сиде-Анталья должен быть привязан к городу Сиде. Место отправки и прибытия – это текстовые поля. Их заполнение необходимо для правильного отображения курортов при выборе трансферов. |
Выставление туров в систему on-line бронирования
Формирование тура в ПК «Мастер-Тур»
- В конструкторе туров отдельно создаются туры для перелетов в оба конца и для перелетов только в один конец.
- Услуги, входящие в туры, привязаны к отдельному пакету.
- У тура проставлены даты заезда.
- Трансферы заводятся в этих же турах. Без перелета трансфер забронировать нельзя.
- Обратный перелет заводится на любой день кроме первого дня тура.
- Услуги, входящие в туры, привязаны к отдельному пакету.
- Заведены цены на услуги.
Выставление тура в Интернет в ПК «Мастер-Web»
В ПК «Мастер-Web» существует возможность выставления для продажи необсчитанных туров в системе online-бронирования авиабилетов. Делается это в Системе администрирования ПК «Мастер-Web» (http://ip-адрес сервера Мастер-Веб/MasterWebStandard/Admin
).
Войти в систему администрирования можно под именем (логином) и паролем пользователя ПК Мастер-Тур, если это не ограничено настройками системы (см. инструкции по установке и настройке ПК «Мастер-Web»). Выберите раздел Выставить тур в Интернет. В загрузившемся экране с помощью фильтра найдите нужный тур и нажмите на ссылку Изменить слева от названия тура в ПК Мастер-Тур. Загрузится экран Тур для выставления тура в Интернет.
В данном экране необходимо поставить галку «Разрешить бронирование без пароля», а затем сохранить изменения, после чего тур попадет в систему бронирования авиабилетов. (Галка появляется при добавлении настройки anonymousUserKey в файле web.config Cистемы администрирования.)
По каждому направлению «Город вылета-Страна-Город прилета» может быть не более 3х туров, выставленных для надстройки «Бронирование авиабилетов». Из этих трех туров только один тур может быть «Туда-Обратно», только один «Только туда» и только один «Рейс только обратно».
Работа в системе
Сервис принимает токен авторизации. Токен можно получить через сервис авторизации.
Метод «GetArrivalCities»
Метод возвращает все города/аэропорты прибытия для заданного города или страны вылета.
Сигнатура метода
public AirportInfo[] GetArrivalCities(string token, int cityFromKey, int countryFromKey)
Описание принимаемых методом параметров
- token - идентификатор аутентификации;
- cityFromKey - город вылета;
- countryFromKey - страна вылета.
Возвращаемые значения
Метод возвращает результат своей работы в виде элементов массива AirportInfo[].
- CountryKey - ключ страны прилета;
- CountryCode - код страны прилета;
- CountryName - название страны;
- CityKey - ключ города прилёта;
- CityCode - код города прилёта;
- CityName - название города прилёта;
- AirportCode - код аэропорта прилёта;
- AirportName - название аэропорта.
Метод «GetBackFlightDates»
Метод возвращает даты обратных перелётов.
Сигнатура метода
public DateTime[] GetBackFlightDates(string token, int cityToKey, int countryToKey, int cityFromKey, int countryFromKey, DateTime tourDate)
Описание принимаемых методом параметров
- token - идентификатор аутентификации;
- cityToKey - город прилёта;
- countryToKey - страна прилёта;
- cityFromKey - город вылета;
- countryFromKey - страна вылета;
- tourDate - дата вылета.
Возвращаемые значения
Метод возвращает результат своей работы в виде элементов массива DateTime[].
- dateTime - дата обратного перелёта.
Метод «GetFlightTransferCities»
Метод возвращает список мест прибытия трансфера, до которых возможен трансфер из указанного города или страны прилёта.
Сигнатура метода
public string[] GetFlightTransferCities(string token, int cityToKey, int countryToKey, int cityFromKey, int countryFromKey, bool oneWay)
Описание принимаемых методом параметров
- token - идентификатор аутентификации;
- cityToKey - город прилёта;
- countryToKey - страна прилёта;
- cityFromKey - город вылета;
- countryFromKey - страна вылета;
- oneWay - признак того, что перелет в одну сторону.
Возвращаемые значения
Метод возвращает результат своей работы в виде элементов массива string[].
- String - название места прибытия трансфера.
Метод «GetDepartureCities»
Метод возвращает все возможные города/аэропорты вылета.
Сигнатура метода
public AirportInfo[] GetDepartureCities(string token)
Описание принимаемых методом параметров
- token - идентификатор аутентификации.
Возвращаемые значения
Метод возвращает результат своей работы в виде элементов массива AirportInfo[].
- CountryKey - ключ страны прилёта;
- CountryCode - код страны прилёта;
- CountryName - название страны прилёта;
- CityKey - ключ города прилёта;
- CityCode - код города прилёта;
- CityName - название города прилёта;
- AirportCode - код аэропорта прилёта;
- AirportName - название аэропорта прилёта.
Метод «GetFlights»
Метод возвращает перелёты по заданным параметрам.
Сигнатура метода
public FlightTour[] GetFlights(string token, FlightSearchFilter searchFilter)
Описание принимаемых методом параметров
- token - идентификатор аутентификации;
- CountryToKey - ключ страны прилёта;
- CountryFromKey - ключ страны вылета;
- CityFromKey - ключ города вылета;
- CityToKey - ключ города прилёта;
- TourDate - дата вылета;
- DateBack - дата прилёта;
- AgentKey - ключ партнёра, для которого будут искаться перелёты;
- RateISOCode - ISO-код валюты;
- CharterClass - код класса перелёта;
- TransferTo - трансфер.
Возвращаемые значения
Метод возвращает результат своей работы в виде элементов массива FlightTour[].
- AirlineBackCode - код авиакомпании (обратный рейс);
- AirlineBackKey - ключ авиакомпании (обратный рейс);
- AirlineBackName - название авиакомпании (обратный рейс);
- AirlineCode - код авиакомпании(прямой рейс);
- AirlineKey - ключ авиакомпании(прямой рейс);
- AirlineName - название авиакомпании(прямой рейс);
- AirportFromCode - код аэропорта вылета;
- AirportToCode - код аэропорта прилёта;
- CharterBackClass - класс перелёта(обратный рейс);
- CharterBackClassKey - ключ класса перелёта(обратный рейс);
- CharterBackKey – ключ чартера перелёта (обратный рейс);
- CharterBackPartnerKey – ключ партнера перелёта(обратный рейс);
- CharterBackNumber - номер рейса(обратный рейс);
- CharterBackQuote - код квоты (обратный рейс). Возвращает следующие значения:
- Yes = 1,
- No = 2,
- Request = 4,
- None = 0,
- AFew = 3,
- OnlyAgent = 6,
- NoFlight = 5,
- All = 7,
- NotChecked = 10
- CharterBackTime - время рейса(обратный рейс);
- CharterClass - класс перелёта(прямой рейс);
- CharterClassKey - ключ класса перелёта(прямой рейс);
- CharterKey – ключ чартера перелета(прямой рейс);
- CharterPartnerKey – ключ партнера перелета(прямой рейс);
- CharterNumber - номер рейса(прямой рейс);
- CharterTime - время рейса(прямой рейс);
- CharterToQuote - код квоты прямого перелёта. Возвращает те же значения, что и charterBackQuote.
- CityFromCode - код города вылета;
- CityFromName - название города вылета;
- CityToCode - код города прилёта;
- CityToName - название города прилёта;
- Cost - цена(может быть дробной);
- CountryFromCode - код страны вылета;
- CountryFromName - название страны вылета;
- CountryToCode - код страны прилёта;
- CountryToName - название страны прилёта;
- DateBack - дата обратного перелёта (строго в формате dd.mm.yyyy);
- DateTo - дата прямого перелёта (строго в формате dd.mm.yyyy);
- Rate - код валюты;
- Url - ссылка на бронирование;
- Transfers - ключи трансферов в туре.
Метод «GetStraightFlightDates»
Метод возвращает даты прямых перелётов.
Сигнатура метода
public DateTime[] GetStraightFlightDates(string token, int cityToKey, int countryToKey, int cityFromKey, int countryFromKey)
Описание принимаемых методом параметров
- token - идентификатор аутентификации;
- CityToKey - ключ города прилёта;
- CountryToKey - ключ страны прилёта;
- CityFromKey - ключ города вылета;
- CountryFromKey - ключ страны вылета.
Возвращаемые значения
Метод возвращает результат своей работы в виде элементов массива DateTime[].
- dateTime - дата прямого перелёта.
Метод «CreateReservation»
Метод осуществляет бронирование тура.
Сигнатура метода
public ReservationResult CreateReservation(string token, FlightTour flightTour, List<Tourist> tourists, ReservationParameters parameters)
Описание принимаемых методом параметров
- token - идентификатор аутентификации;
Метод принимает значения элемента массива FlightTour[], который возвращает метод GetFlights, а также значения элемента(ов) массива Tourists:
- tourists - количество туристов (Пример: length=1 - 1 турист);
- IsMain - главный турист. Возможные значения:
- True - главный турист;
- False - не главный турист;
- FirstName - имя туриста;
- LastName- фамилия туриста
- SecondName - отчество туриста
- BirthDate - дата рождения
- PassportSeries - серия паспорта
- PassportNumber - номер паспорта
- PassportIssuedBy - кем выдан паспорт
- PassportIssueDate - дата выдачи паспорта
- PassportEndDate - дата окончания действия паспорта
- Sex - пол туриста. Возможные значения:
- Male - мужской;
- Female - женский.
- AgeType - тип возраста туриста. Возможные значения:
- Adult - взрослый;
- Child - ребёнок;
- Infant - младенец.
- PassportType - тип паспорта туриста. Возможные значения:
- International - загран. паспорт;
- National - общегражданский паспорт.
Параметры бронирования путёвки:
- PartnerKey - ключ партнера к которому будет привязана путевка;
- DupUserKey - ключ представителя партнера;
- MainMenAddress - адрес главного туриста по путевке;
- MainMenComment - комментарий к главному туристу по путёвке;
- MainMenEmail - электронная почта главного туриста по путёвке;
- MainMenFullName - ФИО главного туриста по путёвке;
- MainMenPassport - паспортные данные главного туриста по путёвке;
- MainMenPhone - контактный номер главного туриста по путёвке;
- IsCalculateOnly - возможные значения:
- True - произвести только расчёт путёвки;
- False - рассчитать и забронировать путёвку.
Возвращаемые значения
- Brutto - стоимость путевки;
- DiscountPercent - процент скидки;
- DiscountSum - сумма скидки;
- Rate - валюта путевки;
- DogovorCode - код созданной путевки;
- ErrorCode - код ошибки;
- ErrorMessage - текст ошибки.
Корректность результата проверяется значением поля ErrorCode и ErrorMessage:
- 0 – нет ошибок;
- 50 – нет туристов;
- 51 – некорректная дата рождения туриста;
- 52 – указана пустая или слишком длинная фамилия туриста;
- 53 – указано пустое или слишком длинное имя туриста;
- 54 – указано слишком длинное отчество туриста;
- 55 – некорректная дата выдачи паспорта;
- 56 – некорректная дата окончания срока действия паспорта;
- 57 – некорректная серия паспорта (слишком длинная);
- 58 – Некорректный номер паспорта (слишком длинный);
- 100 – не указана дата начала тура;
- 200 – не найден тур для чартеров;
- 300 – не найдены цены для чартеров;
- 400 – отсутствуют квот для чартеров;
- 500 – невозможно произвести бронирование;
- 600 – неизвестная ошибка, подробности в логе;
- 700 – ошибка отправки почты, путёвка создана.