Изменения

Перейти к навигации Перейти к поиску

Вебскай Коллеги

20 960 байт добавлено, 10:51, 20 июля 2023
Новая страница: «= О модуле = Модуль '''Вебскай Коллеги''' системы позволяет производить дозагрузку авиарей…»
= О модуле =

Модуль '''Вебскай Коллеги''' системы позволяет производить дозагрузку авиарейсов путем предоставления сотрудникам авиакомпаний возможности приобретения билетов по льготным тарифам, как с подтвержденным местом, так и без подтвержденного места. Конечные пользователи Системы - сотрудники авиакомпаний и их родственники (далее попутчики).

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

Функционал выполняется в виде подключаемого модуля Nemo.Travel. В панели управления для него присутствуют дополнительные настройки.

= Принцип работы =

В систему загружается список сотрудников и аффилированных с ними лиц.

Сотрудник может зарегистрироваться в системе самостоятельно, правильно указав свои данные.

Перейдя по ссылке из почты, сотрудник обязан установить пароль учетной записи.

В своем профиле он может увидеть данные своих попутчиков.

При поиске билетов в поисковой выдаче помимо обычных “коммерческих” билетов будет присутствовать выдача рейсов по специальным (дисконтированным) тарифам, а также тарифы без гарантированного предоставления мест (на подсадку). Купив такой билет человек приезжает в аэропорт, где при наличии свободных мест в самолете и с учетом его очереди на подсадку он допускается или не допускается к полету. Возврат билета производит авиакомпания самостоятельно согласно своему регламенту.

При бронировании билета сотрудник может выбрать только из загруженного в систему '''Вебскай Коллеги''' списка пассажиров.

= Конфигурация =

После включения модуля необходимо настроить ряд параметров

[[Файл:Вебскай Коллеги общие настройки.png]]

'''API Key''' — nокен для автоматизированного импорта списка сотрудников и их родственников в формате JSON

'''Уникальный ID для группировки сотрудников и их попутчиков''' — тут необходимо выбрать поле, которое в списках сотрудников признаком принадлежности родственника (попутчика) к сотруднику. Например у них будет одинаковый GUID или EmployeeID.

'''Дополнительные в ФИО поля для генерации уникального ID записи''' — выбираются поля, которые позволяет отличать полных тёзок друг от друга. Они используются для генерации уникального ID пользователя. Эти данные обязательно должны приходить в списке сотрудников. Если меняется ФИО или один из этих параметров в файле загрузки, то сотрудник или попутчик будет считаться новым человеком. Если изменятся другие данные, то они обновятся у существующего человека.

'''Поля сотрудника для формы регистрации''' — именно эти поля будут запрашиваться и проверяться при регистрации сотрудника в системе. Если хотя бы одно не совпадет, в регистрации будет отказано. Эти поля обязательно должны быть переданы в списке сотрудников.

[[Файл:Вебскай Коллеги Форма регистрации.png]]

'''Типы пассажиров для переопределения при поиске рейсов на подсадку''' — указываются спецкатегории пассажиров, которые являются признаками того, что тариф является тарифом на подсадку.

'''Код авиакомпании''' — импортированные сотрудники будут считаться сотрудниками авиакомпании с этим кодом. У них будет более высокий приоритет на подсадку на рейс “своей” авиакомпании.

== Дополнительные действия по настройке ==

- Сгенерировать токен для импорта по API, указать белый список серверов‎<br />
- Отключить лишние компоненты‎<br />
- Выключить регистрацию юрлиц‎<br />
- Выключить доступ к бронированию для анонимов‎<br />
- Настроить почтовый сервер‎<br />
- Настроить шаблоны писем‎<br />
- Включить новый вид страницы бронирования‎<br />
- Отключить блок данных покупателя‎<br />
- Добавить контактные данные для пассажиров‎<br />
- Настроить платежный шлюз‎<br />
- Настроить столбцы в личном кабинете‎<br />
- Настроить пакеты реквизитов для поиска дисконтированных и мест на подсадку‎<br />
- заполнить правила бронирования и права субъектов персональных данных‎<br />
- Скрыть комиссию субагента‎<br />

= Импорт сотрудников =

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

== Автоматизированный импорт ==

Для импорта списка сотрудников, система Авиакомпании отправляет запрос, содержащий данные сотрудников в формате JSON по адресу `HOSTNAME/api__airline_employee_upload`

