Ценообразование (Авиабилеты): различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Тестирование и отладка срабатывания правил)
(Параметры правил ценообразования)
 
(не показаны 83 промежуточные версии 15 участников)
Строка 1: Строка 1:
[[Категория:Модули (Авиабилеты)]]
+
[[Категория:Модули]] [[Категория:Встроенные модули]]
 
<!-- -->
 
<!-- -->
 
==Назначение==
 
==Назначение==
Строка 25: Строка 25:
 
*''Строка таблицы'' — правило.  <br />
 
*''Строка таблицы'' — правило.  <br />
 
*''Ячейка строки'' — значение параметра. <br />
 
*''Ячейка строки'' — значение параметра. <br />
*''Заголовок столбца'' — название параметра. <br /> Каждая строка является отдельным правилом. <br />
+
*''Заголовок столбца'' — название параметра. <br /> Каждая строка является отдельным правилом. <br /> '''К одному перелету выбирается по критериям и применяется только одно правило'''
  
 
Прежде чем рассчитать комиссии, модуль ценообразования определяет доступность перелета к выписке и правило, по которому рассчитываются комиссии и сборы, по алгоритму:
 
Прежде чем рассчитать комиссии, модуль ценообразования определяет доступность перелета к выписке и правило, по которому рассчитываются комиссии и сборы, по алгоритму:
Строка 32: Строка 32:
 
# Находит в файле ценообразования все правила для данной [[Авиакомпания|авиакомпании]];
 
# Находит в файле ценообразования все правила для данной [[Авиакомпания|авиакомпании]];
 
# Подбирает правила, которые соответствуют перелету по всем параметрам;
 
# Подбирает правила, которые соответствуют перелету по всем параметрам;
# Выбирает по критериям приоритета одно из подходящих правил;
+
# Выбирает по критериям приоритета '''одно''' из подходящих правил;
 
#* Если сработавшее правило не содержит переопределения валидирующего перевозчика, устанавливается валидирующий перевозчик, полученный от ГРС.
 
#* Если сработавшее правило не содержит переопределения валидирующего перевозчика, устанавливается валидирующий перевозчик, полученный от ГРС.
 
#* Если сработавшее правило содержит переопределение валидирующего перевозчика, устанавливается переопределенный валидирующий перевозчик.
 
#* Если сработавшее правило содержит переопределение валидирующего перевозчика, устанавливается переопределенный валидирующий перевозчик.
 
# Правило применяется.
 
# Правило применяется.
  
Агентство может [[Выписка (Авиабилеты)|выписывать]] онлайн перелеты только '''контрактных авиакомпаний'''. Авиакомпания считается контрактной, если для нее заведено хотя бы 1 правило в загруженном файле ценообразования.  
+
Агентство может [[Выписка|выписывать]] онлайн перелеты только '''контрактных авиакомпаний'''. Авиакомпания считается контрактной, если для нее заведено хотя бы 1 правило в загруженном файле ценообразования.  
  
Перелет '''не может быть выписан''', если:
+
{{Attention|Перелет '''не может быть выписан''', если:}}
* правила для авиакомпании не заведены. Такие перелеты рекомендуется удалять из выдачи [[Фильтр результатов поиска (Авиабилеты)|фильтром результатов поиска]] «А/к не является контрактной».
+
* правила для авиакомпании не заведены. Такие перелеты рекомендуется удалять из выдачи [[Фильтры результатов поиска (Авиабилеты)|фильтром результатов поиска]] «А/к не является контрактной».
 
* правила для авиакомпании заведены, но параметры перелета не соответствуют параметрам правила.
 
* правила для авиакомпании заведены, но параметры перелета не соответствуют параметрам правила.
 
Порядок работы модуля приведен в схеме:
 
Порядок работы модуля приведен в схеме:
Строка 57: Строка 57:
 
*при обновлении страницы заказа.
 
*при обновлении страницы заказа.
  
Если в промежуток между бронированием и выпиской '''''правила изменили''''', после бронирования заказа комиссии будут рассчитываться по новым правилам, таким образом цена при бронировании и цена при выписке может отличаться. Поведение системы при возникновении такой ситуации задается параметром '''''Пересчитать сервисный сбор''''' в разделе Настройки системы → Фоновые процессы → События синхронизации<!--{{Menu|Настройки системы|Фоновые процессы|События синхронизации}}-->. Расчет комиссий, действующих на момент бронирования, можно отследить в логах по заказу.
+
Если в промежуток между бронированием и выпиской '''''правила изменили''''', после бронирования заказа комиссии будут рассчитываться по новым правилам, таким образом цена при бронировании и цена при выписке может отличаться. Поведение системы при возникновении такой ситуации задается параметром '''''Пересчитать сервисный сбор''''' в разделе Настройки системы → Фоновые процессы → События синхронизации<!--{{Menu|Настройки системы|Фоновые процессы|События синхронизации}}-->. Расчет комиссий, действующих на момент бронирования, можно отследить в логах по заказу.  
 +
 
 +
В детализации стоимости (на странице заказа) и в маршрут-квитанции информация по сборам представлена в соответствии с одним из '''режимов разделения сбора на пассажиров''':
 +
* Поровну между ненулевыми стоимостями билетов - сбор агентства, субагентства разделяется поровну между всеми пассажирами, у которых сумма тарифа и такс больше 0. Этот режим выбран по умолчанию.
 +
* Поровну между всеми тарифами - сбор агентства, субагентства разделяется поровну между всеми пассажирами.
 +
* Пропорционально тарифам  - сбора агентства, субагентства разделяется пропорционально стоимости тарифа для конкретного пассажира в общей сумме заказа, т.е. чем больше стоимость тарифа, тем большая часть сбора на него отводится.
 +
* Только первому типу пассажира - сбор агентства, субагентства определяется первому типу пассажира.
 +
* Пропорционально тарифам, за исключением младенцев - сбора агентства, субагентства разделяется пропорционально стоимости тарифа для конкретного пассажира в общей сумме заказа, за исключением младенца.
 +
''Сборы в детализации стоимости представлены с учетом разбиения только если скрыты в таксы XP/XX, а иначе отображаются отдельной строкой без разделения.'' <br>
 +
Настройка находится в разделе '''«Управление продажами - Авиабилеты - Ценообразование - Настройки - Режим разделения сбора на пассажиров».'''
  
 
=== Расчет комиссий для неконтрактных авиакомпаний ===
 
=== Расчет комиссий для неконтрактных авиакомпаний ===
Строка 92: Строка 101:
 
Все расчеты на каждом этапе их применения [[Логи системы|логируются]] и отображаются в таблице отладки. Таблица отладки используется для контроля срабатывания правил, предоставляя информацию о применении правил к выбранному перелету.  
 
Все расчеты на каждом этапе их применения [[Логи системы|логируются]] и отображаются в таблице отладки. Таблица отладки используется для контроля срабатывания правил, предоставляя информацию о применении правил к выбранному перелету.  
  
Ссылка на таблицу отладки доступна менеджеру агентства:
+
Ссылка на таблицу отладки доступна менеджеру и экспертам корневого агентства:
 
* на выдаче результатов поиска для каждого перелета по ссылке '''''Комиссия''''', <!--* на странице подтверждения бронирования и информации о заказе по добавлению гет-параметра '''?(&)test''' в адресную строку (например, http://host/XXXXXX?test).-->
 
* на выдаче результатов поиска для каждого перелета по ссылке '''''Комиссия''''', <!--* на странице подтверждения бронирования и информации о заказе по добавлению гет-параметра '''?(&)test''' в адресную строку (например, http://host/XXXXXX?test).-->
 
* на странице заказа в детализации стоимости перелета по щелчку на сумму комиссии или сбора.
 
* на странице заказа в детализации стоимости перелета по щелчку на сумму комиссии или сбора.
Строка 150: Строка 159:
 
Чтобы задать правило ценообразования:  
 
Чтобы задать правило ценообразования:  
 
# Зайдите в раздел Управление продажами → Авиабилеты → Ценообразование → Импорт/экспорт Excel<!--{{Menu|Управление продажами|Авиабилеты|Ценообразование|Импорт/экспорт Excel}}-->.
 
# Зайдите в раздел Управление продажами → Авиабилеты → Ценообразование → Импорт/экспорт Excel<!--{{Menu|Управление продажами|Авиабилеты|Ценообразование|Импорт/экспорт Excel}}-->.
# Нажмите '''Выгрузка в формате "xls"''' или '''Выгрузка в формате xlsx"'''. Откройте файл для редактирования.
+
# Нажмите '''Выгрузка в формате "xls"''' или '''Выгрузка в формате "xlsx"'''. Откройте файл для редактирования.
 
# Установите правило: '''заполните параметры строки'''. Формат внесения данных в каждый столбец должен соответствовать строго определенному формату (см. [[Ценообразование (Авиабилеты)#Импорт правил|Импорт правил]]). <br /> Обязательные параметры для заполнения:
 
# Установите правило: '''заполните параметры строки'''. Формат внесения данных в каждый столбец должен соответствовать строго определенному формату (см. [[Ценообразование (Авиабилеты)#Импорт правил|Импорт правил]]). <br /> Обязательные параметры для заполнения:
 
#* '''''валидирующий перевозчик'''''
 
#* '''''валидирующий перевозчик'''''
Строка 175: Строка 184:
 
|Правила ценообразования
 
|Правила ценообразования
 
|}
 
|}
 +
 +
В таблице предусмотрено цветовое выделение правил, которые на данный момент недействительны:
 +
* правила, срок действия которых ещё не наступил (дата начала продажи больше текущей даты, см. раздел [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]), выделяются оранжевым цветом,
 +
* правила, срок действия которых истёк (дата окончания продажи больше текущей даты), выделяются фиолетовым цветом.
  
 
== Параметры правил ценообразования==
 
== Параметры правил ценообразования==
Строка 180: Строка 193:
  
 
{{Attention|Запрещено переименовывать столбцы!}}<br/> При этом допускается менять столбцы местами и удалять ненужные столбцы.
 
{{Attention|Запрещено переименовывать столбцы!}}<br/> При этом допускается менять столбцы местами и удалять ненужные столбцы.
 +
 +
