Открыть главное меню

Изменения

Ценообразование (Авиабилеты)

16 235 байт добавлено, 1 март
Параметры правил ценообразования
[[Категория:Модули (Авиабилеты)]] [[Категория:Встроенные модули]]
<!-- -->
==Назначение==
Модуль '''Ценообразование''' автоматизирует процесс расчета [[Комиссия (термин)|комиссий]] и [[Комиссия (термин)|сборов]] для [[АвиабилетБилет#Авиабилеты|авиабилетов]], управления комиссионными правилами [[Перевозчик|перевозчиков]], сборами [[Агентство|агентства]] и комиссионными вознаграждениями субагентов.
* позволяет быстро настроить даже сложные комиссионные правила,
Работа модуля основана на правилах ценообразования, которые заводит агентство.
'''Правило''' - набор условий ''значений комиссий и сборов'' и ''условия их применения''. <br />'''Значения комиссий и сборов''' — это:<br /> *комиссия от авиакомпании, <br />*бонус авиакомпании, <br />*сбор агентства, <br />*комиссия субагентам. <br />'''Условие применения правила комиссий и сборов''' — набор параметров перелетов, к которым будут применяться комиссии и сборы правила(''валидирующий перевозчик'', ''ГРС'', ''тип рейса'', ''типы пассажиров'' и пр. )
Правила ценообразования задаются в таблице в файле формата XLS или XLSX, где:
*''Строка таблицы'' - правило. <br />*''Ячейка строки'' - значение параметра. <br />*''Заголовок столбца'' - название параметра. <br />Каждая строка является отдельным правилом. <br />'''К одному перелету выбирается по критериям и применяется только одно правило'''
Прежде чем рассчитать комиссии, модуль ценообразования определяет доступность перелета к выписке и правило, по которому рассчитываются комиссии и сборы, по алгоритму:
# Находит в файле ценообразования все правила для данной [[Авиакомпания|авиакомпании]];
# Подбирает правила, которые соответствуют перелету по всем параметрам;
# Выбирает по критериям приоритета '''одно ''' из подходящих правил;
#* Если сработавшее правило не содержит переопределения валидирующего перевозчика, устанавливается валидирующий перевозчик, полученный от ГРС.
#* Если сработавшее правило содержит переопределение валидирующего перевозчика, устанавливается переопределенный валидирующий перевозчик.
# Правило применяется.
Агентство может [[Выписка (Авиабилеты)|выписывать]] онлайн перелеты только '''контрактных авиакомпаний'''. Авиакомпания считается контрактной, если для нее заведено хотя бы 1 правило в загруженном файле ценообразования.
{{Attention|Перелет '''не может быть выписан''', если:}}* правила для авиакомпании не заведены. Такие перелеты рекомендуется удалять из выдачи [[Фильтр Фильтры результатов поиска (Авиабилеты)|фильтром результатов поиска]] «А/к не является контрактной».
* правила для авиакомпании заведены, но параметры перелета не соответствуют параметрам правила.
Порядок работы модуля приведен в схеме:
*при обновлении страницы заказа.
Если в промежуток между бронированием и выпиской '''''правила изменили''''', после бронирования заказа комиссии будут рассчитываться по новым правилам, таким образом цена при бронировании и цена при выписке может отличаться. Поведение системы при возникновении такой ситуации задается параметром '''''Пересчитать сервисный сбор''''' в разделе Настройки системы → Фоновые процессы → События синхронизации<!--{{Menu|Настройки системы|Фоновые процессы|События синхронизации}}-->. Расчет комиссий, действующих на момент бронирования, можно отследить в логах по заказу. В детализации стоимости (на странице заказа) и в маршрут-квитанции информация по сборам представлена в соответствии с одним из '''режимов разделения сбора на пассажиров''':* Поровну между ненулевыми стоимостями билетов - сбор агентства, субагентства разделяется поровну между всеми пассажирами, у которых сумма тарифа и такс больше 0. Этот режим выбран по умолчанию.* Поровну между всеми тарифами - сбор агентства, субагентства разделяется поровну между всеми пассажирами.* Пропорционально тарифам - сбора агентства, субагентства разделяется пропорционально стоимости тарифа для конкретного пассажира в общей сумме заказа, т.е. чем больше стоимость тарифа, тем большая часть сбора на него отводится.* Только первому типу пассажира - сбор агентства, субагентства определяется первому типу пассажира.* Пропорционально тарифам, за исключением младенцев - сбора агентства, субагентства разделяется пропорционально стоимости тарифа для конкретного пассажира в общей сумме заказа, за исключением младенца.''Сборы в детализации стоимости представлены с учетом разбиения только если скрыты в таксы XP/XX, а иначе отображаются отдельной строкой без разделения.'' <br>Настройка находится в разделе '''«Управление продажами - Авиабилеты - Ценообразование - Настройки - Режим разделения сбора на пассажиров».'''
=== Расчет комиссий для неконтрактных авиакомпаний ===
#'''По наличию переопределенного перевозчика''' - если срабатывает несколько правил с одинаковым приоритетом (или приоритет не указан), выбирается правило с переопределенным ВП.
#'''По непустой ячейке ''Комиссия''''' - приоритет правил с установленной комиссией (даже в 0%) выше, чем у правил с пустой ячейкой комиссии.
#''' Дополнительный приоритет''' - ''устанавливается вручную'' в разделе Настройки системы '''Управление продажами → Авиабилеты Фоновые процессы Ценообразование События синхронизации Настройки''' <!--{{Menu|Управление продажами|Авиабилеты|Ценообразование|Настройки}}--> параметром '''''Дополнительный приоритет''''':
#*'''''Нет''''' - не установлен дополнительный приоритет.
#*'''''Максимальная комиссия авиакомпании''''' - выбирается правило с максимальной комиссией от авиакомпании.
== Тестирование и отладка срабатывания правил ==
Все расчеты на каждом этапе их применения [[Логи системы|логируются]] и отображаются в таблице отладки. Таблица отладки используется для контроля срабатывания правил. Она содержит , предоставляя информацию о применении правил к выбранному перелету.
Ссылка на таблицу отладки доступна менеджеру и экспертам корневого агентства:
* на выдаче результатов поиска для каждого перелета по ссылке '''''Комиссия''''', <!--* на странице подтверждения бронирования и информации о заказе по добавлению гет-параметра '''?(&)test''' в адресную строку (например, http://host/XXXXXX?test).-->
* на странице заказа в детализации стоимости перелета по щелчку на сумму комиссии или сбора.
{| class="wikitable"
|}
В таблице отладки отображаются все '''Столбцы таблицы''' — параметры ценообразования. <br />'''Заголовок столбца''' — значения параметров ценообразования для проверяемого перелета. <br />'''Строки таблицы''' — правила ценообразования ''для валидирующего перевозчика данного '' перелета. <!--* проверяемые перевозчики, установленный валидирующий перевозчик;* все параметры выбранного перелета, которые определены системой;* размер рассчитанных комиссий и сборов, примененное для расчета правило.--> В ней таблице отражается порядок проверки параметров: .параметры Параметры каждого правила сравниваются в параметрами перелета:
# если они совпадают:
#* # ячейка подсвечивается зеленым,#* # проверяется следующей параметр;
# если значение параметра перелета не совпадает со значением параметра правила:
#* # ячейка подсвечивается красным цветом, #* # проверка правила прекращается.
'''Если правило подошло по всем параметрам, то правило применяется, комиссии и сборы подсвечиваются зеленым светом, рядом отображаются их вычисленные значения.'''
|Таблица отладки
|}
 
Параметры (столбцы) таблицы отладки:
* проверяемые перевозчики, установленный валидирующий перевозчик;
* данные о группе и пользователе, к которым привязан заказ;
* все параметры выбранного перелета, которые определены системой;
* проверка совпадения с параметрами в правилах для проверяемого перевозчика;
* выделение параметров, по которым есть несовпадение;
* размер рассчитанных комиссий и сборов, примененное для расчета правило.
== Включение модуля. Импорт и экспорт правил ==
Чтобы задать правило ценообразования:
# Зайдите в раздел Управление продажами → Авиабилеты → Ценообразование → Импорт/экспорт Excel<!--{{Menu|Управление продажами|Авиабилеты|Ценообразование|Импорт/экспорт Excel}}-->.
# Нажмите '''Выгрузка в формате "xls"''' или '''Выгрузка в формате "xlsx"'''. Откройте файл для редактирования.
# Установите правило: '''заполните параметры строки'''. Формат внесения данных в каждый столбец должен соответствовать строго определенному формату (см. [[Ценообразование (Авиабилеты)#Импорт правил|Импорт правил]]). <br /> Обязательные параметры для заполнения:
#* '''''валидирующий перевозчик'''''
|Правила ценообразования
|}
 
В таблице предусмотрено цветовое выделение правил, которые на данный момент недействительны:
* правила, срок действия которых ещё не наступил (дата начала продажи больше текущей даты, см. раздел [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]), выделяются оранжевым цветом,
* правила, срок действия которых истёк (дата окончания продажи больше текущей даты), выделяются фиолетовым цветом.
== Параметры правил ценообразования==
'''Шаблон файла для внесения правил ценообразования:'''<br/>[[File:CommImportExampleV1.0.5.xlsx]]
{{Attention|Запрещено переименовывать столбцы!}}<br/> При этом допускается удаление ненужных столбцовменять столбцы местами и удалять ненужные столбцыДля просмотра описания параметров <span style="background-color:gold">разверните таблицу</span>:
{| class="wikitable mw-collapsible mw-collapsed"
|colspan="5"| '''Параметры правил ценообразования'''
|-
! scope="col" | Заголовок
| валидирующий перевозчик GDS
| <span id="valCompanyId">valCompanyId</span>
| Авиакомпания, для которой задается правило. Должна являться контрактной авиакомпанией агента. Если необходимо проводить выписку на стоке другой авиакомпании (по интерлайну), валидирующий перевозчик переопределяется (см. [[Ценообразование (Авиабилеты)#Переопределенный валидирующий перевозчик|Переопределенный валидирующий перевозчик]]). Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен - перелет считается недопустимым к выписке и удаляется из результатов поиска при соответствующих настройках фильтрации результатов.| width="20%"| пустое игнорируется
2-значный IATA-код авиакомпании
| переопределенный вп
| <span id="manualVV">manualVV</span>
| Если валидирующий перевозчик, предложенный ГРС не является контрактным или не устраивает агента по комиссии, его можно переопределить принудительно через это поле. В поле ВП указывается ВП от ГРС (или оно оставляется пустым), а в этом поле указывается переопределенный агентством перевозчик. Можно указать только одного перевозчика. Если есть два и более, указываем разными строками.
Ответственность за допустимость замены и за адекватность цены перелета (которая была рассчитана GDS по предложенному ей перевозчику) берет на себя агент. Приоритет у правил с переопределением выше, чем у правил без него.
Допустимые варианты ввода:
* КОД,КОД,КОД&nbsp;: правило применится, если хотя бы один маркетинговый перевозчик из перелета должен быть есть в списке.* КОД,КОД,КОД!&nbsp;: правило применится, если каждый маркетинговый перевозчик из перелета должен встречаться встречается в этом списке* <>КОД,КОД,КОД&nbsp;: правило не применится, если хотя бы один маркетинговый перевозчик из перелета не встречается в этом списке* <>КОД,КОД,КОД!&nbsp;: правило не применится, если все маркетинговые перевозчики из перелета не должны встречаться встретятся в этом списке
| пустое = любые<br/>- одно или несколько значений (см. описание)
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
| <span id="codeSharing">codeSharing</span>
| Допустимость выполнения рейса другой (оперирующей) авиакомпанией
| пустое - все перелеты<br/>1 - код-шеринг обязателен <br/>0 - код шеринг запрещён
| 0
Варианты ввода:
* КОД,КОД,КОД&nbsp;: должен совпасть правило применится, если хотя бы один оперирующий перевозчик из перелета с одним из заданного спискавстречается в списке.* КОД,КОД,КОД!&nbsp;: правило применится, если каждый оперирующий перевозчик из перелета должен встречаться есть в этом списке.* <>КОД,КОД,КОД&nbsp;: правило не применится, если хотя бы один оперирующий перевозчик из перелета не должен быть встречается в этом списке.* <>КОД,КОД,КОД!&nbsp;: правило не применится, если все оперирующие перевозчики из перелета не должны встречаться есть в этом списке.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
| <span id="ownPart">ownPart</span>
| Минимально допустимая доля собственных сегментов (сегментов, где валидирующий перевозчик равен маркетинговому) должна быть больше или равна заданному значению (любое число от 0 до 1):
* 1 - все сегменты собственные* 0.5 - половина или больше собственных сегментов* 0.25 - четверть или больше собственных сегментов* 0.01 - присутствует минимум один собственный сегмент* 0 - все сегменты интерлайны
| пустое = любое количество<br/>
любое число от 0 до 1
| <span id="interlinePart">interlinePart</span>
| Минимально допустимая доля несобственных сегментов (сегментов, где валидирующий перевозчик не равен маркетинговому) должна быть больше или равна указанному значению(любое число от 0 до 1).
* 1 - все сегменты интерлайны* 0.5 - половина или больше сегментов интерлайнов* 0.25 - четверть или больше сегментов интерлайнов* 0.01 - присутствует минимум один сегмент интерлайна* 0 - все сегменты собственные
| пустое = любое количество<br/>
любое число от 0 до 1
| системы бронирования
| <span id="gds">gds</span>
| Глобальная распределительная система , в которой найден перелет/ PCC конкретных реквизитов / ID пакета реквизитов системы {{NameProject1}}(Nemo 1)
Перечисляются в любой последовательности, можно смешивать разные типы. Действует правило "или": если указан Sabre целиком, все его PCC/пакеты указывать уже нет смысла.
 {{Attention|При указании названия ГРС строго соблюдайте формат названия, указанный в документации. При расхождении с шаблоном правило не будет применяться!}}| пустое = любые<br/>ГРС: <code>SABRE, GALILEO, AMADEUS, SIRENA, SITA - GDS, SIG23, MIXVELNDC, U6, ACCELAERO, RADIXX, S7 NDC</code><br/>PCC: [буквы+цифры] - PCC<br/>ID пакета в '''Nemo 1''': [цифры] - ID пакета
| SABRE,670P,123
AMADEUS,GALILEO
 
SITA
|-
| начало продажи
| конец продажи
| <span id="paymentDateTo">paymentDateTo</span>
| Максимально допустимая дата оформления заказа. Для срабатывания правила, текущая дата должна быть меньше или равна указанной.
| пустое = игнорируется<br/>DD.MM.YYYY
| 31.12.2022
| <span id="airlineType">airlineType</span>
| Международный или внутренний (весь перелет в пределах одной страны) перелет. Одно значение
| пустое = любой<br/>IA (international airlines - международные)<br/>DA (domestic airlines - внутренние)
| IA<br/>DA
|-
Варианты ввода:
* NNN,NNN: должен совпасть правило применится, если хотя бы один номер рейса из перелета из любого сегмента с одним из заданного спискавстречается в списке.* NNN,NNN!&nbsp;: правило применится, если все номера рейсов из всех сегментов перелета должны встречаться встретятся в этом списке.* <>NNN,NNN&nbsp;: правило не применится, если хотя бы один номер из перелета не должен быть встретится в этом списке.* <>NNN,NNN!&nbsp;: правило не применится, если все номера из перелета не должны встречаться встретятся в этом списке. 
| пустое = любые<br/>- одно или несколько значений (см. описание)
| SU 123,SU 345<br/>123,345<br/><>LH 555
Варианты ввода:
* CODE,CODE: должен совпасть правило применится, если хотя бы один код судна из любого сегмента совпадет с одним из заданного списка.* CODE,CODE!&nbsp;: правило применится, если коды судов из всех сегментов перелета должны встречаться есть в этом списке.* <>CODE,CODE&nbsp;: правило не применится, если хотя бы один код из перелета не должен быть в этом есть списке.* <>CODE,CODE!&nbsp;: правило не применится, если все коды из перелета не должны встречаться есть в этом списке. 
| пустое = любые<br/>- одно или несколько значений (см. описание)
| 73C,DH4<br/>735
| коды тарифов
| <span id="tariffs">tariffs</span>
| Допустимые коды тарифов. Должен совпасть хотя бы один тариф из перелета с одним из заданного списка. При правиле с отрицанием никаких совпадений быть не должно. Совпадение не точное: код из правила может содержаться в коде из перелета (к примеру введенное S1GREY26 совпадет с S1GREY26CH из перелета).
Варианты ввода:
* КОД,КОД: должен совпасть любой правило применится, если хотя бы один тариф с одним из заданного спискавстречается в списке.* КОД,КОД!&nbsp;: правило применится, если все тарифы перелета должны встречаться есть в этом списке.* <>КОД,КОД&nbsp;: правило не применится, если хотя бы один тариф из перелета не должен быть встречается в этом списке.* <>КОД,КОД!&nbsp;: правило не применится, если все тарифы из перелета не должны встречаться есть в этом списке.
Можно указать [http://ru.wikipedia.org/wiki/Регулярные_выражения регулярное выражение]. Для этого нужно написать параметр в формате /XXX/ Примеры:
* /ABC/ - код должен содержать "..ABC..", например "NBABCS"* /abc/i - регистронезависимая проверка, код может содержать символы в любом регистре, например "NBABCS" или "Abcof"* /'''^'''TN/ - код должен начинаться с "TN..", например "TNQRTY"* /OW'''$'''/ - код должен заканчиваться на "..OW", например "SRSOW"* /'''^.'''L/ - первая буква любая ( '''.''' - любой символ ), вторая буква в коде тарифа должна быть L, например "QLFST"* /OK'''.*'''RT/ - ( '''.*''' = любое количество любых символов) "..OK..RT..", например "ANOKURTN"
| пустое = любые<br/>- одно или несколько значений (см. описание)
| WRUTH9PL,ARUTH9PL
| максимальный тариф
| <span id="maxTariff">maxTariff</span>
| Ограничение на максимальное ценовое значение "базовой стоимости" (сумма всех тарифов от перевозчиков в перелете или стоимость от ГРС за вычетом такс). Если параметр задан, то правило, записанное в строке, срабатывает только, если тариф перелета меньше указанногозначения или равен ему.
| пустое = ограничения нет<br/>xxxКОД (см примеры)
| 10000RUB<br>
| <span id="privateFare">privateFare</span>
| Для срабатывания правила у перелета должен присутствовать тариф с признаком конфиденциального (приватного). Об этом сообщает ГРС. Если для однозначного определения правила достаточно указать конкретный код приватного тарифа, признак выставлять необязательно.
| пустое = любые тарифы<br/>1 - должен присутствовать приватный<br/>0 - приватных тарифов не должно быть
| 0<br/>1
|-
Варианты ввода:
* КОД,КОД: должна совпасть правило применится, если любая такса из перелета с одной из заданного спискавстретится в списке.* КОД,КОД!&nbsp;: правило применится, если все таксы перелета должны встречаться встретятся в этом списке.* <>КОД,КОД&nbsp;: хотя бы одна правило не применится, если любая такса из перелета не должна быть встретится в этом списке.* <>КОД,КОД!&nbsp;: правило не применится, если все таксы из перелета не должны встречаться встретятся в этом списке.где КОД - набор заглавных латинских букв.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| YQ,YR<br/><>YQ!
| <span id="priceIsActual">priceIsActual</span>
| Признак подтвержденной цены перелета. Цена в перелете после поиска считается неподтвержденной, ее статус меняется на "подтверждена" ("актуальна") при создании реального PNR или при запросе актуализации цен в рамках вебсервисов {{NameProject2}} (до создания PNR)
| пустое = любые перелеты<br/>1 - перелет в PNR или его цена проверена заранее <br/>0 - перелет только что получен из результатов поиска
| 0<br/>1
|-
| <span id="valSegmentsInTariff">valSegmentsInTariff</span>
| Проверка: среди сегментов любого тарифа должен присутствовать сегмент валидирующего перевозчика (минимум один)
| пустое или 0 = любые тарифы<br/>1 - условие должно выполняться
| 0<br/>1
|-
| Допустимые категории классов обслуживания.
Варианты ввода(вносятся одно- или двухбуквенные значения):* КОД: правило применится, если класс встречается в списке.* КОДКОД: правило применится, если сочетание классов встречается в списке.* КОД,КОД: должен совпасть правило применится, если класс из любого сегмента с одним из заданного спискавстречается в списке.* КОД,КОД!&nbsp;: правило применится, если все классы из всех сегметнов сегментов перелета должны встречаться есть в этом списке.* <>КОД,КОД&nbsp;: хотя бы один правило не применится, если класс из перелета не должен быть любого сегмента встречается в этом списке.* <>КОД,КОД!&nbsp;: правило не применится, если все классы из всех сегментов перелета не должны встречаться есть в этом списке.
где КОД:
* B - бизнес* E - эконом* F - первый* EB - сочетание эконом + бизнес* EF - сочетание эконом + первый* BF - сочетание бизнес + первый
| пустое = любые<br/>- одно или несколько значений (см. описание)
| B,E<br/>F<br/>EB,EF,F
Варианты ввода:
* КОД,КОД: должен совпасть правило применится, если хотя бы один класс из любого сегмента с одним из заданного спискавстречается в списке.* КОД,КОД!&nbsp;: правило применится, если классы из всех сегментов перелета должны встречаться есть в этом списке.* <>КОД,КОД&nbsp;: правило не применится, если хотя бы один класс из перелета не должен быть любого сегмента встречается в этом списке.* <>КОД,КОД!&nbsp;: все правило не применится, если классы из всех сегментов перелета не должны встречаться есть в этом списке.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| A,B,C<br/><>A,B,C
|-
| перевозчики и классы
| <span id="airlinesAndClasses">airlinesAndClasses</span>
|
Набор пар "маркетинговый перевозчик" + "класс бронирования" любого сегмента маршрута.
 
Допустимые варианты ввода:
 
* КОД:КОД,КОД:КОД,КОД:КОД : правило применится, если хотя бы один сегмент перелета совпадёт с одним из перечисленных в списке.
* КОД:КОД,КОД:КОД,КОД:КОД! : правило применится, если все сегменты из перелета встретятся в списке.
* <>КОД:КОД,КОД:КОД,КОД:КОД : правило не применится, если хотя бы один сегмент перелета совпадет с любым сегментом из перечисленных в списке.
* <>КОД:КОД,КОД:КОД,КОД:КОД! : правило не применится, если все сегменты перелета встретятся в списке.
|
пустое = любые<br/>- одно или несколько значений (см. описание)
 
|
SU:A,LH:B,BA:C<br/>
SU:A,LH:B!<br/>
<>S7:A,SU:B<br/>
<>S7:A,BA:B!
|-
| зоны
| <span id="zones">zones</span>
| Географические зоны перелета. Весь перелет не должен выходить за пределы одной из указанных зон для срабатывания правила. [http://www.geonames.org/countries/ разделение стран по указанным зонам]
* 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<br/>SA<br/>EUSA, EUNA
|-
| зона из стран
| <span id="countryZones">countryZones</span>
| Перечисленные коды стран образуют зону, за пределами которой самолет не должен садиться и взлетать.
| пустое = любые
КОД,КОД...
| RU,IT,DE,FR
|-
| страны вылета
| страны назначения
| <span id="arrCountries">arrCountries</span>
| Проверяется страна назначения (для OW и CR: это последняя страна последнего сегмента, для RT: это последняя страна первого плеча маршрута). К примеру для перелета MOW-PAR-MOW страна назначения FR, для MOW-PAR-LON - GB. '''Правило страна вылета=RU, страна назначения=RU не означает местный рейс''' - не забывайте указывать тип рейса DA (ВВЛ).
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
| RU<br/><>LV,LT
| <span id="isDirect">isDirect</span>
| Признак прямого рейса
| пустое = любые<br/>0 - только с пересадками<br/>1 - только прямые<br/>дополнительно:<br/>2 - начальный перелет прямой<br/>3 - начальный перелет с пересадками
| 0<br/>1
|-
| <span id="routeType">routeType</span>
| Можно оставить поле пустым или указать одно значение:
* В одну сторону - OW,* Туда и обратно - RT,* Сложный маршрут - CR.
| пустое = любой<br/>КОД(см. примеры)
| OW<br/>RT<br/>CR
| <span id="routeAirportsFull">routeAirportsFull</span>
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты"
| см. описаниепараметра "маршруты"| см. описаниепараметра "маршруты"
|-
| содержит маршруты (из аэропортов)
| <span id="routeAirportsPart">routeAirportsPart</span>
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"
| см. описаниепараметра "содержит маршруты"| см. описаниепараметра "содержит маршруты"
|-
| вылет (аэропорты, города)
| <span id="dateBegin">dateDepartureAfter</span>
| От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120].
| пустое = ограничения нет <br/> максимальное значение <br/>[X,X] - диапазон
| 13
Длительность в днях считается, как математическая разность дат. При вылете и возврате в один день длительность равна 0 дней.
| пустое = ограничения нет<br/>число дней - максимальное значение (включительно)<br/>[X,X] - диапазон
| 13<br/>
[3,13]
| Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника.
| пустое = игнорируется<br/>
1 - понедельник<br/>...<br/>7 - воскресенье<br/>- одно или несколько значений
| 2<br/>3,5
|-
| <span id="passengers">passengers</span>
| Допустимые типы пассажиров в перелете. Для срабатывания правила в перелете обязательно должны присутствовать все перечисленные типы.
| пустое = любые<br/>ADT - взрослый<br/>CLD - ребенок (2-12)<br/>INF - младенец (0-2)<br/>INS - младенец с местом (0-2)<br/>- одно или несколько значений
| INF<br/>ADT,CLD
|-
| код акции
|
| Уникальный код промоакции. Создается в панели администрирования в разделе {{Menu|Управление продажами |Модули |Программа лояльности |Промоакции и промокоды.}}.
| любой набор букв/цифр/символов
| 12022014_Promo
| комиссия авиакомпании
| <span id="commission">commission</span>
| Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для заполнения поле, должно строго соответствовать указанному в контракте значению. Значение передается в ГРС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости (за . Комиссия всегда вычисляется для каждого пассажира).
Правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.
| "xxxКОД" (код валюты) или "XX%"
| комиссия субагентам
| <span id="agencyCommission">agencyCommission</span>
| Часть Комиссия субагенту - это часть прибыли от авиакомпании, которую агент отписывает субагентам. Указанное значение сразу Значение комиссии действует как скидка только для субагентов, уменьшая стоимость авиабилетов. Можно указать идентификаторы отдельных Комиссия всегда вычисляется для каждого пассажира от стоимости тарифа, сумма которого не равна 0. '''Форматы задания комиссии субагентам: ''' Для всех субагентов:<br/>* Фиксированная сумма: <code>XRUB</code>, где:** ''X'' - сумма комиссии, целое число или десятичная дробь с разделителем в виде точки: <code>60</code>, <code>-3</code>, <code>0.5</code> ** ''RUB'' - IATA-код валюты: <code>EUR</code>, <code>UAH</code>.* Процент от тарифа: <code>X%</code>, **где ''X'' - процент от тарифа, целое число или десятичная дробь с разделителем в виде точки: <code>60}</code>, <code>-3</code>, <code>0.5</code>.Для опеределенных субагентов или групп субагентов:<br/>* <code>(ID:значение),(ID:значение),(ID:значение),...</code>, где ''ID'' - номер субагента (группы) в {{NameSystem}}, ''значение'' - размер комиссии для этого субагенства (группы) в формате <code>X%</code> или <code>XRUB</code>. В одном правиле можно комбинировать комиссию для всех субагентов и комиссии для указанных субагентовв формате:* <code>XX,(ID:YY),(ID:YY),(ID:YY),... Если }}, где:** XX - комиссия задана для всех субагентовв формате, описанном выше, и задана ** YY - комиссия для конкретного заданного субагента Xв формате, то комиссияописанном выше. В этом случае размер комиссии:субагента X = Комиссия субагента X + Комиссия установленная * для всех субагентов, кроме указанных: XX, * для указанных: XX + YY.  '''Пример:''' <br/>Например: <pre>5%,(123:62%), (345:83%) <br/pre>. *Комиссия субагента с ID под номером 123 = 6составляет: 5% + 52% = 7%от тарифа. <br/>Формат*Комиссия субагента под номером 345 составляет:5% + 3% = 8% от тарифа. * Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "xxxКОД." (код валюты) или "XX, например: <code>0.5%" (процент от тарифа) - </code> {{Attention|В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение применяется ко всем субагентам* комиссии субагента для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (субъект12345,12346,12347:цена3%)&nbsp;: для применения к конкретным, указывается ID субагентства в {{NameSystem}}* вместо (субъект12345:цена3%),(субъект12346:цена3%),(субъект12347:цена3%).То есть, с использованием группировки одинаковых значений..&nbsp;: комбинации}} 
| см. описание
| <code>100RUB<br/code> <code>6EUR</code> <code>2%</code> <code>5%,(123:6100RUB%), (345:82%),(345:-0.5%)</code> 
|-
| посегментный расчет комиссии
| <span id="modeForSegment">modeForSegment</span>
| Признак применения комиссии или бонуса за каждый сегмент перелета. Например 100 руб. за каждый сегмент.
| пустое = 0<br/>0 - комиссия одна на весь перелет<br/>1 - комиссию необходимо умножить на кол-во сегментов
| 0<br/>1
|-
| <span id="charge">charge</span>
| Здесь указываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>
формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости (тариф+таксы) ГРС)<br/>множитель = одно из значений:* PAS - общее количество пассажиров(включая INF)* ADT - количество взрослых* CLD - количество детей (2-12)* INF - количество младенцев (0-2)* INS - количество младенцев с местом (0-2)* SEG - количество сегментов перелета (перелет из А в Б с 1 пересадкой => 2 сегмента)* LEG - количество плечей (перелет из А в Б с 1 пересадкой => 1 плечо)* TRF - для получения цены тарифа, равен сумме тарифов* SGV - количество сегментов валидирующего перевозчика
Примеры:
* 100RUB*SEG&nbsp;: плюс 100 руб к стоимости заказа за каждый сегмент
* 50RUB*LEG*ADT[,1000RUB]&nbsp;: 50 руб за каждый билет для взрослого на каждом плече перелета, но не более 1000RUB
* (<>123,345: 100RUB), (123,345: -100RUB)&nbsp;: субъекты 123 и 345 получат скидку 100 руб., остальные наценку в 100 руб.
* (B2B: 1000RUB*ADT - 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB)&nbsp;: B2B пользователи получают наценку 1000 руб. за каждый взрослый билет и 100 руб скидку за каждый детский билет, но не менее 1% от общей стоимости и не более 10%. B2C пользователи получают 10% наценку, но не менее 10 долларов. Пользователь ID=123 получит скидку 1000 руб.
Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом.
 
{{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%
|-
| признак доп.сбора
| <span id="chargeExt">chargeExt</span>
| Настройка позволяет изменять процедуру расчета сбора, добавляя к итоговому результату дополнительные расчетные правила.
* 0 - Стандартный сбор (значение по умолчанию). Из всех указанных сборов будет применен один по приоритету.<br/>* 1 - Дополнительный сбор. Сборы, указанные как дополнительные, проверяются отдельно. Аналогично применится один дополнительный сбор с максимальным приоритетом* 2 - Обязательный сбор. Будет обязательно применен, если все параметры сбора удовлетворены. Приоритет игнорируется.
| пустое = 0<br/>
1<br/>
== Дополнительные параметры правил для {{NameSystem}} платформы ==
Трёхсторонних договор между авиакомпанией, агентом и корпоративным клиентом позволяет корпоративному клиенту получать скидку при оформлении перелета через агентаПараметры для работы с приватными (конфиденциальными) тарифами.
Чтобы оформлять билеты с учетом 3Для просмотра описания параметров <span style="background-сторонних договоров, агенту нужно указать в файле ценообразования ряд параметровcolor:gold">разверните таблицу</span>:* id субъекта, к которому применяется скидка,* скидку* и код авторизации.
{| {| class="wikitable mw-collapsible mw-collapsed"|colspan="5"| '''Дополнительные параметры правил'''
|-
! scope="col" | Заголовок<br/>! scope="col" | Внутреннее название<br/>! scope="col" | Описание<br/>! scope="col" | Допустимые значения<br/>! scope="col" | Примеры<br/>
|-
| tour code
| <span id="id">gdsTourCode</span>
| Тур код<br/>| любое значение<br/> На примере Amadeus: если не нужно указывать PAX (passengerType), указываем только туркод RU084P, перед туркодом на стороне поставщика всегда добавляется * и внесенная команда в терминале выглядит как FT *RU084P. Если требуется указать PAX (passengerType), то необходимо его указывать с тур кодом без пробела PAXRU084P, в терминале внесенная команда выглядит как FT PAX *RU084P| 15ZU<br/> RU084P
|-
| ticket designator
| <span id="id">gdsTicketDesignator</span>
| Тикет десигнатор<br/>
| любое значение
| PP08
| endorsement
| <span id="id">gdsEndorsment</span>
| Эндорсменты<br/>| любое значение<br/> или %VAT_VALUE% для передачи значения НДС в эндорсменте только для ГРС Amadeus, Sabre, Galileo, GalileouAPI и S7 NDC; для Sabre значение передается в ГРС, но не попадает в МК| Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent; %VAT_VALUE%
|-
| собственная прибыль агента
| <span id="id">comAgentProfit</span>
| Собственная прибыль агента<br/>| "xxxКОД" (код валюты) или "XX%" Допустимы только целые значения| 100RUB<br/>2% |-| субъект скидки по туркоду| <span id="id">corpClient</span>| ID субъекта, которому будет предоставлена скидка по туркоду| ID,ID<>ID,ID| 2772,2653<>2786,2361|-| скидка по туркоду| <span id="id">discount</span>| Скидка<br/>
| "xxxКОД" (код валюты) или "XX%"
| 100RUB<br/>213%|-| код авторизации| <span id="id">authCode</span>| Код авторизации<br/>| любое значение| MB10
|}
<!-- выпилила АЛ, ибо для S7 уже неактуально == Ценообразование. ГРС SITA Gabriel ==
Задание ценовых правил для авиакомпании '''«Сибирь» (S7 Airlines)''' в ГРС ''SITA Gabriel'' имеет свою специфику. Поскольку для авиакомпании S7 в ГРС ''SITA Gabriel'' осуществляется только бронирование и выписка, а [[Поиск (Авиабилеты)|поиск]] ведется в других ГРС, цена перелета при поиске и при бронировании может отличаться на размер такс, которые есть в ГРC, используемой для поиска, но не нет отсутствуют в ''SITA Gabriel''. Чтобы цена при переходе к бронированию не менялась, в ценообразовании задают специальные правила, где устанавливают скидку на размер таксы с использованием параметра '''Цена подтверждена''' (см. [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]).
Коды такс:
Размеры такс варьируются в зависимости от курса.
Правило Каждое правило для перелетов авиакомпании '''«Сибирь» (S7 Airlines)''' разбивается на 2отдельных строки:
# Правило ''для поиска'':
#* системы бронирования: '''''SITA''''';
#* цена подтверждена: '''0''';
#* сбор агентства: ''укажите размер сбора агентства и скидку на размер таксы от ГРС, используемой для поиска+ задайте размер сбора агентства''.
# Правило ''для бронирования'':
#* валидирующий перевозчик: '''''S7''''';
#* системы бронирования: '''''SITA''''';
#* цена подтверждена: '''1''';
#* сбор агентства: ''укажите задайте только размер сбора агентства''.
{| class="wikitable"
|-
|[[Файл:Правила_цо_для_ак_сибирь.png|1000px800px]]
|-
|Правила ценообразования для авиакомпании «Сибирь« (S7 Airlines)
|}
<!--
Например ([[Файл:Example.xls|200px|thumb|left|пример файла]]):
* для строки поиска задать скидку на размер таксы '''''«YQF - для Сейбр/ZZ - для Сирены/YQ - для Галилео»''''', и в столбце «[http://support.nemo.travel/ru/Ценообразование._Импорт_правил#charge Сбор]» нужно проставить "0" - что означает, что цена еще не подтверждена, и к ней применится сбор, установленный вами.
-->
== ЕМД (EMD)== <!--тикет №35178-->
ЕМД - электронный многоцелевой документ или ваучер (см. [[Ваучер|Ваучер]]).
В разделе "Управление продажами → Авиабилеты → Ценообразование → Настройки" есть настройка '''Выпускать EMD на величину сборов заказа'''. Она отвечает за выпуск ЕМД на сбор агентства (доступно только для Сирены Трэвел). Принцип работы: если для агентства, которое покупает билет, в правилах ценообразования заведён сбор агентства для валидирующей компании авиа перевозчика, то при выписке заказа помимо маршрут-квитанции и ЕМД для дополнительных услуг, будет выписан отдельный ЕМД на сбор агентства. Если в заказе присутствуют несколько людей, то сбор разделится между ними, общая сумма сбора увеличена не будет.
== См. также ==
* [[Ценообразование для субагентов]]
* [[Валюта]]
'