- Пример данных

```json
[
{
"GUID": 0,
"LastName": "Lennon",
"FirstName": "John",
"MiddleNameEng": null,
"BirthDay": "09.11.1940",
"Sex": "M",
"DateOfEmployment": "09.11.1980",
"EmployeeID": 884220062,
"IsEmployee": 1,
"CategoryCode": 5,
"MiddleName": null,
"LastNameEng": "Lennon",
"FirstNameEng": "John",
"Email": "it@websky.tech",
"RelationDegree": null
},
{
"GUID": 1,
"LastName": "Yoko",
"FirstName": "Ono",
"MiddleNameEng": null,
"BirthDay": "18.02.1933",
"Sex": "F",
"DateOfEmployment": null,
"EmployeeID": 884220062,
"IsEmployee": 0,
"CategoryCode": 1,
"MiddleName": null,
"LastNameEng": "Yoko",
"FirstNameEng": "Ono",
"Email": null,
"RelationDegree": "wife"
},
{
"GUID": 2,
"LastName": "McCartney",
"FirstName": "Paul",
"MiddleNameEng": null,
"BirthDay": "18.06.1942",
"Sex": "M",
"DateOfEmployment": null,
"EmployeeID": 884220062,
"IsEmployee": 0,
"CategoryCode": 1,
"MiddleName": null,
"LastNameEng": "McCartney",
"FirstNameEng": "Paul",
"Email": "pmc@beatles.com",
"RelationDegree": null
},
{
"GUID": 3,
"LastName": "Harrison",
"FirstName": "George",
"MiddleNameEng": null,
"BirthDay": "25..02.1943",
"Sex": "M",
"DateOfEmployment": null,
"EmployeeID": 884220062,
"IsEmployee": 0,
"CategoryCode": 1,
"MiddleName": null,
"LastNameEng": "Harrison",
"FirstNameEng": "George",
"Email": null,
"RelationDegree": null
},
{
"GUID": 4,
"LastName": "Starkey",
"FirstName": "Richard",
"MiddleNameEng": null,
"BirthDay": "07.07.1940",
"Sex": "M",
"DateOfEmployment": null,
"EmployeeID": 884220062,
"IsEmployee": 0,
"CategoryCode": 1,
"MiddleName": null,
"LastNameEng": "Starr",
"FirstNameEng": "Ringo",
"Email": null,
"RelationDegree": null
}
]
```


В случае ошибок обмена, возвращается сообщение об ошибке

- Пример ответа

```json
{
"status": "Error",
"error_msg": "Has invalid records",
"input_records_count": 5,
"imported_total": 0,
"employees_imported": 0,
"companions_imported": 0,
"invalid_records": [
{
"record": {
"GUID": 1,
"LastName": "Yoko",
"FirstName": "Ono",
"BirthDay": "18.32.1933",
"Sex": "F",
"EmployeeID": 884220062,
"IsEmployee": 0,
"CategoryCode": "1",
"LastNameEng": "Yoko",
"FirstNameEng": "Ono"
},
"error": "Invalid date 18.32.1933, the format is d.m.Y"
},
{
"record": {
"GUID": 2,
"LastName": "McCartney",
"FirstName": "Paul",
"BirthDay": "18.06.1942",
"Sex": "M",
"IsEmployee": 0,
"CategoryCode": "1",
"LastNameEng": "McCartney",
"FirstNameEng": "Paul",
"Email": "pmc@beatles.com"
},
"error": "No GUID field found: EmployeeID"
}
]
}
```


Также вместо JSON можно передать XLS файл (см. Ручной импорт)

Белый список адресов серверов, отправляющих данные сотрудников и Bearer Token авторизации предоставляется Технической поддержкой.