Для просмотра описания параметров <span style="background-color:gold">разверните таблицу</span>:
  
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
 +
|colspan="5"| '''Параметры правил ценообразования'''
 
|-
 
|-
 
! scope="col" | Заголовок
 
! scope="col" | Заголовок
Строка 198: Строка 214:
 
| <span id="valCompanyId">valCompanyId</span>
 
| <span id="valCompanyId">valCompanyId</span>
 
| Авиакомпания, для которой задается правило. Должна являться контрактной авиакомпанией агента. Если необходимо проводить выписку на стоке другой авиакомпании (по интерлайну), валидирующий перевозчик переопределяется (см. [[Ценообразование (Авиабилеты)#Переопределенный валидирующий перевозчик|Переопределенный валидирующий перевозчик]]). Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен — перелет считается недопустимым к выписке и удаляется из результатов поиска при соответствующих настройках фильтрации результатов.
 
| Авиакомпания, для которой задается правило. Должна являться контрактной авиакомпанией агента. Если необходимо проводить выписку на стоке другой авиакомпании (по интерлайну), валидирующий перевозчик переопределяется (см. [[Ценообразование (Авиабилеты)#Переопределенный валидирующий перевозчик|Переопределенный валидирующий перевозчик]]). Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен — перелет считается недопустимым к выписке и удаляется из результатов поиска при соответствующих настройках фильтрации результатов.
| пустое игнорируется
+
| width="20%"| пустое игнорируется
  
 
2-значный IATA-код авиакомпании
 
2-значный IATA-код авиакомпании
Строка 207: Строка 223:
 
| переопределенный вп
 
| переопределенный вп
 
| <span id="manualVV">manualVV</span>
 
| <span id="manualVV">manualVV</span>
| Если валидирующий перевозчик, предложенный ГРС не является контрактным или не устраивает агента по комиссии, его можно переопределить принудительно через это поле. В поле ВП указывается ВП от ГРС (или оно оставляется пустым), а в этом поле указывается переопределенный агентством перевозчик.
+
| Если валидирующий перевозчик, предложенный ГРС не является контрактным или не устраивает агента по комиссии, его можно переопределить принудительно через это поле. В поле ВП указывается ВП от ГРС (или оно оставляется пустым), а в этом поле указывается переопределенный агентством перевозчик. Можно указать только одного перевозчика. Если есть два и более, указываем разными строками.  
  
 
Ответственность за допустимость замены и за адекватность цены перелета (которая была рассчитана GDS по предложенному ей перевозчику) берет на себя агент. Приоритет у правил с переопределением выше, чем у правил без него.
 
Ответственность за допустимость замены и за адекватность цены перелета (которая была рассчитана GDS по предложенному ей перевозчику) берет на себя агент. Приоритет у правил с переопределением выше, чем у правил без него.
Строка 230: Строка 246:
  
 
Допустимые варианты ввода:
 
Допустимые варианты ввода:
* КОД,КОД,КОД&nbsp;: хотя бы один маркетинговый перевозчик из перелета должен быть в списке.
+
* КОД,КОД,КОД&nbsp;: правило применится, если хотя бы один маркетинговый перевозчик из перелета есть в списке.
* КОД,КОД,КОД!&nbsp;: каждый маркетинговый перевозчик из перелета должен встречаться в этом списке
+
* КОД,КОД,КОД!&nbsp;: правило применится, если каждый маркетинговый перевозчик из перелета встречается в списке
* <>КОД,КОД,КОД&nbsp;: если хотя бы один маркетинговый перевозчик из перелета не встречается в этом списке
+
* <>КОД,КОД,КОД&nbsp;: правило не применится, если хотя бы один маркетинговый перевозчик из перелета встречается в этом списке
* <>КОД,КОД,КОД!&nbsp;: все маркетинговые перевозчики из перелета не должны встречаться в этом списке
+
* <>КОД,КОД,КОД!&nbsp;: правило не применится, если все маркетинговые перевозчики из перелета встретятся в этом списке
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
 
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
Строка 250: Строка 266:
  
 
Варианты ввода:
 
Варианты ввода:
* КОД,КОД,КОД&nbsp;: должен совпасть хотя бы один оперирующий перевозчик из перелета с одним из заданного списка.
+
* КОД,КОД,КОД&nbsp;: правило применится, если хотя бы один оперирующий перевозчик перелета встречается в списке.
* КОД,КОД,КОД!&nbsp;: каждый оперирующий перевозчик из перелета должен встречаться в этом списке
+
* КОД,КОД,КОД!&nbsp;: правило применится, если каждый оперирующий перевозчик перелета есть в списке.
* <>КОД,КОД,КОД&nbsp;: хотя бы один оперирующий перевозчик из перелета не должен быть в этом списке
+
* <>КОД,КОД,КОД&nbsp;: правило не применится, если хотя бы один оперирующий перевозчик перелета встречается в списке.
* <>КОД,КОД,КОД!&nbsp;: все оперирующие перевозчики из перелета не должны встречаться в этом списке
+
* <>КОД,КОД,КОД!&nbsp;: правило не применится, если все оперирующие перевозчики перелета есть в списке.
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
 
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
Строка 289: Строка 305:
 
| системы бронирования
 
| системы бронирования
 
| <span id="gds">gds</span>
 
| <span id="gds">gds</span>
| Глобальная распределительная система / PCC конкретных реквизитов / ID пакета реквизитов системы {{}}
+
| Глобальная распределительная система, в которой найден перелет/ PCC конкретных реквизитов / ID пакета реквизитов системы {{NameProject1}} (Nemo 1)
 
Перечисляются в любой последовательности, можно смешивать разные типы. Действует правило "или": если указан Sabre целиком, все его PCC/пакеты указывать уже нет смысла.
 
Перечисляются в любой последовательности, можно смешивать разные типы. Действует правило "или": если указан Sabre целиком, все его PCC/пакеты указывать уже нет смысла.
| пустое = любые<br/>SABRE, GALILEO, AMADEUS, SIRENA, SITA — GDS<br/>[буквы+цифры] — PCC<br/>[цифры] — ID пакета
+
 
 +
{{Attention|При указании названия ГРС строго соблюдайте формат названия, указанный в документации. При расхождении с шаблоном правило не будет применяться!}}
 +
| пустое = любые<br/>ГРС: <code>SABRE, GALILEO, AMADEUS, SIRENA, SITA, SIG23, MIXVELNDC, U6, ACCELAERO, RADIXX, S7 NDC</code><br/>PCC: [буквы+цифры]<br/>ID пакета в '''Nemo 1''': [цифры]
 
| SABRE,670P,123
 
| SABRE,670P,123
  
 
AMADEUS,GALILEO
 
AMADEUS,GALILEO
 +
 +
SITA
 
|-
 
|-
 
| начало продажи
 
| начало продажи
Строка 307: Строка 327:
 
| конец продажи
 
| конец продажи
 
| <span id="paymentDateTo">paymentDateTo</span>
 
| <span id="paymentDateTo">paymentDateTo</span>
| Максимально допустимая дата оформления заказа. Для срабатывания правила, текущая дата должна быть меньше или равна указанной.
+
| Максимально допустимая дата оформления заказа. Для срабатывания правила, текущая дата должна быть меньше указанной.
 
| пустое = игнорируется<br/>DD.MM.YYYY
 
| пустое = игнорируется<br/>DD.MM.YYYY
 
| 31.12.2022
 
| 31.12.2022
Строка 322: Строка 342:
  
 
Варианты ввода:
 
Варианты ввода:
* NNN,NNN: должен совпасть номер рейса из любого сегмента с одним из заданного списка.
+
* NNN,NNN: правило применится, если хотя бы один номер рейса из перелета из любого сегмента встречается в списке.
* NNN,NNN!&nbsp;: номера рейсов из всех сегментов перелета должны встречаться в этом списке
+
* NNN,NNN!&nbsp;: правило применится, если все номера рейсов из всех сегментов перелета встретятся в списке.
* <>NNN,NNN&nbsp;: хотя бы один номер из перелета не должен быть в этом списке
+
* <>NNN,NNN&nbsp;: правило не применится, если хотя бы один номер из перелета встретится в списке.
* <>NNN,NNN!&nbsp;: все номера из перелета не должны встречаться в этом списке
+
* <>NNN,NNN!&nbsp;: правило не применится, если все номера из перелета встретятся в списке.
 +
 
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| SU 123,SU 345<br/>123,345<br/><>LH 555
 
| SU 123,SU 345<br/>123,345<br/><>LH 555
Строка 334: Строка 355:
  
 
Варианты ввода:
 
Варианты ввода:
* CODE,CODE: должен совпасть код судна из любого сегмента с одним из заданного списка.
+
* CODE,CODE: правило применится, если хотя бы один код судна из любого сегмента совпадет с одним из заданного списка.
* CODE,CODE!&nbsp;: коды судов из всех сегментов перелета должны встречаться в этом списке
+
* CODE,CODE!&nbsp;: правило применится, если коды судов из всех сегментов перелета есть в списке.
* <>CODE,CODE&nbsp;: хотя бы один код из перелета не должен быть в этом списке
+
* <>CODE,CODE&nbsp;: правило не применится, если хотя бы один код из перелета есть списке.
* <>CODE,CODE!&nbsp;: все коды из перелета не должны встречаться в этом списке
+
* <>CODE,CODE!&nbsp;: правило не применится, если все коды из перелета есть в списке.
 +
 
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| 73C,DH4<br/>735
 
| 73C,DH4<br/>735
Строка 343: Строка 365:
 
| коды тарифов
 
| коды тарифов
 
| <span id="tariffs">tariffs</span>
 
| <span id="tariffs">tariffs</span>
| Допустимые коды тарифов. Должен совпасть хотя бы один из перелета с одним из заданного списка. При правиле с отрицанием никаких совпадений быть не должно. Совпадение не точное: код из правила может содержаться в коде из перелета (к примеру введенное S1GREY26 совпадет с S1GREY26CH из перелета).
+
| Допустимые коды тарифов. Должен совпасть хотя бы один тариф из перелета с одним из заданного списка. При правиле с отрицанием никаких совпадений быть не должно. Совпадение не точное: код из правила может содержаться в коде из перелета (к примеру введенное S1GREY26 совпадет с S1GREY26CH из перелета).
  
 
Варианты ввода:
 
Варианты ввода:
* КОД,КОД: должен совпасть любой тариф с одним из заданного списка.
+
* КОД,КОД: правило применится, если хотя бы один тариф встречается в списке.
* КОД,КОД!&nbsp;: все тарифы перелета должны встречаться в этом списке
+
* КОД,КОД!&nbsp;: правило применится, если все тарифы перелета есть в списке.
* <>КОД,КОД&nbsp;: хотя бы один тариф из перелета не должен быть в этом списке
+
* <>КОД,КОД&nbsp;: правило не применится, если хотя бы один тариф встречается в списке.
* <>КОД,КОД!&nbsp;: все тарифы из перелета не должны встречаться в этом списке
+
* <>КОД,КОД!&nbsp;: правило не применится, если все тарифы перелета есть в списке.
  
 
Можно указать [http://ru.wikipedia.org/wiki/Регулярные_выражения регулярное выражение]. Для этого нужно написать параметр в формате /XXX/ Примеры:
 
Можно указать [http://ru.wikipedia.org/wiki/Регулярные_выражения регулярное выражение]. Для этого нужно написать параметр в формате /XXX/ Примеры:
Строка 364: Строка 386:
 
| максимальный тариф
 
| максимальный тариф
 
| <span id="maxTariff">maxTariff</span>
 
| <span id="maxTariff">maxTariff</span>
| Ограничение на максимальное ценовое значение "базовой стоимости" (сумма всех тарифов от перевозчиков в перелете или стоимость от ГРС за вычетом такс). Если параметр задан, то правило, записанное в строке, срабатывает только, если тариф перелета меньше указанного.
+
| Ограничение на максимальное ценовое значение "базовой стоимости" (сумма всех тарифов от перевозчиков в перелете или стоимость от ГРС за вычетом такс). Если параметр задан, то правило, записанное в строке, срабатывает только, если тариф перелета меньше указанного значения или равен ему.
 
| пустое = ограничения нет<br/>xxxКОД (см примеры)
 
| пустое = ограничения нет<br/>xxxКОД (см примеры)
 
| 10000RUB<br>
 
| 10000RUB<br>
Строка 380: Строка 402:
  
 
Варианты ввода:
 
Варианты ввода:
* КОД,КОД: должна совпасть любая такса из перелета с одной из заданного списка.
+
* КОД,КОД: правило применится, если любая такса из перелета встретится в списке.
* КОД,КОД!&nbsp;: все таксы перелета должны встречаться в этом списке
+
* КОД,КОД!&nbsp;: правило применится, если все таксы перелета встретятся в списке.
* <>КОД,КОД&nbsp;: хотя бы одна такса из перелета не должна быть в этом списке
+
* <>КОД,КОД&nbsp;: правило не применится, если любая такса из перелета встретится в списке.
* <>КОД,КОД!&nbsp;: все таксы из перелета не должны встречаться в этом списке
+
* <>КОД,КОД!&nbsp;: правило не применится, если все таксы перелета встретятся в списке.
 
где КОД — набор заглавных латинских букв.
 
где КОД — набор заглавных латинских букв.
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
Строка 404: Строка 426:
 
| Допустимые категории классов обслуживания.
 
| Допустимые категории классов обслуживания.
  
Варианты ввода:
+
Варианты ввода (вносятся одно- или двухбуквенные значения):
* КОД,КОД: должен совпасть класс из любого сегмента с одним из заданного списка.
+
* КОД: правило применится, если класс встречается в списке.
* КОД,КОД!&nbsp;: классы из всех сегметнов перелета должны встречаться в этом списке
+
* КОДКОД: правило применится, если сочетание классов встречается в списке.
* <>КОД,КОД&nbsp;: хотя бы один класс из перелета не должен быть в этом списке
+
* КОД,КОД: правило применится, если класс из любого сегмента встречается в списке.
* <>КОД,КОД!&nbsp;: все классы из перелета не должны встречаться в этом списке
+
* КОД,КОД!&nbsp;: правило применится, если все классы из всех сегментов перелета есть в списке.
 +
* <>КОД,КОД&nbsp;: правило не применится, если класс из любого сегмента встречается в списке.
 +
* <>КОД,КОД!&nbsp;: правило не применится, если все классы из всех сегментов перелета есть в списке.
 
где КОД:
 
где КОД:
 
* B — бизнес
 
* B — бизнес
Строка 424: Строка 448:
  
 
Варианты ввода:
 
Варианты ввода:
* КОД,КОД: должен совпасть класс из любого сегмента с одним из заданного списка.
+
* КОД,КОД: правило применится, если хотя бы один класс из любого сегмента встречается в списке.
* КОД,КОД!&nbsp;: классы из всех сегментов перелета должны встречаться в этом списке
+
* КОД,КОД!&nbsp;: правило применится, если  классы из всех сегментов перелета есть в списке.
* <>КОД,КОД&nbsp;: хотя бы один класс из перелета не должен быть в этом списке
+
* <>КОД,КОД&nbsp;: правило не применится, если хотя бы один класс из любого сегмента встречается в списке.
* <>КОД,КОД!&nbsp;: все классы из перелета не должны встречаться в этом списке
+
* <>КОД,КОД!&nbsp;: правило не применится, если  классы из всех сегментов перелета есть в списке.
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| пустое = любые<br/>- одно или несколько значений (см. описание)
 
| A,B,C<br/><>A,B,C
 
| A,B,C<br/><>A,B,C
Строка 438: Строка 462:
 
Допустимые варианты ввода:
 
Допустимые варианты ввода:
  
* КОД:КОД,КОД:КОД,КОД:КОД : хотя бы один сегмент из перелета должен подойти по авиакомпании+класс.
+
* КОД:КОД,КОД:КОД,КОД:КОД : правило применится, если хотя бы один сегмент перелета совпадёт с одним из перечисленных в списке.
* КОД:КОД,КОД:КОД,КОД:КОД! : все сегменты из перелета должны подойти по параметрам
+
* КОД:КОД,КОД:КОД,КОД:КОД! : правило применится, если все сегменты из перелета встретятся в списке.
* <>КОД:КОД,КОД:КОД,КОД:КОД : если хотя бы один сегмент не подошел
+
* <>КОД:КОД,КОД:КОД,КОД:КОД : правило не применится, если хотя бы один сегмент перелета совпадет с любым сегментом из перечисленных в списке.
* <>КОД:КОД,КОД:КОД,КОД:КОД! : все сегменты из перелета не должны подходить
+
* <>КОД:КОД,КОД:КОД,КОД:КОД! : правило не применится, если все сегменты перелета встретятся в списке.
 
 
 
|  
 
|  
 
пустое = любые<br/>- одно или несколько значений (см. описание)
 
пустое = любые<br/>- одно или несколько значений (см. описание)
Строка 470: Строка 493:
 
* AFNA — Африка + Северная Америка
 
* AFNA — Африка + Северная Америка
 
* ASNA — Азия  + Северная Америка
 
* ASNA — Азия  + Северная Америка
 +
* EUAN — Европа + Антарктика
 +
* AFAS — Африка + Азия
 +
* AFAN — Африка + Антарктика
 +
* AFOC — Африка + Австралия и Океания
 +
* AFSA — Африка + Южная Америка
 +
* ANNA — Антарктика + Северная Америка
 +
* ANOC — Антарктика + Австралия и Океания
 +
* ANSA — Антарктика + Южная Америка
 +
* ASAN — Азия + Антарктика
 +
* NASA — Северная Америка + Южная Америка
 +
* OCSA — Австралия и Океания + Южная Америка
 +
* ASSA — Азия + Южная Америка
 +
* NAOC — Северная Америка + Австралия и Океания
 +
* OCAS — Австралия и Океания + Азия
 +
Допустимы только перечисленные комбинации зон!
 
| пустое = любые
 
| пустое = любые
  
Строка 525: Строка 563:
 
| <span id="routeAirportsFull">routeAirportsFull</span>
 
| <span id="routeAirportsFull">routeAirportsFull</span>
 
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты"
 
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты"
| см. описание
+
| см. описание параметра "маршруты"
| см. описание
+
| см. описание параметра "маршруты"
 
|-
 
|-
 
| содержит маршруты (из аэропортов)
 
| содержит маршруты (из аэропортов)
 
| <span id="routeAirportsPart">routeAirportsPart</span>
 
| <span id="routeAirportsPart">routeAirportsPart</span>
 
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"
 
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"
| см. описание
+
| см. описание параметра "содержит маршруты"
| см. описание
+
| см. описание параметра "содержит маршруты"
 
|-
 
|-
 
| вылет (аэропорты, города)
 
| вылет (аэропорты, города)
Строка 632: Строка 670:
 
| комиссия авиакомпании
 
| комиссия авиакомпании
 
| <span id="commission">commission</span>
 
| <span id="commission">commission</span>
| Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для заполнения поле, должно строго соответствовать указанному в контракте значению. Значение передается в ГРС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости (за каждого пассажира).
+
| Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для заполнения поле, должно строго соответствовать указанному в контракте значению. Значение передается в ГРС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости. Комиссия всегда вычисляется для каждого пассажира.
 
Правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.
 
Правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.
 
| "xxxКОД" (код валюты) или "XX%"
 
| "xxxКОД" (код валюты) или "XX%"
Строка 639: Строка 677:
 
| комиссия субагентам
 
| комиссия субагентам
 
| <span id="agencyCommission">agencyCommission</span>
 
| <span id="agencyCommission">agencyCommission</span>
| Часть прибыли от авиакомпании, которую агент отписывает субагентам. Значение комиссии действует как скидка для субагентов, уменьшая стоимость авиабилетов.
+
| Комиссия субагенту - это часть прибыли от авиакомпании, которую агент отписывает субагентам. Значение комиссии действует как скидка для субагентов, уменьшая стоимость авиабилетов. Комиссия всегда вычисляется для каждого пассажира от стоимости тарифа, сумма которого не равна 0.
  
 
'''Форматы задания комиссии субагентам: '''
 
'''Форматы задания комиссии субагентам: '''
  
 
Для всех субагентов:<br/>
 
Для всех субагентов:<br/>
* Фиксированная сумма: {{Syntax|code=XRUB}}, где:
+
* Фиксированная сумма: <code>XRUB</code>, где:
** ''X'' - сумма комиссии, целое число или десятичная дробь с разделителем в виде точки: {{Syntax|code=60}}, {{Syntax|code=-3}}, {{Syntax|code=0.5}},
+
** ''X'' - сумма комиссии, целое число или десятичная дробь с разделителем в виде точки: <code>60</code>, <code>-3</code>, <code>0.5</code>
** ''RUB'' - IATA-код валюты: {{Syntax|code=EUR}}, {{Syntax|code=UAH}}.
+
** ''RUB'' - IATA-код валюты: <code>EUR</code>, <code>UAH</code>.
* Процент от тарифа: {{Syntax|code=X%}},  
+
* Процент от тарифа: <code>X%</code>,  
**где ''X'' - процент от тарифа, целое число или десятичная дробь с разделителем в виде точки: {{Syntax|code=60}}, {{Syntax|code=-3}}, {{Syntax|code=0.5}}.
+
**где ''X'' - процент от тарифа, целое число или десятичная дробь с разделителем в виде точки: <code>60}</code>, <code>-3</code>, <code>0.5</code>.
 
Для опеределенных субагентов или групп субагентов:<br/>
 
Для опеределенных субагентов или групп субагентов:<br/>
* {{Syntax|code=(ID:значение),(ID:значение),(ID:значение),...}}, где ''ID'' - номер субагента (группы) в {{NameSystem}}, ''значение'' - размер комиссии для этого субагенства (группы) в формате {{Syntax|code=X%}} или {{Syntax|code=XRUB}}.
+
* <code>(ID:значение),(ID:значение),(ID:значение),...</code>, где ''ID'' - номер субагента (группы) в {{NameSystem}}, ''значение'' - размер комиссии для этого субагенства (группы) в формате <code>X%</code> или <code>XRUB</code>.
  
 
В одном правиле можно комбинировать комиссию для всех субагентов и комиссии для указанных субагентов в формате:
 
В одном правиле можно комбинировать комиссию для всех субагентов и комиссии для указанных субагентов в формате:
* {{Syntax|code=XX,(ID:YY),(ID:YY),(ID:YY),...}}, где:
+
* <code>XX,(ID:YY),(ID:YY),(ID:YY),...}}, где:
 
** XX - комиссия для всех субагентов в формате, описанном выше,
 
** XX - комиссия для всех субагентов в формате, описанном выше,
 
** YY - комиссия для заданного субагента в формате, описанном выше.
 
** YY - комиссия для заданного субагента в формате, описанном выше.
Строка 662: Строка 700:
  
 
'''Пример:''' <br/>
 
'''Пример:''' <br/>
{{Syntax|code=5%,(123:2%),(345:3%)}}, <br/>
+
 
 +
<pre>5%,(123:2%),(345:3%)</pre>.
 +
 
 
*Комиссия субагента под номером 123 составляет: 5% + 2% = 7% от тарифа. <br/>
 
*Комиссия субагента под номером 123 составляет: 5% + 2% = 7% от тарифа. <br/>
 
*Комиссия субагента под номером 345 составляет: 5% + 3% = 8% от тарифа.
 
*Комиссия субагента под номером 345 составляет: 5% + 3% = 8% от тарифа.
  
 +
Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "." , например: <code>0.5%</code>
 +
 +
{{Attention|В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение комиссии субагента для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (12345,12346,12347:3%) вместо (12345:3%),(12346:3%),(12347:3%). То есть, с использованием группировки одинаковых значений.}}
  
 
| см. описание
 
| см. описание
| {{Syntax|code=100RUB}}
+
| <code>100RUB</code>
  
{{Syntax|code=6EUR}}
+
<code>6EUR</code>
  
{{Syntax|code=2%}}
+
<code>2%</code>
 +
 
 +
<code>5%,(123:100RUB%),(345:2%),(345:-0.5%)</code>
  
{{Syntax|code=5%,(123:100RUB%),(345:2%),(345:-0.5%)}}
 
 
|-
 
|-
 
| посегментный расчет комиссии
 
| посегментный расчет комиссии
Строка 704: Строка 748:
 
| <span id="charge">charge</span>
 
| <span id="charge">charge</span>
 
| Здесь указываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>
 
| Здесь указываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>
формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости ГРС)<br/>множитель = одно из значений:
+
формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости (тариф+таксы) ГРС)<br/>множитель = одно из значений:
* PAS — общее количество пассажиров
+
* PAS — общее количество пассажиров (включая INF)
 
* ADT — количество взрослых
 
* ADT — количество взрослых
 
* CLD — количество детей (2-12)
 
* CLD — количество детей (2-12)
Строка 723: Строка 767:
  
 
Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом.
 
Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом.
 +
 +
{{Attention|В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение сбора агентства для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (12345,12346,12347:3%) вместо (12345:3%),(12346:3%),(12347:3%). То есть, с использованием группировки одинаковых значений.}}
 +
 +
Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "." , например: <code>0.5%</code>
 
| см. описание
 
| см. описание
 
| см. описание
 
| см. описание
 +
|-
 +
|Комиссия метапоиску
 +
|MetasearchCommission
 +
|Комиссия, взимается метапоисковой системой (для {{NameSystem}} на данный момент это только Aviasales) и рассчитывается на этапе поиска. Значение должно быть указано как десятичное представление процентной ставки - это доля от 1, например, если задано 0.05 - 5%. Можно задавать с/без знака "%". Комиссия рассчитывается от суммы = цена перелета от поставщика + сборы/скидки + доп.сборы + мин.прибыль. Рассчитанное значение округляется до 2х знаков после разделителя. Более подробно данный параметр описан [http://support.nemo.travel/ru/%D0%92%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5_%D1%81_%D0%BC%D0%B5%D1%82%D0%B0%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8#%D0%9A%D0%BE%D0%BC%D0%B8%D1%81%D1%81%D0%B8%D1%8F_%D0%BC%D0%B5%D1%82%D0%B0%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0 здесь].
 +
| см. описание
 +
|0.05
 +
0.025%
 
|-
 
|-
 
| признак доп.сбора
 
| признак доп.сбора
Строка 767: Строка 822:
  
 
Параметры для работы с приватными (конфиденциальными) тарифами.
 
Параметры для работы с приватными (конфиденциальными) тарифами.
 +
 +
Для просмотра описания параметров <span style="background-color:gold">разверните таблицу</span>:
  
 
{|  class="wikitable mw-collapsible mw-collapsed"
 
{|  class="wikitable mw-collapsible mw-collapsed"
 +
|colspan="5"| '''Дополнительные параметры правил'''
 
|-
 
|-
 
! scope="col" | Заголовок<br/>
 
! scope="col" | Заголовок<br/>
Строка 779: Строка 837:
 
| <span id="id">gdsTourCode</span>
 
| <span id="id">gdsTourCode</span>
 
| Тур код<br/>
 
| Тур код<br/>
| любое значение
+
| любое значение<br/> На примере Amadeus: если не нужно указывать PAX (passengerType), указываем только туркод RU084P, перед туркодом на стороне поставщика всегда добавляется * и внесенная команда в терминале выглядит как FT *RU084P. Если требуется указать PAX (passengerType), то необходимо его указывать с тур кодом без пробела PAXRU084P, в терминале внесенная команда выглядит как FT PAX *RU084P
| 15ZU
+
| 15ZU<br/> RU084P
 
|-
 
|-
 
| ticket designator
 
| ticket designator
Строка 791: Строка 849:
 
| <span id="id">gdsEndorsment</span>
 
| <span id="id">gdsEndorsment</span>
 
| Эндорсменты<br/>
 
| Эндорсменты<br/>
| любое значение
+
| любое значение<br/> или %VAT_VALUE% для передачи значения НДС в эндорсменте только для ГРС Amadeus, Sabre, Galileo, GalileouAPI и S7 NDC; для Sabre значение передается в ГРС, но не попадает в МК
| Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent
+
| Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent; %VAT_VALUE%
 
|-
 
|-
 
| собственная прибыль агента
 
| собственная прибыль агента
Строка 821: Строка 879:
 
|}
 
|}
  
== Ценообразование. ГРС SITA Gabriel ==
+
<!-- выпилила АЛ, ибо для S7 уже неактуально == Ценообразование. ГРС SITA Gabriel ==
  
 
Задание ценовых правил для авиакомпании '''«Сибирь» (S7 Airlines)''' в ГРС ''SITA Gabriel'' имеет свою специфику. Поскольку для авиакомпании S7 в ГРС ''SITA Gabriel'' осуществляется только бронирование и выписка, а [[Поиск (Авиабилеты)|поиск]] ведется в других ГРС, цена перелета при поиске и при бронировании может отличаться на размер такс, которые есть в ГРC, используемой для поиска, но отсутствуют в ''SITA Gabriel''. Чтобы цена при переходе к бронированию не менялась, в ценообразовании задают специальные правила, где устанавливают скидку на размер таксы с использованием параметра '''Цена подтверждена''' (см. [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]).
 
Задание ценовых правил для авиакомпании '''«Сибирь» (S7 Airlines)''' в ГРС ''SITA Gabriel'' имеет свою специфику. Поскольку для авиакомпании S7 в ГРС ''SITA Gabriel'' осуществляется только бронирование и выписка, а [[Поиск (Авиабилеты)|поиск]] ведется в других ГРС, цена перелета при поиске и при бронировании может отличаться на размер такс, которые есть в ГРC, используемой для поиска, но отсутствуют в ''SITA Gabriel''. Чтобы цена при переходе к бронированию не менялась, в ценообразовании задают специальные правила, где устанавливают скидку на размер таксы с использованием параметра '''Цена подтверждена''' (см. [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]).
Строка 837: Строка 895:
 
#* системы бронирования: '''''SITA''''';
 
#* системы бронирования: '''''SITA''''';
 
#* цена подтверждена: '''0''';
 
#* цена подтверждена: '''0''';
#* сбор агентства: ''укажите размер сбора агентства и скидку на размер таксы от ГРС, используемой для поиска''.
+
#* сбор агентства: ''укажите скидку на размер таксы от ГРС, используемой для поиска + задайте размер сбора агентства''.
 
# Правило ''для бронирования'':
 
# Правило ''для бронирования'':
 
#* валидирующий перевозчик: '''''S7''''';
 
#* валидирующий перевозчик: '''''S7''''';
 
#* системы бронирования: '''''SITA''''';
 
#* системы бронирования: '''''SITA''''';
 
#* цена подтверждена: '''1''';
 
#* цена подтверждена: '''1''';
#* сбор агентства: ''укажите только размер сбора агентства''.
+
#* сбор агентства: ''задайте только размер сбора агентства''.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
|[[Файл:Правила_цо_для_ак_сибирь.png|1000px]]
+
|[[Файл:Правила_цо_для_ак_сибирь.png|800px]]
 
|-
 
|-
 
|Правила ценообразования для авиакомпании «Сибирь« (S7 Airlines)
 
|Правила ценообразования для авиакомпании «Сибирь« (S7 Airlines)
 
|}
 
|}
<!--
+
 
 
Например ([[Файл:Example.xls|200px|thumb|left|пример файла]]):  
 
Например ([[Файл:Example.xls|200px|thumb|left|пример файла]]):  
 
* для строки поиска задать скидку на размер таксы '''''«YQF - для Сейбр/ZZ - для Сирены/YQ - для Галилео»''''', и в столбце «[http://support.nemo.travel/ru/Ценообразование._Импорт_правил#charge Сбор]» нужно проставить "0" - что означает, что цена еще не подтверждена, и к ней применится сбор, установленный вами.
 
* для строки поиска задать скидку на размер таксы '''''«YQF - для Сейбр/ZZ - для Сирены/YQ - для Галилео»''''', и в столбце «[http://support.nemo.travel/ru/Ценообразование._Импорт_правил#charge Сбор]» нужно проставить "0" - что означает, что цена еще не подтверждена, и к ней применится сбор, установленный вами.
Строка 856: Строка 914:
 
-->
 
-->
  
 +
== ЕМД (EMD)== <!--тикет №35178-->
 +
ЕМД - электронный многоцелевой документ или ваучер (см. [[Ваучер|Ваучер]]).
 +
В разделе "Управление продажами → Авиабилеты → Ценообразование → Настройки" есть настройка '''Выпускать EMD на величину сборов заказа'''. Она отвечает за выпуск ЕМД на сбор агентства (доступно только для Сирены Трэвел). Принцип работы: если для агентства, которое покупает билет, в правилах ценообразования заведён сбор агентства для валидирующей компании авиа перевозчика, то при выписке заказа помимо маршрут-квитанции и ЕМД для дополнительных услуг, будет выписан отдельный ЕМД на сбор агентства. Если в заказе присутствуют несколько людей, то сбор разделится между ними, общая сумма сбора увеличена не будет.
 
== См. также ==
 
== См. также ==
 
* [[Ценообразование для субагентов]]
 
* [[Ценообразование для субагентов]]
 +
* [[Валюта]]

Текущая версия на 14:44, 1 марта 2024

Назначение

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

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

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

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

Правило — набор значений комиссий и сборов и условия их применения.
Значения комиссий и сборов — это:

  • комиссия от авиакомпании,
  • бонус авиакомпании,
  • сбор агентства,
  • комиссия субагентам.

Условие применения комиссий и сборов — набор параметров перелетов, к которым будут применяться комиссии и сборы правила (валидирующий перевозчик, ГРС, тип рейса, типы пассажиров и пр.)

Правила ценообразования задаются в таблице в файле формата XLS или XLSX, где:

  • Строка таблицы — правило.
  • Ячейка строки — значение параметра.
  • Заголовок столбца — название параметра.
    Каждая строка является отдельным правилом.
    К одному перелету выбирается по критериям и применяется только одно правило

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

  1. Модуль фиксирует, какую авиакомпанию ГРС определила как валидирующую;
  2. Находит в файле ценообразования все правила для данной авиакомпании;
  3. Подбирает правила, которые соответствуют перелету по всем параметрам;
  4. Выбирает по критериям приоритета одно из подходящих правил;
    • Если сработавшее правило не содержит переопределения валидирующего перевозчика, устанавливается валидирующий перевозчик, полученный от ГРС.
    • Если сработавшее правило содержит переопределение валидирующего перевозчика, устанавливается переопределенный валидирующий перевозчик.
  5. Правило применяется.

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

Внимание! Перелет не может быть выписан, если:

  • правила для авиакомпании не заведены. Такие перелеты рекомендуется удалять из выдачи фильтром результатов поиска «А/к не является контрактной».
  • правила для авиакомпании заведены, но параметры перелета не соответствуют параметрам правила.

Порядок работы модуля приведен в схеме:

Схема ценообразование.png
Схема работы модуля Ценообразование

Комиссии и сборы рассчитываются при каждом обновлении заказа по правилам, загруженным в систему на момент проверки:

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

Если в промежуток между бронированием и выпиской правила изменили, после бронирования заказа комиссии будут рассчитываться по новым правилам, таким образом цена при бронировании и цена при выписке может отличаться. Поведение системы при возникновении такой ситуации задается параметром Пересчитать сервисный сбор в разделе Настройки системы → Фоновые процессы → События синхронизации. Расчет комиссий, действующих на момент бронирования, можно отследить в логах по заказу.

В детализации стоимости (на странице заказа) и в маршрут-квитанции информация по сборам представлена в соответствии с одним из режимов разделения сбора на пассажиров:

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

Сборы в детализации стоимости представлены с учетом разбиения только если скрыты в таксы XP/XX, а иначе отображаются отдельной строкой без разделения.
Настройка находится в разделе «Управление продажами - Авиабилеты - Ценообразование - Настройки - Режим разделения сбора на пассажиров».

Расчет комиссий для неконтрактных авиакомпаний

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

Например,

  • У агентства нет контракта с авиакомпанией «АА».
  • У агентства есть контракт с авиакомпанией «ВВ».
  • Между компаниями «АА» и «BB» интерлайн-соглашение, позволяющее выписывать билеты для «АА» на бланке «ВВ».

Чтобы выписывать билеты авиакомпании «АА», агенство заводит правило для авиакомпанией «АА», в котором заданы:

  1. валидирующий перевозчик: «АА»,
  2. переопределенный перевозчик: «BB»,
  3. доля сегментов интерлайнов: «1»,
  4. комиссия авиакомпании: укажите размер комиссионного вознаграждения, предоставляемого компанией «ВВ» за билеты со 100% долей интерлайн сегментов.

Внимание! Система Nemo.Travel не отслеживает наличие интерлайн-соглашений между перевозчиками. Ответственность за переопределение полностью лежит на агентстве.

Выбор правила для расчета

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

Порядок сравнения правил для выбора правила для расчета:

  1. По колонке Приоритет - если у сработавших правил указан приоритет, то выбирается правило с наибольшим приоритетом.
  2. По наличию переопределенного перевозчика - если срабатывает несколько правил с одинаковым приоритетом (или приоритет не указан), выбирается правило с переопределенным ВП.
  3. По непустой ячейке Комиссия - приоритет правил с установленной комиссией (даже в 0%) выше, чем у правил с пустой ячейкой комиссии.
  4. Дополнительный приоритет - устанавливается вручную в разделе Управление продажами → Авиабилеты → Ценообразование → Настройки параметром Дополнительный приоритет:
    • Нет - не установлен дополнительный приоритет.
    • Максимальная комиссия авиакомпании - выбирается правило с максимальной комиссией от авиакомпании.
    • По количеству параметров в правиле - выбирается правило с наибольшим числом непустых параметров.
  5. Порядковый номер правила - если ни один из приоритетов не применим, приоритетным считается более новое правило (расположенное таблице ниже других).

Тестирование и отладка срабатывания правил

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

Ссылка на таблицу отладки доступна менеджеру и экспертам корневого агентства:

  • на выдаче результатов поиска для каждого перелета по ссылке Комиссия,
  • на странице заказа в детализации стоимости перелета по щелчку на сумму комиссии или сбора.
Ссылка на таблицу отладки на странице поиска.png
Ссылка на таблицу отладки на странице поиска
Страница заказа.png
Ссылка на детализацию стоимости на странице заказа
Детализация стоимости.png
Ссылки на таблицу отладки на странице детализации стоимости

Столбцы таблицы — параметры ценообразования.
Заголовок столбца — значения параметров ценообразования для проверяемого перелета.
Строки таблицы — правила ценообразования для валидирующего перевозчика перелета.

В таблице отражается порядок проверки параметров.

Параметры каждого правила сравниваются в параметрами перелета:

  1. если они совпадают:
    1. ячейка подсвечивается зеленым,
    2. проверяется следующей параметр;
  2. если значение параметра перелета не совпадает со значением параметра правила:
    1. ячейка подсвечивается красным цветом,
    2. проверка правила прекращается.

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

Таблица отладки.png
Таблица отладки

Включение модуля. Импорт и экспорт правил

Чтобы включить расчет комиссий с использованием Ценообразования, включите опции Комиссии 2.0 и Сборы и скидки 2.0 в разделе Управление продажами → Авиабилеты → Ценообразование → Настройки.

Чтобы задать правило ценообразования:

  1. Зайдите в раздел Управление продажами → Авиабилеты → Ценообразование → Импорт/экспорт Excel.
  2. Нажмите Выгрузка в формате "xls" или Выгрузка в формате "xlsx". Откройте файл для редактирования.
  3. Установите правило: заполните параметры строки. Формат внесения данных в каждый столбец должен соответствовать строго определенному формату (см. Импорт правил).
    Обязательные параметры для заполнения:
    • валидирующий перевозчик
    • комиссия
  4. Сохраните изменения в файле.
  5. На странице Импорт/экспорт Excel в панели администрирования нажмите Обзор, откройте файл.
  6. Нажмите Отправить для загрузки файла в систему.

При импорте система валидирует все введенные значения. Если в какой-то ячейке значение внесено в некорректном формате, система сообщит об ошибке, сохранив при этом все корректно заданные правила.

Ошибки импорта Ценообразование.png
Ошибки при валидации параметров

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

Правила ценообразования.png
Правила ценообразования

В таблице предусмотрено цветовое выделение правил, которые на данный момент недействительны:

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

Параметры правил ценообразования

Шаблон файла для внесения правил ценообразования:
Файл:CommImportExampleV1.0.5.xlsx

Внимание! Запрещено переименовывать столбцы!
При этом допускается менять столбцы местами и удалять ненужные столбцы.

Для просмотра описания параметров разверните таблицу:

Параметры правил ценообразования
Заголовок Внутреннее название Описание Допустимые значения Примеры
id id Уникальный номер записи из любой внешней системы (или БД). Необязательный параметр. Не участвует в логике расчетов и используются для удобства идентификации правила. любое значение 123
валидирующий перевозчик GDS valCompanyId Авиакомпания, для которой задается правило. Должна являться контрактной авиакомпанией агента. Если необходимо проводить выписку на стоке другой авиакомпании (по интерлайну), валидирующий перевозчик переопределяется (см. Переопределенный валидирующий перевозчик). Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен — перелет считается недопустимым к выписке и удаляется из результатов поиска при соответствующих настройках фильтрации результатов. пустое игнорируется

2-значный IATA-код авиакомпании

SU

LH

переопределенный вп manualVV Если валидирующий перевозчик, предложенный ГРС не является контрактным или не устраивает агента по комиссии, его можно переопределить принудительно через это поле. В поле ВП указывается ВП от ГРС (или оно оставляется пустым), а в этом поле указывается переопределенный агентством перевозчик. Можно указать только одного перевозчика. Если есть два и более, указываем разными строками.

Ответственность за допустимость замены и за адекватность цены перелета (которая была рассчитана GDS по предложенному ей перевозчику) берет на себя агент. Приоритет у правил с переопределением выше, чем у правил без него.

пустое игнорируется

2-значный IATA-код авиакомпании

SU

LH

перевозчики первого сегмента airlines Набор допустимых маркетинговых перевозчиков первого сегмента маршрута. пустое = любые
КОД,КОД...
<>КОД,КОД...(кроме)
SU,LH,BA

<>S7,SU

перевозчики любого сегмента airlinesAny Набор допустимых маркетинговых перевозчиков (интерлайнов) любого сегмента маршрута.

Допустимые варианты ввода:

  • КОД,КОД,КОД : правило применится, если хотя бы один маркетинговый перевозчик из перелета есть в списке.
  • КОД,КОД,КОД! : правило применится, если каждый маркетинговый перевозчик из перелета встречается в списке
  • <>КОД,КОД,КОД : правило не применится, если хотя бы один маркетинговый перевозчик из перелета встречается в этом списке
  • <>КОД,КОД,КОД! : правило не применится, если все маркетинговые перевозчики из перелета встретятся в этом списке
пустое = любые
- одно или несколько значений (см. описание)
SU,LH,BA
SU,LH!
<>S7,SU
<>S7,BA!
код-шеринг codeSharing Допустимость выполнения рейса другой (оперирующей) авиакомпанией пустое — все перелеты
1 — код-шеринг обязателен
0 — код шеринг запрещён
0

1

операторы operatingAirlines Допустимые оперирующие авиакомпании (проверяются на всех сегментах).

Варианты ввода:

  • КОД,КОД,КОД : правило применится, если хотя бы один оперирующий перевозчик перелета встречается в списке.
  • КОД,КОД,КОД! : правило применится, если каждый оперирующий перевозчик перелета есть в списке.
  • <>КОД,КОД,КОД : правило не применится, если хотя бы один оперирующий перевозчик перелета встречается в списке.
  • <>КОД,КОД,КОД! : правило не применится, если все оперирующие перевозчики перелета есть в списке.
пустое = любые
- одно или несколько значений (см. описание)
SU,LH,BA
SU,LH!
<>S7,SU
<>S7,BA!
доля собственных сегментов ownPart Минимально допустимая доля собственных сегментов (сегментов, где валидирующий перевозчик равен маркетинговому) должна быть больше или равна заданному значению (любое число от 0 до 1):
  • 1 — все сегменты собственные
  • 0.5 — половина или больше собственных сегментов
  • 0.25 — четверть или больше собственных сегментов
  • 0.01 — присутствует минимум один собственный сегмент
  • 0 — все сегменты интерлайны
пустое = любое количество

любое число от 0 до 1

0.88
доля сегментов интерлайнов interlinePart Минимально допустимая доля несобственных сегментов (сегментов, где валидирующий перевозчик не равен маркетинговому) должна быть больше или равна указанному значению(любое число от 0 до 1).
  • 1 — все сегменты интерлайны
  • 0.5 — половина или больше сегментов интерлайнов
  • 0.25 — четверть или больше сегментов интерлайнов
  • 0.01 — присутствует минимум один сегмент интерлайна
  • 0 — все сегменты собственные
пустое = любое количество

любое число от 0 до 1

0.88
тип контракта contractType Система взаиморасчетов BSP или ТКП пустое = любой,
BSP
TCH
TCH
системы бронирования gds Глобальная распределительная система, в которой найден перелет/ PCC конкретных реквизитов / ID пакета реквизитов системы Немо Тревел 1.0 (Nemo 1)

Перечисляются в любой последовательности, можно смешивать разные типы. Действует правило "или": если указан Sabre целиком, все его PCC/пакеты указывать уже нет смысла.

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

пустое = любые
ГРС: SABRE, GALILEO, AMADEUS, SIRENA, SITA, SIG23, MIXVELNDC, U6, ACCELAERO, RADIXX, S7 NDC
PCC: [буквы+цифры]
ID пакета в Nemo 1: [цифры]
SABRE,670P,123

AMADEUS,GALILEO

SITA

начало продажи paymentDateFrom Минимально допустимая дата оформления заказа (не путать с датой вылета). Для срабатывания правила, текущая дата должна быть больше или равна указанной. пустое = игнорируется

DD.MM.YYYY

01.01.2012

31.01.2010

конец продажи paymentDateTo Максимально допустимая дата оформления заказа. Для срабатывания правила, текущая дата должна быть меньше указанной. пустое = игнорируется
DD.MM.YYYY
31.12.2022
тип рейса airlineType Международный или внутренний (весь перелет в пределах одной страны) перелет. Одно значение пустое = любой
IA (international airlines — международные)
DA (domestic airlines — внутренние)
IA
DA
номера рейсов flightNumber Допустимые номера рейсов, можно указывать с кодом маркетинговой компании или без неё.

Варианты ввода:

  • NNN,NNN: правило применится, если хотя бы один номер рейса из перелета из любого сегмента встречается в списке.
  • NNN,NNN! : правило применится, если все номера рейсов из всех сегментов перелета встретятся в списке.
  • <>NNN,NNN : правило не применится, если хотя бы один номер из перелета встретится в списке.
  • <>NNN,NNN! : правило не применится, если все номера из перелета встретятся в списке.
пустое = любые
- одно или несколько значений (см. описание)
SU 123,SU 345
123,345
<>LH 555
тип вс aircraft Допустимые коды воздушных судов, коды указывать в том же виде, в котором возвращает ГРС

Варианты ввода:

  • CODE,CODE: правило применится, если хотя бы один код судна из любого сегмента совпадет с одним из заданного списка.
  • CODE,CODE! : правило применится, если коды судов из всех сегментов перелета есть в списке.
  • <>CODE,CODE : правило не применится, если хотя бы один код из перелета есть списке.
  • <>CODE,CODE! : правило не применится, если все коды из перелета есть в списке.
пустое = любые
- одно или несколько значений (см. описание)
73C,DH4
735
коды тарифов tariffs Допустимые коды тарифов. Должен совпасть хотя бы один тариф из перелета с одним из заданного списка. При правиле с отрицанием никаких совпадений быть не должно. Совпадение не точное: код из правила может содержаться в коде из перелета (к примеру введенное S1GREY26 совпадет с S1GREY26CH из перелета).

Варианты ввода:

  • КОД,КОД: правило применится, если хотя бы один тариф встречается в списке.
  • КОД,КОД! : правило применится, если все тарифы перелета есть в списке.
  • <>КОД,КОД : правило не применится, если хотя бы один тариф встречается в списке.
  • <>КОД,КОД! : правило не применится, если все тарифы перелета есть в списке.

Можно указать регулярное выражение. Для этого нужно написать параметр в формате /XXX/ Примеры:

  • /ABC/ — код должен содержать "..ABC..", например "NBABCS"
  • /abc/i — регистронезависимая проверка, код может содержать символы в любом регистре, например "NBABCS" или "Abcof"
  • /^TN/ — код должен начинаться с "TN..", например "TNQRTY"
  • /OW$/ — код должен заканчиваться на "..OW", например "SRSOW"
  • /^.L/ — первая буква любая ( . — любой символ ), вторая буква в коде тарифа должна быть L, например "QLFST"
  • /OK.*RT/ — ( .* = любое количество любых символов) "..OK..RT..", например "ANOKURTN"
пустое = любые
- одно или несколько значений (см. описание)
WRUTH9PL,ARUTH9PL


/TN.*OW/

максимальный тариф maxTariff Ограничение на максимальное ценовое значение "базовой стоимости" (сумма всех тарифов от перевозчиков в перелете или стоимость от ГРС за вычетом такс). Если параметр задан, то правило, записанное в строке, срабатывает только, если тариф перелета меньше указанного значения или равен ему. пустое = ограничения нет
xxxКОД (см примеры)
10000RUB

300EUR

конф. тариф privateFare Для срабатывания правила у перелета должен присутствовать тариф с признаком конфиденциального (приватного). Об этом сообщает ГРС. Если для однозначного определения правила достаточно указать конкретный код приватного тарифа, признак выставлять необязательно. пустое = любые тарифы
1 — должен присутствовать приватный
0 — приватных тарифов не должно быть
0
1
коды такс taxes Допустимые коды такс

Варианты ввода:

  • КОД,КОД: правило применится, если любая такса из перелета встретится в списке.
  • КОД,КОД! : правило применится, если все таксы перелета встретятся в списке.
  • <>КОД,КОД : правило не применится, если любая такса из перелета встретится в списке.
  • <>КОД,КОД! : правило не применится, если все таксы перелета встретятся в списке.

где КОД — набор заглавных латинских букв.

пустое = любые
- одно или несколько значений (см. описание)
YQ,YR
<>YQ!
цена подтверждена priceIsActual Признак подтвержденной цены перелета. Цена в перелете после поиска считается неподтвержденной, ее статус меняется на "подтверждена" ("актуальна") при создании реального PNR или при запросе актуализации цен в рамках вебсервисов Nemo Connect (до создания PNR) пустое = любые перелеты
1 — перелет в PNR или его цена проверена заранее
0 — перелет только что получен из результатов поиска
0
1
наличие сегментов ВП во всех тарифах valSegmentsInTariff Проверка: среди сегментов любого тарифа должен присутствовать сегмент валидирующего перевозчика (минимум один) пустое или 0 = любые тарифы
1 — условие должно выполняться
0
1
сервис классы serviceClass Допустимые категории классов обслуживания.

Варианты ввода (вносятся одно- или двухбуквенные значения):

  • КОД: правило применится, если класс встречается в списке.
  • КОДКОД: правило применится, если сочетание классов встречается в списке.
  • КОД,КОД: правило применится, если класс из любого сегмента встречается в списке.
  • КОД,КОД! : правило применится, если все классы из всех сегментов перелета есть в списке.
  • <>КОД,КОД : правило не применится, если класс из любого сегмента встречается в списке.
  • <>КОД,КОД! : правило не применится, если все классы из всех сегментов перелета есть в списке.

где КОД:

  • B — бизнес
  • E — эконом
  • F — первый
  • EB — сочетание эконом + бизнес
  • EF — сочетание эконом + первый
  • BF — сочетание бизнес + первый
пустое = любые
- одно или несколько значений (см. описание)
B,E
F
EB,EF,F
классы бронирования (коды) bookingClass Допустимые литеры (однобуквенные коды) классов бронирования. Латинскими буквами, русские буквы допустимые только для правил поставщика Sirena.

Варианты ввода:

  • КОД,КОД: правило применится, если хотя бы один класс из любого сегмента встречается в списке.
  • КОД,КОД! : правило применится, если классы из всех сегментов перелета есть в списке.
  • <>КОД,КОД : правило не применится, если хотя бы один класс из любого сегмента встречается в списке.
  • <>КОД,КОД! : правило не применится, если классы из всех сегментов перелета есть в списке.
пустое = любые
- одно или несколько значений (см. описание)
A,B,C
<>A,B,C
перевозчики и классы airlinesAndClasses

Набор пар "маркетинговый перевозчик" + "класс бронирования" любого сегмента маршрута.

Допустимые варианты ввода:

  • КОД:КОД,КОД:КОД,КОД:КОД : правило применится, если хотя бы один сегмент перелета совпадёт с одним из перечисленных в списке.
  • КОД:КОД,КОД:КОД,КОД:КОД! : правило применится, если все сегменты из перелета встретятся в списке.
  • <>КОД:КОД,КОД:КОД,КОД:КОД : правило не применится, если хотя бы один сегмент перелета совпадет с любым сегментом из перечисленных в списке.
  • <>КОД:КОД,КОД:КОД,КОД:КОД! : правило не применится, если все сегменты перелета встретятся в списке.

пустое = любые
- одно или несколько значений (см. описание)

SU:A,LH:B,BA:C
SU:A,LH:B!
<>S7:A,SU:B
<>S7:A,BA:B!

зоны zones Географические зоны перелета. Весь перелет не должен выходить за пределы одной из указанных зон для срабатывания правила. разделение стран по указанным зонам
  • AF — Африка,
  • AN — Антарктика
  • AS — Азия
  • EU — Европа
  • NA — Северная Америка
  • OC — Австралия и Океания
  • SA — Южная Америка

перелет должен находиться в обеих зонах ( "EUSA, EUNA" — трансатлантический перелет ):

  • EUSA — Европа + Южная Америка,
  • EUNA — Европа + Северная Америка
  • EUAS — Европа + Азия
  • EUAF — Европа + Африка
  • EUOC — Европа + Австралия и Океания
  • AFNA — Африка + Северная Америка
  • ASNA — Азия + Северная Америка
  • EUAN — Европа + Антарктика
  • AFAS — Африка + Азия
  • AFAN — Африка + Антарктика
  • AFOC — Африка + Австралия и Океания
  • AFSA — Африка + Южная Америка
  • ANNA — Антарктика + Северная Америка
  • ANOC — Антарктика + Австралия и Океания
  • ANSA — Антарктика + Южная Америка
  • ASAN — Азия + Антарктика
  • NASA — Северная Америка + Южная Америка
  • OCSA — Австралия и Океания + Южная Америка
  • ASSA — Азия + Южная Америка
  • NAOC — Северная Америка + Австралия и Океания
  • OCAS — Австралия и Океания + Азия

Допустимы только перечисленные комбинации зон!

пустое = любые

- одно или несколько значений

AS,EU
SA
EUSA, EUNA
зона из стран countryZones Перечисленные коды стран образуют зону, за пределами которой самолет не должен садиться и взлетать. пустое = любые

КОД,КОД...

RU,IT,DE,FR
страны вылета depCountries Допустимые страны вылета для перелета (проверяется только страна вылета первого сегмента маршрута). пустое = любые
КОД,КОД...
<>КОД,КОД...(кроме)
RU
<>LV,LT
страны назначения arrCountries Проверяется страна назначения (для OW и CR: это последняя страна последнего сегмента, для RT: это последняя страна первого плеча маршрута). К примеру для перелета MOW-PAR-MOW страна назначения FR, для MOW-PAR-LON — GB. Правило страна вылета=RU, страна назначения=RU не означает местный рейс — не забывайте указывать тип рейса DA (ВВЛ). пустое = любые
КОД,КОД...
<>КОД,КОД...(кроме)
RU
<>LV,LT
прямой рейс isDirect Признак прямого рейса пустое = любые
0 — только с пересадками
1 — только прямые

дополнительно:
2 — начальный перелет прямой
3 — начальный перелет с пересадками

0
1
тип маршрута routeType Можно оставить поле пустым или указать одно значение:
  • В одну сторону — OW,
  • Туда и обратно — RT,
  • Сложный маршрут — CR.
пустое = любой
КОД(см. примеры)
OW
RT
CR
маршруты routeFull Цепочка из IATA кодов городов или аэропортов, описывающая весь маршрут перелета с учетом пересадок, без разрывов и повторов. Всегда следует использовать IATA код города, если он имеется (агрегирующий аэропорт). К примеру перелет VKO-ORY, ORY-VKO приводится к маршруту MOW-PAR-MOW. пустое = любые
КОД-КОД,КОД-КОД,...
<>КОД-КОД,КОД-КОД,...(кроме)
MOW-LON,LON-MOW
<>MOW-BER-PAR
содержит маршруты routePart Указывается только часть маршрута, составленного по аналогии с предыдущим. пустое = любые
КОД-КОД,
-КОД-,...
<>-КОД-,...(кроме)
-CAI-
<>-PRG-,PRG-SVX
маршруты (из аэропортов) routeAirportsFull Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты" см. описание параметра "маршруты" см. описание параметра "маршруты"
содержит маршруты (из аэропортов) routeAirportsPart Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты" см. описание параметра "содержит маршруты" см. описание параметра "содержит маршруты"
вылет (аэропорты, города) depAirports Проверяется только аэропорт вылета первого сегмента. При указании кодов аэропортов необходимо точное совпадение. При указании кодов городов (агрегирующий аэропортов) сопоставление происходит по внутреннему справочнику аэропортов. Рекомендуется указывать коды конкретных аэропортов. пустое = любые
КОД,КОД...
<>КОД,КОД...(кроме)
MOW,PAR,BER <>VKO,LON
прилет (аэропорты, города) arrAirports Аэропорт прилета определяется аналогично "стране назначения". Проверка на сопоставление происходит по аналогии с "вылетом (аэропорты, города)" пустое = любые
КОД,КОД...
<>КОД,КОД...(кроме)
MOW,PAR,BER <>VKO,LON
начало вылета dateBegin Дата вылета первого сегмента должна быть больше или равна указанной дате пустое = игнорируется

DD.MM.YYYY

01.01.2012

31.01.2010

вылет через (в часах) dateDepartureAfter От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120]. пустое = ограничения нет
максимальное значение
[X,X] — диапазон
13

[10,100]

конец вылета dateEnd Дата вылета первого сегмента должна быть меньше или равна указанной дате пустое = игнорируется

DD.MM.YYYY

31.12.2022
возврат не ранее dateBackBegin Дата вылета последнего сегмента маршрута должна быть больше или равна указанной дате пустое = игнорируется

DD.MM.YYYY

31.12.2022
возврат не позднее dateBack Дата вылета последнего сегмента маршрута должна быть меньше или равна указанной дате пустое = игнорируется

DD.MM.YYYY

31.12.2022
длительность в днях daysDuration Ограничение на максимальный разрыв в днях между первой датой перелета и завершением маршрута. Можно задавать диапазон.

Длительность в днях считается, как математическая разность дат. При вылете и возврате в один день длительность равна 0 дней.

пустое = ограничения нет
число дней — максимальное значение (включительно)
[X,X] — диапазон
13

[3,13]

дни недели dayOfWeek Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника. пустое = игнорируется

1 — понедельник
...
7 — воскресенье
- одно или несколько значений

2
3,5
типы пассажиров passengers Допустимые типы пассажиров в перелете. Для срабатывания правила в перелете обязательно должны присутствовать все перечисленные типы. пустое = любые
ADT — взрослый
CLD — ребенок (2-12)
INF — младенец (0-2)
INS — младенец с местом (0-2)
- одно или несколько значений
INF
ADT,CLD
маска перелета Формализованное описание полета в текстовом формате, для создания сложных правил
Будет добавлено в след. версии программы
приоритет priority Если срабатывает несколько правил, то выбирается одно с наибольшим приоритетом. Если существует несколько правил с одинаковым приоритетом (или приоритет не указан) выбирается более новое правило (расположено ниже в импортируемой таблице) целое число
пустое = 0
1
2
код акции Уникальный код промоакции. Создается в панели администрирования в разделе Шаблон:Menu. любой набор букв/цифр/символов 12022014_Promo
utm source utmSource ID источника перехода, который отображается в поле «№» таблицы источников переходов в метрике.
Допустимо вводить несколько источников.
пустое = любые
КОД,КОД...
<>КОД,КОД...(кроме)
123,456
<>123,456
комиссия авиакомпании commission Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для заполнения поле, должно строго соответствовать указанному в контракте значению. Значение передается в ГРС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости. Комиссия всегда вычисляется для каждого пассажира.

Правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.

"xxxКОД" (код валюты) или "XX%" 100RUB
13%
комиссия субагентам agencyCommission Комиссия субагенту - это часть прибыли от авиакомпании, которую агент отписывает субагентам. Значение комиссии действует как скидка для субагентов, уменьшая стоимость авиабилетов. Комиссия всегда вычисляется для каждого пассажира от стоимости тарифа, сумма которого не равна 0.

Форматы задания комиссии субагентам:

Для всех субагентов:

  • Фиксированная сумма: XRUB, где:
    • X - сумма комиссии, целое число или десятичная дробь с разделителем в виде точки: 60, -3, 0.5
    • RUB - IATA-код валюты: EUR, UAH.
  • Процент от тарифа: X%,
    • где X - процент от тарифа, целое число или десятичная дробь с разделителем в виде точки: 60}, -3, 0.5.

Для опеределенных субагентов или групп субагентов:

  • (ID:значение),(ID:значение),(ID:значение),..., где ID - номер субагента (группы) в Nemo.Travel, значение - размер комиссии для этого субагенства (группы) в формате X% или XRUB.

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

  • XX,(ID:YY),(ID:YY),(ID:YY),...}}, где:
    • XX - комиссия для всех субагентов в формате, описанном выше,
    • YY - комиссия для заданного субагента в формате, описанном выше.

