Изменения

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

Ценообразование для субагентов

22 183 байта добавлено, 15:00, 14 апреля 2016
Параметры правил
====Условия применения сбора====
*'''Тип рейса''':<!--**'''''Любой''''',{| class="wikitable mw-collapsible mw-collapsed"**'''''Международный перелет''''',**'''''Внутренний перелёт'''''.|-*'''Класс обслуживания''':! scope="col" | Заголовок**'''''Эконом''''',! scope="col" | Описание**'''''Бизнес''''',! scope="col" | Допустимые значения**'''''Первый'''''.! scope="col" | Примеры*'''Тип маршрута''':|-**'''''В одну сторону''''',| валидирующий перевозчик GDS**'''''Туда и обратно'''''| Авиакомпания,**'''''Сложный маршрут'''''для которой задается правило. Должна являться контрактной авиакомпанией агента.*'''Начало продажи''' - дата начала продажи билетов Если необходимо проводить выписку на рейс в формате дд.мм.гггг.*'''Конец продажи''' - дата в формате дд.мм.гггг.*'''Города/аэропорты вылета''' - IATA код аэропорта стоке другой авиакомпании (городапо интерлайну) вылета, валидирующий перевозчик переопределяется (см.*'''Города/аэропорты прилета''' - IATA код аэропорта [[Ценообразование (городаАвиабилеты)#Переопределенный валидирующий перевозчик|Переопределенный валидирующий перевозчик]]) вылета.Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен — перелет считается недопустимым к выписке и удаляется из результатов поиска при соответствующих настройках фильтрации результатов.| пустое игнорируется
*'''Допустимые перевозчики первого сегмента'''*'''Допустимые перевозчики (интерлайны) любого сегмента'''*'''Минимально допустимая доля собственных сегментов''' 2- число от 0 до 1 (дробный разделитель точка). Ограничение на минимальную долю сегментов валидирующего перевозчика в перелете.*'''Минимально допустимая доля сегментов интерлайнов''' значный IATA- число от 0 до 1 (дробный разделитель точка). Ограничение на максимальную долю сегментов валидирующего перевозчика в перелете.*'''Допустимые оперирующие код авиакомпании'''*'''Номера рейсов''' - номера рейсов через запятую.*'''Тарифы''' - коды тарифов через запятую.*'''Допустимые классы бронирования''' коды классов через запятую.*'''Географические зоны перелета''' - весь перелет не должен выходить за пределы одной или нескольких из указанных зон:**'''''Европа''''',**'''''Азия''''',**'''''Африка''''',**'''''Северная Америка''''',**'''''Южная Америка''''',**'''''Австралия и Океания''''',**'''''Антарктика'''''.Допустимые дни недели для даты вылета первого сегмента маршрутаПонедельникВторникСредаЧетвергПятницаСубботаВоскресеньеМожно не указывать значенияСтраны вылета Оставьте поле пустым, если данный параметр не имеет значенияСтраны назначения Оставьте поле пустым, если данный параметр не имеет значенияНачало вылета| SU
Дата в формате ддLH|-| Допустимые перевозчики первого сегмента| Набор допустимых маркетинговых перевозчиков первого сегмента маршрута.| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД..мм.гггг(кроме)Конец вылета| SU,LH,BA
Дата в формате дд<>S7,SU|-| перевозчики любого сегмента| Набор допустимых маркетинговых перевозчиков (интерлайнов) любого сегмента маршрута.мм.ггггВозврат не позднее
Дата Допустимые варианты ввода:* КОД,КОД,КОД&nbsp;: хотя бы один маркетинговый перевозчик из перелета должен быть в формате ддсписке.мм* КОД,КОД,КОД!&nbsp;: каждый маркетинговый перевозчик из перелета должен встречаться в этом списке* <>КОД,КОД,КОД&nbsp;: если хотя бы один маркетинговый перевозчик из перелета не встречается в этом списке* <>КОД,КОД,КОД!&nbsp;: все маркетинговые перевозчики из перелета не должны встречаться в этом списке| пустое = любые<br/>- одно или несколько значений (см.ггггописание)| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!|-| код-шеринг| Допустимость выполнения рейса другой (оперирующей) авиакомпанией| пустое — все перелеты<br/>1 — код-шеринг обязателен <br/>0 — код шеринг запрещёнМаршруты| 0
Цепочка из IATA кодов городов или аэропортов, описывающая весь маршрут перелета с учетом пересадок, без разрывов и повторов. Всегда следует использовать IATA код города, если он имеется 1|-| операторы| Допустимые оперирующие авиакомпании (агрегирующий аэропортпроверяются на всех сегментах). К примеру перелет VKO-ORY, ORY-VKO приводится к маршруту MOW-PAR-MOW.Содержит маршруты
Цепочка Варианты ввода:* КОД,КОД,КОД&nbsp;: должен совпасть хотя бы один оперирующий перевозчик из IATA кодов городов или аэропортовперелета с одним из заданного списка.* КОД,КОД,КОД!&nbsp;: каждый оперирующий перевозчик из перелета должен встречаться в этом списке* <>КОД,КОД, описывающая часть маршрута КОД&nbsp;: хотя бы один оперирующий перевозчик из перелета с учетом пересадокне должен быть в этом списке* <>КОД,КОД, без разрывов и повторовКОД!&nbsp;: все оперирующие перевозчики из перелета не должны встречаться в этом списке| пустое = любые<br/>- одно или несколько значений (см. Всегда следует использовать IATA код городаописание)| SU, если он имеется LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!|-| доля собственных сегментов| Минимально допустимая доля собственных сегментов (агрегирующий аэропортсегментов, где валидирующий перевозчик равен маркетинговому) должна быть больше или равна заданному значению (любое число от 0 до 1):* 1 — все сегменты собственные* 0.5 — половина или больше собственных сегментов* 0.25 — четверть или больше собственных сегментов* 0. К примеру перелет VKO01 — присутствует минимум один собственный сегмент* 0 — все сегменты интерлайны| пустое = любое количество<br/>любое число от 0 до 1| 0.88|-ORY| доля сегментов интерлайнов| Минимально допустимая доля несобственных сегментов (сегментов, ORYгде валидирующий перевозчик не равен маркетинговому) должна быть больше или равна указанному значению(любое число от 0 до 1).* 1 — все сегменты интерлайны* 0.5 — половина или больше сегментов интерлайнов* 0.25 — четверть или больше сегментов интерлайнов* 0.01 — присутствует минимум один сегмент интерлайна* 0 — все сегменты собственные| пустое = любое количество<br/>любое число от 0 до 1| 0.88|-VKO приводится к маршруту MOW-PAR-MOW| начало продажи| Минимально допустимая дата оформления заказа (не путать с датой вылета). Для срабатывания правила, текущая дата должна быть больше или равна указанной.Прямой перелет| пустое = игнорируется<br/>DD.MM.YYYYДлительность в днях от| 01.01.2012
31.01.2010|-| конец продажи| Максимально допустимая дата оформления заказа. Для маршрутов тудасрабатывания правила, текущая дата должна быть меньше или равна указанной.| пустое = игнорируется<br/>DD.MM.YYYY| 31.12.2022|-обратноДлительность | тип рейса| Международный или внутренний (весь перелет в днях допределах одной страны) перелет. Одно значение| пустое = любой<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|-| коды тарифов| Допустимые коды тарифов. Должен совпасть хотя бы один из перелета с одним из заданного списка. При правиле с отрицанием никаких совпадений быть не должно. Совпадение не точное: код из правила может содержаться в коде из перелета (к примеру введенное 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
<br/>/TN.*OW/
|-
| коды такс
| Допустимые коды такс
 
Варианты ввода:
* КОД,КОД: должна совпасть любая такса из перелета с одной из заданного списка.
* КОД,КОД!&nbsp;: все таксы перелета должны встречаться в этом списке
* <>КОД,КОД&nbsp;: хотя бы одна такса из перелета не должна быть в этом списке
* <>КОД,КОД!&nbsp;: все таксы из перелета не должны встречаться в этом списке
где КОД — набор заглавных латинских букв.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| YQ,YR<br/><>YQ!
|-
| наличие сегментов ВП во всех тарифах
| Проверка: среди сегментов любого тарифа должен присутствовать сегмент валидирующего перевозчика (минимум один)
| пустое или 0 = любые тарифы<br/>1 — условие должно выполняться
| 0<br/>1
|-
| сервис классы
| Допустимые категории классов обслуживания.
 
Варианты ввода:
* КОД,КОД: должен совпасть класс из любого сегмента с одним из заданного списка.
* КОД,КОД!&nbsp;: классы из всех сегметнов перелета должны встречаться в этом списке
* <>КОД,КОД&nbsp;: хотя бы один класс из перелета не должен быть в этом списке
* <>КОД,КОД!&nbsp;: все классы из перелета не должны встречаться в этом списке
где КОД:
* B — бизнес
* E — эконом
* F — первый
* EB — сочетание эконом + бизнес
* EF — сочетание эконом + первый
* BF — сочетание бизнес + первый
| пустое = любые<br/>- одно или несколько значений (см. описание)
| B,E<br/>F<br/>EB,EF,F
|-
| перевозчики и классы
|
Набор пар "маркетинговый перевозчик" + "класс бронирования" любого сегмента маршрута.
 
Допустимые варианты ввода:
 
* КОД:КОД,КОД:КОД,КОД:КОД : хотя бы один сегмент из перелета должен подойти по авиакомпании+класс.
* КОД:КОД,КОД:КОД,КОД:КОД! : все сегменты из перелета должны подойти по параметрам
* <>КОД:КОД,КОД:КОД,КОД:КОД : если хотя бы один сегмент не подошел
* <>КОД:КОД,КОД:КОД,КОД:КОД! : все сегменты из перелета не должны подходить
 
|
пустое = любые<br/>- одно или несколько значений (см. описание)
 
|
SU:A,LH:B,BA:C<br/>
SU:A,LH:B!<br/>
<>S7:A,SU:B<br/>
<>S7:A,BA:B!
|-
| зоны
| Географические зоны перелета. Весь перелет не должен выходить за пределы одной из указанных зон для срабатывания правила. [http://www.geonames.org/countries/ разделение стран по указанным зонам]
* AF — Африка,
* AN — Антарктика
* AS — Азия
* EU — Европа
* NA — Северная Америка
* OC — Австралия и Океания
* SA — Южная Америка
перелет должен находиться в обеих зонах ( "EUSA, EUNA" — трансатлантический перелет ):
* EUSA — Европа + Южная Америка,
* EUNA — Европа + Северная Америка
* EUAS — Европа + Азия
* EUAF — Европа + Африка
* EUOC — Европа + Австралия и Океания
* AFNA — Африка + Северная Америка
* ASNA — Азия + Северная Америка
| пустое = любые
 
- одно или несколько значений
| AS,EU<br/>SA<br/>EUSA, EUNA
|-
| зона из стран
| Перечисленные коды стран образуют зону, за пределами которой самолет не должен садиться и взлетать.
| пустое = любые
КОД,КОД...
| RU,IT,DE,FR
|-
| страны вылета
| Допустимые страны вылета для перелета (проверяется только страна вылета первого сегмента маршрута).
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
| RU<br/><>LV,LT
|-
| страны назначения
| Проверяется страна назначения (для OW и CR: это последняя страна последнего сегмента, для RT: это последняя страна первого плеча маршрута). К примеру для перелета MOW-PAR-MOW страна назначения FR, для MOW-PAR-LON — GB. '''Правило страна вылета=RU, страна назначения=RU не означает местный рейс''' — не забывайте указывать тип рейса DA (ВВЛ).
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
| RU<br/><>LV,LT
|-
| прямой рейс
| Признак прямого рейса
| пустое = любые<br/>0 — только с пересадками<br/>1 — только прямые<br/>
дополнительно:<br/>2 — начальный перелет прямой<br/>3 — начальный перелет с пересадками
| 0<br/>1
|-
| тип маршрута
| Можно оставить поле пустым или указать одно значение:
* В одну сторону — OW,
* Туда и обратно — RT,
* Сложный маршрут — CR.
| пустое = любой<br/>КОД(см. примеры)
| OW<br/>RT<br/>CR
|-
| маршруты
| Цепочка из IATA кодов городов или аэропортов, описывающая весь маршрут перелета с учетом пересадок, без разрывов и повторов. Всегда следует использовать IATA код города, если он имеется (агрегирующий аэропорт). К примеру перелет VKO-ORY, ORY-VKO приводится к маршруту MOW-PAR-MOW.
| пустое = любые<br/>КОД-КОД,КОД-КОД,...<br/><>КОД-КОД,КОД-КОД,...(кроме)
| MOW-LON,LON-MOW<br/><>MOW-BER-PAR
|-
| содержит маршруты
| Указывается только часть маршрута, составленного по аналогии с предыдущим.
| пустое = любые<br/>КОД-КОД,<br/>-КОД-,...<br/><>-КОД-,...(кроме)
| -CAI-<br/><>-PRG-,PRG-SVX
|-
| маршруты (из аэропортов)
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты"
| см. описание
| см. описание
|-
| содержит маршруты (из аэропортов)
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"
| см. описание
| см. описание
|-
| вылет (аэропорты, города)
| Проверяется только аэропорт вылета первого сегмента. При указании кодов аэропортов необходимо точное совпадение. При указании кодов городов (агрегирующий аэропортов) сопоставление происходит по внутреннему справочнику аэропортов. Рекомендуется указывать коды конкретных аэропортов.
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
| MOW,PAR,BER <>VKO,LON
|-
| прилет (аэропорты, города)
| Аэропорт прилета определяется аналогично "стране назначения". Проверка на сопоставление происходит по аналогии с "вылетом (аэропорты, города)"
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
| MOW,PAR,BER <>VKO,LON
|-
| начало вылета
| Дата вылета первого сегмента должна быть больше или равна указанной дате
| пустое = игнорируется<br/>
DD.MM.YYYY
| 01.01.2012
 
31.01.2010
|-
| вылет через (в часах)
| От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120].
| пустое = ограничения нет <br/> максимальное значение <br/>[X,X] — диапазон
| 13
 
[10,100]
|-
| конец вылета
| Дата вылета первого сегмента должна быть меньше или равна указанной дате
| пустое = игнорируется<br/>
DD.MM.YYYY
| 31.12.2022
|-
| возврат не позднее
| Дата вылета последнего сегмента маршрута должна быть меньше или равна указанной дате
| пустое = игнорируется<br/>
DD.MM.YYYY
| 31.12.2022
|-
| дни недели
| Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника.
| пустое = игнорируется<br/>
1 — понедельник<br/>...<br/>7 — воскресенье<br/>- одно или несколько значений
| 2<br/>3,5
|-
| типы пассажиров
| Допустимые типы пассажиров в перелете. Для срабатывания правила в перелете обязательно должны присутствовать все перечисленные типы.
| пустое = любые<br/>ADT — взрослый<br/>CLD — ребенок (2-12)<br/>INF — младенец (0-2)<br/>INS — младенец с местом (0-2)<br/>- одно или несколько значений
| INF<br/>ADT,CLD
|-
| маска перелета
| Формализованное описание полета в текстовом формате, для создания сложных правил<br/>Будет добавлено в след. версии программы
|
|
|-
| сбор агентства
| Здесь указываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>
формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости ГРС)<br/>множитель = одно из значений:
* PAS — общее количество пассажиров
* ADT — количество взрослых
* CLD — количество детей (2-12)
* INF — количество младенцев (0-2)
* INS — количество младенцев с местом (0-2)
* SEG — количество сегментов перелета (перелет из А в Б с 1 пересадкой => 2 сегмента)
* LEG — количество плечей (перелет из А в Б с 1 пересадкой => 1 плечо)
* TRF — для получения цены тарифа, равен сумме тарифов
* SGV — количество сегментов валидирующего перевозчика
Примеры:
* 100RUB*SEG&nbsp;: плюс 100 руб к стоимости заказа за каждый сегмент
* 150RUB*SEG*PAS;: плюс 150 руб за каждый сегмент, на каждого пассажира. Например: перелет с двумя сегмента и двумя пассажирами = 600 руб.
* -10%*TRF&nbsp;: 10% скидка от тарифа
* 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 руб.
 
Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом.
| см. описание
| см. описание
|-
| минимальная прибыль
| Минимальная прибыль, которую агентство получит за заказ. Если рассчитанная прибыль агентства меньше минимальной, то сбор будет увеличен до необходимого значения.
Формат аналогичен формату сбора агентства. Для расчетов будет применено значение из правила, по которому будет определена комиссия авиакомпании. Если требуется изменить это поведение, следует установить параметр "приоритет мин. прибыли" (см. ниже)
| см. описание
| 50RUB*LEG*PAS
|-
| округление
| Порядок арифметического округления сбора
| пустое = 0,<br/>0 = до целого значения,<br/>0.1 = до десятых,<br/>0.01 = до сотых
| 0.1<br/>0.01
|-
|}
-->
====Параметры сбора====

Навигация

'