{| class="wikitable" style="margin:auto"
|+ Caption text
|-
! Наименование параметра !! Назначение !! Тип данных !! Комментарий
|-
| GUID || Уникальный идентификатор пользователя системы || Строка || идентификатор присваиваемый в сторонней системе
|-
| LastName || Фамилия на родном языке || Строка || не более 30 символов
|-
| FirstName || Отчество на родном языке, при наличии || Строка || не более 30 символов
|-
| Email || Email || Строка || соответствует формату email
|-
| LastNameEng || Фамилия || Строка || Латиница, не более 30 символов, написание должно совпадать с написанием в загранпаспорте
|-
| FirstNameEng || Имя || Строка || Латиница, не более 30 символов, написание должно совпадать с написанием в загранпаспорте
|-
| MiddleNameEng || Отчество, при наличии || Строка || Латиница, не более 30 символов, написание должно совпадать с написанием в загранпаспорте
|-
| BirthDay || Дата рождения || Дата || В формате ДД.ММ.ГГГГ
|-
| Sex || Пол || Символ || Значения поля: «M», «F»
|-
| DateOfEmployment || Дата трудоустройства || Дата || В формате ДД.ММ.ГГГГ Для родственников сотрудника указывается такое же значение, как и для сотрудника
|-
| EmployeeID || Табельный номер || Строка || Строка не более 10 символов/ Для попутчиков сотрудника указывается такое же значение, как и для сотрудника.
|-
| IsEmployee || Признак сотрудник (1) или попутчик (0) || Логический || Битовое (0,1) непустое поле
|-
| CategoryCode || Категория сотрудника || Целое число || Число от 0 до 9. Чем он меньше, тем более приоритетный сотрудник.
|-

|}

== Ручной импорт ==

Менеджер может в Панели управления (Настройки системы → Интеграция → Airline Staff ID, по адресу /settings__airline_staff_id_employee_import) загрузить XLS файл с данными сотрудников.

Пример файла:

Система не удаляет, но блокирует учетные записи сотрудников, удаленных из списка сотрудников.

Если при анализе нового списка сотрудников выясняется, что в списке присутствует сотрудник, для которого учетная запись существует, но она заблокирована, то такая учетная запись будет автоматически разблокирована.

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

= Регистрация =

Особенность процесса регистрации в системе заключается в том, что зарегистрироваться может только сотрудник из списка, полученного при импорте.

При первоначальном входе в систему сотрудник должен перейти на форму регистрации по кнопку в правом верхнем углу, ввести поля для проверки данных. Email является обязательным полем.
Система проверяет, что есть такой сотрудник в списке и что все поля совпадают с имеющимися в системе, то отправляет на почту ссылку для входа. При первом входе сотруднику необходимо будет сменить пароль. Логином становится email. После этого пользователь может войти в систему с новым паролем.

[[Файл:Вебскай Коллеги Форма регистрации1.png]]

При создании пароля пользователем, к паролю предъявляются требования, установленные для пользователей системы Nemo.Travel. Частота смены пароля не регламентируется.

= Покупка билета =

Сотруднику после авторизации доступна покупка авиабилетов.
Поиск осуществляется в соответствии с настройками реквизитов среди рейсов на подсадку и рейсов со свободными местами. В интерфейсе рейсы на подсадку маркируются рамкой и указывается предполагаемая очередь на подсадку.

На странице ввода пассажирских данных еще раз выводится очередь на подсадку

[[Файл:Вебскай Коллеги Очередь на подсадку.png]]

На странице бронирования пользователь может выбрать только заранее добавленных в систему пассажиров — себя, либо своих попутчиков. При попытке изменить данные он получит ошибку.

[[Файл:Вебскай Коллеги Выбор пассажира.png]]

== Просмотр бронирований ==

Пользователь в Личном кабинете может видеть все свои бронирования, как на себя, так и на попутчиков.

[[Файл:Вебскай Коллеги Просмотр бронирований.png]]

== Просмотр попутчиков ==

Пользователь в Личном кабинете может видеть информацию о попутчиках, загруженных в систему.
Возможность добавлять в Личном кабинете новых Попутчиков и полностью удалять существующих не предоставляется.

[[Файл:Вебскай Коллеги Просмотр попутчиков.png]]

== Алгоритм определения места в очереди на подсадку ==

Рейс идентифицируется по оперирующему перевозчику, номеру рейса и дате рейса.
Для определения места Пассажира в очереди на посадку при бронировании билета без места, система учитывает в порядки убывания значимости:

- принадлежность сотрудника к авиакомпании, выполняющей перевозку‎<br />
- класс бронирования (бизнес идёт первым)‎<br />
- код приоритета обслуживания (чем меньше – тем выше в очереди.) Регулируется со стороны авиакомпании и передается в списке сотрудников.‎<br />
- дата трудоустройства (чем больше стаж, тем выше приоритет)‎<br />
- дата и время бронирования (кто раньше завершил бронирование – тот идёт первым)‎<br />
199
правок

Навигация

'