В этом случае размер комиссии:

  • для всех субагентов, кроме указанных: XX,
  • для указанных: XX + YY.

Пример:

5%,(123:2%),(345:3%)
.
  • Комиссия субагента под номером 123 составляет: 5% + 2% = 7% от тарифа.
  • Комиссия субагента под номером 345 составляет: 5% + 3% = 8% от тарифа.

Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "." , например: 0.5%

Внимание! В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение комиссии субагента для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (12345,12346,12347:3%) вместо (12345:3%),(12346:3%),(12347:3%). То есть, с использованием группировки одинаковых значений.

см. описание 100RUB

6EUR

2%

5%,(123:100RUB%),(345:2%),(345:-0.5%)

посегментный расчет комиссии modeForSegment Признак применения комиссии или бонуса за каждый сегмент перелета. Например 100 руб. за каждый сегмент. пустое = 0
0 — комиссия одна на весь перелет
1 — комиссию необходимо умножить на кол-во сегментов
0
1
бонус авиакомпании bonus Дополнительная прибыль агента, которую агентство получает от авиакомпании, но в запросах к ГРС она не учитывается. Задается и вычисляется полностью аналогично комиссиям (при вычислении учитывается параметр "посегментный расчет комиссии"). Используется для расчета "прибыльности" авиаперелета, влияет на работу микшера и может повлиять на сбор при установке параметра "минимальная прибыль".

Из всех сработавших правил бонус будет учтен только из одного по следующему приоритету:

  • Максимальный приоритет за сработавшим комиссионным правилом
  • Если в комиссионном правиле бонуса нет, будет использован бонус из другого сработавшего некомиссионного правила (дополнительного правила с пустой комиссией). Если таких правил несколько, используется правило с наибольшим идентификатором (ниже в таблице)
"xxxКОД" (код валюты) или "XX%" 100RUB
13%
бонус за сегмент (допустимые авиакомпании) modeForAirlines Установка текущего параметра принудительно включает режим расчета бонуса за каждый сегмент перелёта (для абсолютно заданного бонуса), но в расчете учитываются только сегменты с валидирующим или с интерлайновыми перевозчиками из заданного здесь списка. пустое

КОД (код АК)
КОД,КОД...

SU

SU,FV

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

формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...
субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания
сумма = слагаемое + слагаемое + слагаемое...[ограничение]
ограничение = диапазон итоговой величины сбора, задается как [цена,цена]
слагаемое = цена*множитель*множитель...
цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости (тариф+таксы) ГРС)
множитель = одно из значений:

  • PAS — общее количество пассажиров (включая INF)
  • ADT — количество взрослых
  • CLD — количество детей (2-12)
  • INF — количество младенцев (0-2)
  • INS — количество младенцев с местом (0-2)
  • SEG — количество сегментов перелета (перелет из А в Б с 1 пересадкой => 2 сегмента)
  • LEG — количество плечей (перелет из А в Б с 1 пересадкой => 1 плечо)
  • TRF — для получения цены тарифа, равен сумме тарифов
  • SGV — количество сегментов валидирующего перевозчика

Примеры:

  • 100RUB*SEG : плюс 100 руб к стоимости заказа за каждый сегмент
  • 150RUB*SEG*PAS;: плюс 150 руб за каждый сегмент, на каждого пассажира. Например: перелет с двумя сегмента и двумя пассажирами = 600 руб.
  • -10%*TRF : 10% скидка от тарифа
  • 50RUB*LEG*ADT[,1000RUB] : 50 руб за каждый билет для взрослого на каждом плече перелета, но не более 1000RUB
  • (<>123,345: 100RUB), (123,345: -100RUB) : субъекты 123 и 345 получат скидку 100 руб., остальные наценку в 100 руб.
  • (B2B: 1000RUB*ADT — 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB) : B2B пользователи получают наценку 1000 руб. за каждый взрослый билет и 100 руб скидку за каждый детский билет, но не менее 1% от общей стоимости и не более 10%. B2C пользователи получают 10% наценку, но не менее 10 долларов. Пользователь ID=123 получит скидку 1000 руб.

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

Внимание! В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение сбора агентства для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (12345,12346,12347:3%) вместо (12345:3%),(12346:3%),(12347:3%). То есть, с использованием группировки одинаковых значений.

Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "." , например: 0.5%

см. описание см. описание
Комиссия метапоиску MetasearchCommission Комиссия, взимается метапоисковой системой (для Nemo.Travel на данный момент это только Aviasales) и рассчитывается на этапе поиска. Значение должно быть указано как десятичное представление процентной ставки - это доля от 1, например, если задано 0.05 - 5%. Можно задавать с/без знака "%". Комиссия рассчитывается от суммы = цена перелета от поставщика + сборы/скидки + доп.сборы + мин.прибыль. Рассчитанное значение округляется до 2х знаков после разделителя. Более подробно данный параметр описан здесь. см. описание 0.05

0.025%

признак доп.сбора chargeExt Настройка позволяет изменять процедуру расчета сбора, добавляя к итоговому результату дополнительные расчетные правила.
  • 0 — Стандартный сбор (значение по умолчанию). Из всех указанных сборов будет применен один по приоритету.
  • 1 — Дополнительный сбор. Сборы, указанные как дополнительные, проверяются отдельно. Аналогично применится один дополнительный сбор с максимальным приоритетом
  • 2 — Обязательный сбор. Будет обязательно применен, если все параметры сбора удовлетворены. Приоритет игнорируется.
пустое = 0

1
2

0
1

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

Формат аналогичен формату сбора агентства. Для расчетов будет применено значение из правила, по которому будет определена комиссия авиакомпании. Если требуется изменить это поведение, следует установить параметр "приоритет мин. прибыли" (см. ниже)

см. описание 50RUB*LEG*PAS
приоритет мин. прибыли minProfitPriority Дополнительный параметр, отвечающий за расчет минимальной прибыли. Сработает правило с наибольшим приоритетом, если приоритет совпадает, то будет использовано правило, которое находится ниже Положительные числовые значения. 1, 2, ...
округление chargeRounding Порядок арифметического округления сбора пустое = 0,
0 = до целого значения,
0.1 = до десятых,
0.01 = до сотых
0.1
0.01





Дополнительные параметры правил для Nemo.Travel платформы

Параметры для работы с приватными (конфиденциальными) тарифами.

Для просмотра описания параметров разверните таблицу:

Дополнительные параметры правил
Заголовок
Внутреннее название
Описание
Допустимые значения
Примеры
tour code gdsTourCode Тур код
любое значение
На примере Amadeus: если не нужно указывать PAX (passengerType), указываем только туркод RU084P, перед туркодом на стороне поставщика всегда добавляется * и внесенная команда в терминале выглядит как FT *RU084P. Если требуется указать PAX (passengerType), то необходимо его указывать с тур кодом без пробела PAXRU084P, в терминале внесенная команда выглядит как FT PAX *RU084P
15ZU
RU084P
ticket designator gdsTicketDesignator Тикет десигнатор
любое значение PP08
endorsement gdsEndorsment Эндорсменты
любое значение
или %VAT_VALUE% для передачи значения НДС в эндорсменте только для ГРС Amadeus, Sabre, Galileo, GalileouAPI и S7 NDC; для Sabre значение передается в ГРС, но не попадает в МК
Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent; %VAT_VALUE%
собственная прибыль агента comAgentProfit Собственная прибыль агента
"xxxКОД" (код валюты) или "XX%" Допустимы только целые значения 100RUB
2%
субъект скидки по туркоду corpClient ID субъекта, которому будет предоставлена скидка по туркоду ID,ID

<>ID,ID

2772,2653

<>2786,2361

скидка по туркоду discount Скидка
"xxxКОД" (код валюты) или "XX%" 100RUB
13%
код авторизации authCode Код авторизации
любое значение MB10


ЕМД (EMD)

ЕМД - электронный многоцелевой документ или ваучер (см. Ваучер). В разделе "Управление продажами → Авиабилеты → Ценообразование → Настройки" есть настройка Выпускать EMD на величину сборов заказа. Она отвечает за выпуск ЕМД на сбор агентства (доступно только для Сирены Трэвел). Принцип работы: если для агентства, которое покупает билет, в правилах ценообразования заведён сбор агентства для валидирующей компании авиа перевозчика, то при выписке заказа помимо маршрут-квитанции и ЕМД для дополнительных услуг, будет выписан отдельный ЕМД на сбор агентства. Если в заказе присутствуют несколько людей, то сбор разделится между ними, общая сумма сбора увеличена не будет.

См. также