Pricing 2.0: specification: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
'''Empty file template'''<br/>[[File:CommImportExampleV1.0.5.xlsx]]
+
'''Full file example'''<br/>[[File:Full_file_example.xls]]
  
 
----
 
----
Строка 8: Строка 8:
 
|-
 
|-
 
! scope="col" | Title<br/>
 
! scope="col" | Title<br/>
! scope="col" | Operating name<br/>
+
! scope="col" | Operating name (used in the table file)<br/>
 
! scope="col" | Description<br/>
 
! scope="col" | Description<br/>
 
! scope="col" | Acceptable values<br/>
 
! scope="col" | Acceptable values<br/>
Строка 464: Строка 464:
 
| routes (for airports)
 
| routes (for airports)
 
| <span id="routeAirportsFull">routeAirportsFull</span>
 
| <span id="routeAirportsFull">routeAirportsFull</span>
| Here you have to use only airports IATA codes (not cities). The column purpose is the same as for 2 previous parameters.
+
| Here you have to use only airports IATA codes (not cities). The column purpose is the same as for the "routeFull" parameter.
 
| see description
 
| see description
 
| see description
 
| see description
 
|-
 
|-
| содержит маршруты (из аэропортов)
+
| parts of a route (for airports)
 
| <span id="routeAirportsPart">routeAirportsPart</span>
 
| <span id="routeAirportsPart">routeAirportsPart</span>
| В правиле можно и нужно использовать IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"
+
| Here you have to use only airports IATA codes (not cities). The column purpose is the same as for the "routePart" parameter.
| см. описание
+
| see description
| см. описание
+
| see description
 
|-
 
|-
| вылет (аэропорты, города)
+
| departures (airports, cities)
 
| <span id="depAirports">depAirports</span>
 
| <span id="depAirports">depAirports</span>
| Проверяется только аэропорт вылета первого сегмента. При указании кодов аэропортов необходимо точное совпадение. При указании кодов городов (агрегирующий аэропортов) сопоставление происходит по внутреннему справочнику аэропоротов. Рекомендуется указывать коды конкретных аэропортов.
+
| Only the first segment airport is checked. Here you can list cities or airports IATA codes.
 
|  
 
|  
пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
+
empty = any countries<br/>CODE,CODE...<br/><>CODE,CODE...(exception)
  
 
|  
 
|  
Строка 484: Строка 484:
  
 
|-
 
|-
| прилет (аэропорты, города)
+
| arrival (airports, cities)
 
| <span id="arrAirports">arrAirports</span>
 
| <span id="arrAirports">arrAirports</span>
| Аэропорт прилета определяется аналогично "стране назначения". Проверка на сопоставление происходит по аналогии с "вылетом (аэропорты, города)"
+
| Arrival airport is defined in the same way as the "arrival country" parameter.  
 
|  
 
|  
пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
+
empty = any countries<br/>CODE,CODE...<br/><>CODE,CODE...(exception)
  
 
|  
 
|  
Строка 494: Строка 494:
  
 
|-
 
|-
| начало вылета
+
| departure date
 
| <span id="dateBegin">dateBegin</span>
 
| <span id="dateBegin">dateBegin</span>
| Дата вылета первого сегмента должна быть больше или равна указанной дате
+
| First segment departure date must be more or equal to this value in the rule.
| пустое = игнорируется<br/>
+
| empty = ignored<br/>
 
DD.MM.YYYY
 
DD.MM.YYYY
  
Строка 504: Строка 504:
  
 
|-
 
|-
| вылет через (в часах)
+
| departure within (hours)
 
| <span id="dateBegin">dateDepartureAfter</span>
 
| <span id="dateBegin">dateDepartureAfter</span>
| От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120].
+
| Maximum allowed amount of hours (or diapason) is defined here (starting from the current date). For examle, if you want to specify flights with departure in 5 days or less, then you should set a diapason [0,120].  
| пустое = ограничения нет <br/> максимальное значение <br/>[X,X] - диапазон
+
| empty = without limits <br/> maximum value <br/> [x,x] - diapason
 
 
 
| 13
 
| 13
 
[10,100]
 
[10,100]
  
 
|-
 
|-
| конец вылета
+
| end of departure
 
| <span id="dateEnd">dateEnd</span>
 
| <span id="dateEnd">dateEnd</span>
| Дата вылета первого сегмента должна быть меньше или равна указанной дате
+
| Departure date of the first segment flight must be less than or equal to this value
| пустое = игнорируется<br/>
+
| empty = ignored<br/>
 
DD.MM.YYYY
 
DD.MM.YYYY
  
 
| 31.12.2022
 
| 31.12.2022
 
|-
 
|-
| возврат не ранее
+
| return no sooner than
 
| <span id="dateBackBegin">dateBackBegin</span>
 
| <span id="dateBackBegin">dateBackBegin</span>
| Дата вылета последнего сегмента маршрута должна быть больше или равна указанной дате
+
| Departure date of the last segment flight must be more than or equal to this value
| пустое = игнорируется<br/>
+
| empty = ignored<br/>
 
DD.MM.YYYY
 
DD.MM.YYYY
  
 
| 31.12.2022
 
| 31.12.2022
 
|-
 
|-
| возврат не позднее
+
| return no later than
 
| <span id="dateBack">dateBack</span>
 
| <span id="dateBack">dateBack</span>
| Дата вылета последнего сегмента маршрута должна быть меньше или равна указанной дате
+
| Departure date of the last segment flight must be less than or equal to this value
| пустое = игнорируется<br/>
+
| empty = ignored<br/>
 
DD.MM.YYYY
 
DD.MM.YYYY
  
 
| 31.12.2022
 
| 31.12.2022
 
|-
 
|-
| длительность в днях
+
| flight duration (days)
 
| <span id="daysDuration">daysDuration</span>
 
| <span id="daysDuration">daysDuration</span>
| Ограничение на максимальный разрыв в днях между первой датой перелета и завершением маршрута.<br/>Можно задавать диапазон<br/>
+
| Limit for the maximum range between the departure and arrival dates (in days). <br/> Can be defined as a diapason in brackets. <br/>
Длительность в днях считается, как математическая разность дат. При вылете и возврате в один день длительность равна 0 дней.
+
Duration in days is calculated as mathematic difference between the dates. If departure and arrival are the same day, then the flight duration is equal to 0 days.
|  
+
|
пустое = ограничения нет<br/>число дней - максимальное значение (включительно)<br/>[X,X] - диапазон
+
empty = no limits<br/>value - maximum allowed amount<br/>[X,X] - diapason
  
 
|  
 
|  
Строка 549: Строка 548:
  
 
|-
 
|-
| дни недели
+
| days of week
 
| <span id="dayOfWeek">dayOfWeek</span>
 
| <span id="dayOfWeek">dayOfWeek</span>
 +
| Allowed days of week for the ferst segment departure date. Value is to be defined as a digit according to the day of week number (starting from Monday).
 
| Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника.
 
| Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника.
| пустое = игнорируется<br/>
+
| empty = ignored<br/>
1 - понедельник<br/>...<br/>7 - воскресенье<br/>- одно или несколько значений
+
1 - Monday<br/>...<br/>7 - Sunday<br/>- 1 or several values
 
 
 
|  
 
|  
 
2<br/>3,5
 
2<br/>3,5
  
 
|-
 
|-
| типы пассажиров
+
| passenger types
 
| <span id="passengers">passengers</span>
 
| <span id="passengers">passengers</span>
| Допустимые типы пассажиров в перелете. Для срабатывания правила в перелете обязательно должны присутствовать все перечисленные типы.
+
| Allowed passenger types for a flight. A rule will be applied only if all passenger types listed in the column are presented in a flight.
 
|  
 
|  
пустое = любые<br/>ADT - взрослый<br/>CLD - ребебок (2-12)<br/>INF - младенец (0-2)<br/>INS - младенец с местом (0-2)<br/>- одно или несколько значений
+
empty = any<br/>ADT - adult<br/>CLD - child (2-12)<br/>INF - infant (0-2)<br/>INS - infant with a seat (0-2)<br/>- 1 or several values
  
 
|  
 
|  
 
INF<br/>ADT,CLD
 
INF<br/>ADT,CLD
 
|-
 
|-
| приоритет
+
| priority
 
| <span id="priority">priority</span>
 
| <span id="priority">priority</span>
| Если срабатывает несколько правил, то выбирается одно с наибольшим приоритетом. Если существует несколько правил с одинаковым приоритетом (или приоритет не указан) выбирается более новое правило (расположено ниже в импортируемой таблице)
+
| If several rules are applicable for one flight, only one rule with the highest priority will be applied. If there are several rules with the same priority (or it isn't defined), then the newest rule (which is the lowest in a table) will be appllied.
| целое число<br/>пустое = 0
+
| integer number<br/>empty = 0
 
| 1<br/>2
 
| 1<br/>2
  
  
 
|-
 
|-
| код акции
+
| promoaction code
 
|  
 
|  
| Универсальный код промоакции. Создается в админ панели в разделе '''Программа лояльности''' ⇨ '''Промоакции и промокоды'''.
+
| Universal promoaction coded. It's generated in the system settings panel (Loyalty program - Promoactions and promocodes). Available only if this module is activated for an agency.  
| любой набор букв/цифр/символов
+
| any sequence of letters/digits/symbols
 
| 12022014_Promo
 
| 12022014_Promo
  
Строка 585: Строка 584:
 
| utm source
 
| utm source
 
| <span id="utmSource">utmSource</span>
 
| <span id="utmSource">utmSource</span>
| ID источника перехода, который отображается в поле «№» таблицы источников переходов в метрике.<br/> Допустимо вводить несколько источников.<br/>
+
| ID of the external traffic source, which is displayed in the table of traffic sources in system setting panel. Available only if the Metric module is activated for an agency.
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
+
| empty = any<br/>CODE,CODE...<br/><>CODE,CODE...(кроме)
 
| 123,456<br/><>123,456
 
| 123,456<br/><>123,456
 
|-
 
|-
  
 
|-
 
|-
| комиссия авиакомпании
+
| airline commission
 
| <span id="commission">commission</span>
 
| <span id="commission">commission</span>
| Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для правильного заполнение поле, должно соответствовать указанному в контракте. Значение передается через ГДС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости (за каждого пассажира)
+
| Agency's profit that will be got from the airline for selling its tickets. Mandatory parameter. This value is passed to GDS while the tickets are issued. Can be defined as & of the fare or as a flat value (per each passenger). A rule with zero commission value have a higher priority than the same rule with empty commission.
При определении валидирующего перевозчика, правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.
 
 
 
 
|  
 
|  
"xxxКОД" (код валюты) или "XX%"
+
"xxxКОД" (currency code) or "XX%"
  
 
| 100RUB<br/>13%
 
| 100RUB<br/>13%
 
|-
 
|-
| комиссия субагентам
+
| subagency commission
 
| <span id="agencyCommission">agencyCommission</span>
 
| <span id="agencyCommission">agencyCommission</span>
| Часть прибыли от авиакомпании, которой агент готов поделится с субагентами. Указанное значение сразу действует как скидка только для субагентов, уменьшая стоимость авиабилетов. Можно указать идентификаторы отдельных субагентов. В случае, когда  комиссия задана для всех субагентов, и задана комиссия для конкретного субагента X, то комиссия
+
| Part of the airline commision which can be paid by agency to its subagents. A value from this column will be applied as a discount for subagents, so the tickets will be cheaper for them. You can define IDs for specific subagents. If there is a commission defined for all subagents and also a commission defined for subagent X, then the total commission for subagent X will be calculated as a sum of these values. <br/>
субагента X = Комиссия субагента X + Комиссия установленная для всех субагентов. <br/>
+
For example,: 5%,(123:6%), (345:8%) <br/>
Например: 5%,(123:6%), (345:8%) <br/>
+
Commission for subagent with ID 123 = 6% + 5%. <br/>
Крмиссия субагента с ID 123 = 6% + 5%. <br/>
+
Format:
Формат:
 
  
*"xxxКОД" (код валюты) или "XX%" (процент от тарифа) - значение применяется ко всем субагентам
+
*"xxxCODE" (currency code) or "XX%" (percent of a fare) - will be applied for all subagents.
*(субъект:цена)&nbsp;: для применения к конкретным, указывается ID субагентства в Немо
+
*(subject:value)&nbsp;: applied for specific subagents, Nemo subagent ID should be defined.
*(субъект:цена),(субъект:цена),(субъект:цена)...&nbsp;: комбинации
+
*(subject:value),(subject:value),(subject:value)...&nbsp;: combinations.
  
 
|  
 
|  
см. описание
+
see description
  
 
| 100RUB<br/>5%,(123:6%), (345:8%)
 
| 100RUB<br/>5%,(123:6%), (345:8%)
 
|-
 
|-
| посегментный расчет комиссии
+
| commission per each segment
 
| <span id="modeForSegment">modeForSegment</span>
 
| <span id="modeForSegment">modeForSegment</span>
| Признак применения комиссии или бонуса за каждый сегмент перелета. Например 100 руб. за каждый сегмент.
+
| Attribute will define whether the commision value should be multiplied by the total segments amount. For example, 1 EUR per each segment.
  
  
 
|  
 
|  
пустое = 0<br/>0 - комиссия одна на весь перелет<br/>1 - комиссию необходимо умножить на кол-во сегментов
+
empty = 0<br/>0 - commision for the whole flight stays the same as defined in the commission column. <br/> 1 - commission defined in the "commission" column should be multipled by the segments amount.
  
 
|  
 
|  
Строка 630: Строка 626:
  
 
|-
 
|-
| бонус авиакомпании
+
| airline bonuse
 
| <span id="bonus">bonus</span>
 
| <span id="bonus">bonus</span>
| Дополнительная прибыль агента, получаемая от авиакомпании, но не участвующая в запросах к GDS. Задается и вычисляется полностью аналогично комиссиям (при вычислении учитывается параметр "посегментный расчет комиссии"). Используется для расчета "прибыльности" авиаперелета, влияет на работу микшера и может повлиять на сбор при установке параметра "минимальная прибыль".
+
| Extra agency profit rewarded by the airline (it's not a commission) sometimes. It isn't involved in GDS requests. It's defined and calculated exactly the same way as the commission value. Previous parameter also can be used. The airline bonus is used in calculating the total profit amount for a specific flight. It can affect the mixer workflow and charge amount (if the "minimum profit" parameter is used).  
  
Из всех сработавших правил бонус будет учтен только из одного по следующему приоритету:
 
* Максимальный приоритет за сработавшим комиссионным правилом
 
* Если в комиссионном правиле бонуса нет, будет использован бонус из другого сработавшего '''некомиссионного''' правила (дополнительного правила с пустой комиссией). Если таких правил несколько, используется правило с наибольшим идентификатором (ниже в таблице)
 
 
|  
 
|  
"xxxКОД" (код валюты) или "XX%"
+
"xxxCODE" (currency code) or "XX%"
  
 
| 100RUB<br/>13%
 
| 100RUB<br/>13%
Строка 644: Строка 637:
 
|-
 
|-
 
|-
 
|-
| бонус за сегмент (допустимые авиакомпании)
+
| bonus per a segment (allowed airlines)
 
| <span id="modeForAirlines">modeForAirlines</span>
 
| <span id="modeForAirlines">modeForAirlines</span>
| Установка текущего параметра принудительно включает режим расчета бонуса за каждый сегмент перелёта (для абсолютно заданного бонуса), но в расчете учитываются только сегменты с валидирующим или с интерлайновыми перевозчиками из заданного здесь списка.  
+
| If this parameter is defined, then the airline bonus will be calculated for each flight segment (if the bonus is set as a flat value in currency), but only segments owned by the validating carrier or interline partners from this list will be considered.
 
|  
 
|  
пустое<br/>
+
empty<br/>
КОД (код АК)<br/>
+
CODE (airline IATA code)<br/>
КОД,КОД...
+
CODE,CODE...
 
|  
 
|  
 
SU<br/>
 
SU<br/>
Строка 656: Строка 649:
  
 
|-
 
|-
| сбор агентства
+
| agency charge
 
| <span id="charge">charge</span>
 
| <span id="charge">charge</span>
| Здесь укываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>
+
| Here you're supposed to configure all the mark-ups and discounts that will be applied for a specific flight. You can specify several charge rules in the same column and divide them by passenger and/or user types.<br/>
формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости ГДС)<br/>множитель = одно из значений:
+
format = (subject: sum),(subject: sum),(subject: sum)...<br/>
 +
subject = ID of the Nemo group or user, and 2 values: B2B, B2C. Negation (<>) is allowed.<br/>
 +
sum = summand + summand + summand...[limit].<br/>
 +
limit = range of the total charge amount. Defined as [value,value]<br/>
 +
summand = value*multiplier*multiplier...<br/>
 +
value = "xxxCODE" (currency code) or "xx%" (percentage of the whole flight cost)<br/>
 +
multiplier = one of the followinng values:
  
*PAS - общее количество пассажиров
+
*PAS - total passengers amount
*ADT - количество взрослых
+
*ADT - amount of adult passengers
*CLD - количество детей(2-12)
+
*CLD - amount of children (2-12 years)
*INF - количество младенцев(0-2)
+
*INF - amount of infants (0-2)
*INS - количество младенцев с местом(0-2)
+
*INS - amount of infants with a seat (0-2)
*SEG - количество сегментов перелета(перелет из А в Б с 1 пересадкой => 2 сегмента)
+
*SEG - amount of flight segments (flight from A to B with 1 transfer => 2 segments)
*LEG - количество плечей(перелет из А в Б с 1 пересадкой => 1 плечо)
+
*LEG - amount of legs (flight from A to B with 1 transfer => 1 leg)
*TRF - для получения цены тарифа, равен сумме тарифов
+
*TRF - sum of all base fares presented in a flight (without airline taxes)
*SGV - количество сегментов валидирующего перевозчика
+
*SGV - amount of validating carrier segments presented in a flight
  
  
Примеры:
+
Examples:
  
*100RUB*SEG&nbsp;: плюс 100 руб к стоимости заказа за каждый сегмент
+
*10EUR*SEG&nbsp;: mark-up 10EUR per each segment
*150RUB*SEG*PAS;: плюс 150 руб за каждый сегмент, на каждого пассажира. Например: перелет с двумя сегмента и двумя пассажирами = 600 руб.
+
*5EUR*SEG*PAS;: mark-up 5EUR per each segment and per each passenger. For example: flight with 2 segments and 2 passengers = 20EUR mark-up in total.
*-10%*TRF&nbsp;: 10% скидка от тарифа
+
*-10%*TRF&nbsp;: 10% discount of the fare
*50RUB*LEG*ADT[,1000RUB]&nbsp;: 50 руб за каждый билет для взрослого на каждом плече перелета, но не более 1000RUB
+
*3EUR*LEG*ADT[,30EUR]&nbsp;: 3EUR per each leg and per each adult, but not more than 30EUR in total
*(<>123,345: 100RUB), (123,345: -100RUB)&nbsp;: субъекты 123 и 345 получат скидку 100 руб., остальные наценку в 100 руб.
+
*(<>123,345: 100RUB), (123,345: -100RUB)&nbsp;: users with ID 123 and 345 will get a discount for 100RUB, other users will get a 100RUB mark-up.
*(B2B: 1000RUB*ADT - 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB)&nbsp;: B2B пользователи получают наценку 1000 руб. за каждый взрослый билет и 100 руб скидку за каждый детский билет, но не менее 1% от общей стоимости и не более 10%. B2C пользователи получают 10% наценку, но не менее 10 долларов. Пользователь ID=123 получит скидку 1000 руб
+
*(B2B: 1000RUB*ADT - 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB)&nbsp;: B2B users get a 1000RUB mark-up per each adult and 100RUB discount per each child, but not less than 1% and not more than 10% of the total flight cost. B2C users get 10% mark-up (but not less than 10USD in total. User ID = 123 gets discount 1000RUB.
  
Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом
+
If several charge rules are applicable in this column, then their sum will be applied. If you don't need this behaviour, you can separate charge rules in different pricing rules (lines) and rule them using priority value.
  
| см. описание<br/>
+
| see description<br/>
| см. описание<br/>
+
| see description<br/>
 
|-
 
|-
| признак доп.сбора
+
| extra charge
 
| <span id="chargeExt">chargeExt</span>
 
| <span id="chargeExt">chargeExt</span>
 
|  
 
|  
Настройка позволяет изменять процедуру расчета сбора, добавляя к итоговому результату дополнительные расчетные правила.
+
This parameter helps to change the common calculation process and add some extra rules for charges (in addition to the main charge value (see the previous parameter).
* 0 - Стандартный сбор (значение по умолчанию). Из всех указанных сборов будет применен один по приоритету.<br/>
+
* 0 - standard charge. Only one charge value will be choosed and applied according to the rule priority.<br/>
* 1 - Дополнительный сбор. Сборы, указанные как дополнительные, проверяются отдельно. Аналогично применится один дополнительный сбор с максимальным приоритетом
+
* 1 - additional charge. Additional charges will be checked separately from the main charge, but also only 1 extra charge will be applied according to the rule priority.  
* 2 - Обязательный сбор. Будет обязательно применен, если все параметры сбора удовлетворены. Приоритет игнорируется.
+
* 2 - mandatory extra charge. Will be applied in case if all requirements of the rule are satisfied. Priority value is ignored.  
 
 
 
 
 
|  
 
|  
пустое = 0<br/>
+
empty = 0<br/>
 
1<br/>
 
1<br/>
 
2<br/>
 
2<br/>
Строка 704: Строка 701:
  
 
|-
 
|-
| минимальная прибыль
+
| minimum profit
 
| <span id="minProfit">minProfit</span>
 
| <span id="minProfit">minProfit</span>
| Минимальная прибыль, которую агентство получит за заказ. Если рассчитанная прибыль агентства меньше минимальной, то сбор будет увеличен до необходимого значения.
+
| Minimum profit value that is guaranteed for an agency for a specific flight. If the whole calculated profit for a flight (which is equal to airline commission + mark-up + airline bonus - subagent commission) is less then a value in this column, then the agency mark-up will be automatically increased up to the needed value. Format is the same as for an agency charge. For charge calculation system will use the pricing rule that will be applied with airline commission. If you don't need this behaviour, then you should use the next parameter "minProfitPriority" (see below).
Формат аналогичен формату сбора агентства. Для расчетов будет применено значение из правила, по которому будет определена комиссия авиакомпании. Если требуется изменить это поведение, следует установить параметр "приоритет мин. прибыли" (см. ниже)
+
| see decription
| см. описание
 
 
| 50RUB*LEG*PAS
 
| 50RUB*LEG*PAS
 
|-
 
|-
| приоритет мин. прибыли
+
| minimum profit priority
 
| <span id="minProfitPriority">minProfitPriority</span>
 
| <span id="minProfitPriority">minProfitPriority</span>
| Дополнительный параметр, отвечающий за расчет минимальной прибыли. Сработает правило с наибольшим приоритетом, если приоритет совпадает, то будет использовано правило, которое находится ниже
+
| Additional extra parameter for minimum profit calculation. A rule with the highest priority will be applied. If there are several rules with the same priority, then the rule in the lowest line will be applied.
| Положительные числовые значения.  
+
| Positive integer values.  
 
| 1, 2, ...
 
| 1, 2, ...
 
|-
 
|-
| округление
+
| rounding
 
| <span id="chargeRounding">chargeRounding</span>
 
| <span id="chargeRounding">chargeRounding</span>
| Порядок арифметического округления сбора
+
| Rounding type for the mark-up value (used if mark-up is defined as %, not a flat number)
| пустое = 0,<br/>0 = до целого значения,<br/>0.1 = до десятых,<br/>0.01 = до сотых
+
| empty = 0,<br/>0 = to the whole number,<br/>0.1 = to decimals,<br/>0.01 = to two decimals
 
| 0.1<br/>0.01
 
| 0.1<br/>0.01
 
|-
 
|-
Строка 729: Строка 725:
 
| <br/>
 
| <br/>
 
|}
 
|}
[[Ценообразование. Импорт правил. Дополнительные параметры для Немо платформы]]
 
== См. также ==
 
 
[[Ценообразование 2.0. Описание]]
 
 
[[Category:Модули]]
 
[[Category:Функции]]
 

Текущая версия на 02:03, 3 марта 2016

Full file example
Файл:Full file example.xls



Title
Operating name (used in the table file)
Description
Acceptable values
Examples
id id Unique record number, can be taken from any database/system. It's an optional parameter and isn't involved in any calculations (used only for imformational purpose). any integer value 123
GDS validating carrier valCompanyId

Carrier (airline) code is compared to the airline that is offered by GDS as a validating one. Agency must have a contract with this airline. In case if there is a need to issue tickets and assign another airline stock, you can redefine the validating carrier using the next column ("redefined carrier"). If the GDS validating carrier isn't confirmed by Nemo pricing rules as an allowed carrier and isn't redefined, Nemo considers this сarrier as an unauthorized one. You can exclude such flights from search results using a special search filter.

empty value is ignored

2 letters/digits

SU

LH

redefined validating carrier manualVV

If an agency has no contract agreement with the GDS validating carrier (or it provides relatively low commission value), you can redefine the validating carrier on your side using this parameter. In this case the "validating carrier" value must be the same as the GDS validating carrier (or it can be empty).
Agency is responsible for this change and its allowability (because the flight will be priced by GDS according to the validating carrier offered by Nemo). Rules with redefined carrier have a higher priority than the usual ones.

empty value is ignored
2 letters/digits

SU
LH

first segment carriers airlines
List of allowed marketing carriers for the first route segment.

empty = any values
CODE,CODE...
<>CODE,CODE...(except)

SU,LH,BA

<>S7,SU

any segment carriers airlinesAny

List of allowed marketing carriers (interlines) for any segment.
Acceptable values:

  • CODE,CODE,CODE : at least 1 marketing carrier must be in the list.
  • CODE,CODE,CODE! : all marketing carriers must be in the list for this flight.
  • <>CODE,CODE,CODE : at least 1 marketing carrier must not be in the list.
  • <>CODE,CODE,CODE! : all marketing carriers must not be in the list for this flight.

empty = any values
- one or several values (see description)

SU,LH,BA
SU,LH!
<>S7,SU
<>S7,BA!

code-sharing codeSharing Code-sharing index (i.e. if a flight can or can't be operated by another airline).

empty = all flights
1 - code-sharing is mandatory
0 - code-sharing is prohibited

0

1

operators operatingAirlines

List of allowed operating carriers (for all segments)
Acceptable values:

  • CODE,CODE,CODE : at least 1 operating carrier must be in the list.
  • CODE,CODE,CODE! : all operating carriers must be in the list for this flight.
  • <>CODE,CODE,CODE : at least 1 operating carrier must not be in the list.
  • <>CODE,CODE,CODE! : all operating carriers must not be in the list for this flight.

empty = any values
- оne or several values (see the description)

SU,LH,BA
SU,LH!
<>S7,SU
<>S7,BA!

part of own segments ownPart Minimum allowed part of own flight segments (i.e. validating carrier is equal to a marketing carrier for these segments). It has to be greater than or equal to this value.
  • 1 - all segments are owned by the validating carrier
  • 0.5 - one half of the segments (ore more)are owned by the validating carrier
  • 0.25 - one quarter of the segments (ore more)are owned by the validating carrier
  • 0.01 - at least 1 segment is owned by the validating carrier
  • 0 - all segments are interline

empty = any values
any number from 0 to 1

0.88

part of interline segments interlinePart Minimum allowed part of interline flight segments (i.e. validating carrier is not equal to a marketing carrier for these segments). It has to be greater than or equal to this value.
  • 1 - all segments are interline
  • 0.5 - one half of the segments (ore more) are interline
  • 0.25 - one quarter of the segments (ore more) are are intrline
  • 0.01 - at least 1 segment is owned by interline carrier
  • 0 - all segments are owned by the validating carrier

empty = any values
any number from 0 to 1

0.88

contract type contractType BSP or TCH system

empty = any type,
BSP
TCH

TCH
GDS gds Here you can define the allowed GDS (Amadeus, Sabre, etc.), PCC or Nemo package ID for a specific pricing rule. Different types can be combined and listed in any sequence. For example, if you choose Sabre as the GDS, then there is no point to list all Sabre PCC's or packages you are going to use.

empty = any
SABRE, GALILEO, AMADEUS, SIRENA, SITA - GDS
[letters+digits] - PCC
[digits] - package ID

SABRE,670P,123

AMADEUS,GALILEO

start of selling paymentDateFrom Minimum allowed date of booking (it is NOT equal to the departure date). Pricing rule will be applied if current date is more or equal to the date defined in this column. empty = any date

DD.MM.YYYY

01.01.2012

31.01.2010

end of selling paymentDateTo Maximum allowed date of booking. Pricing rule will be applied if current date is less or equal to the date defined in this column. empty = any
DD.MM.YYYY
31.12.2022
flight type airlineType International or domestic flight (i.e. the whole flight with all transfers is within the same country. empty = any
IA (international airlines)
DA (domestic airlines)
IA
DA
flight numbers flightNumber

Allowed flight numbers, can be defined with the marketing carrier or code or without it.

Acceptable values:

  • NNN,NNN: at least 1 flight number must be in the list.
  • NNN,NNN! : all these flight numbers for all segments must be in the list for this flight.
  • <>NNN,NNN : at least 1 oflight number must not be in the list.
  • <>NNN,NNN! : all flight numbers must not be in the list for this flight.

empty = any
- 1 or several values (see the description)

SU 123,SU 345
123,345
<>LH 555
aircraft type aircraft

Allowed aircraft codes, should be defined as returned by the GDS

Acceptable values:

  • CODE,CODE,CODE : at least 1 aircraft code must be in the list.
  • CODE,CODE,CODE! : all aircraft codes must be in the list for this flight.
  • <>CODE,CODE,CODE : at least 1 aircraft code must not be in the list.
  • <>CODE,CODE,CODE! : all aircraft code must not be in the list for this flight.

empty = any
- 1 or several values (see the description)

73C,DH4
735
fare codes tariffs Allowed fare codes. At least one fare from the flight must match with one of the fare codes listed in this column. There should be no matches, if you use negation in this column. Fuzzy matching is allowed: a code from the rule can be a part of the fare code from the flight (for example, value S1GREY26 from a rule will match to the S1GREY26CH from a flight).


Acceptable values:

  • CODE,CODE,CODE : at least 1 fare code from a flight must be in the list.
  • CODE,CODE,CODE! : all fare codes must be in the list for this flight.
  • <>CODE,CODE,CODE : at least 1 fare code must not be in the list.
  • <>CODE,CODE,CODE! : all fare codes must not be in the list for this flight.

You can also define a regular expression. All one has to do is to write this parameter as /XXX/. Examples:

  • /ABC/ - code must contain "..ABC..", for example "NBABCS".
  • /abc/i - code can contain this sequence regardless of the symbol case, for example, "NBABCS" or "Abcof" will do.
  • /^TN/ - code must begin with "TN..", for example "TNQRTY".
  • /OW$/ - code must end with "..OW", for example "SRSOW".
  • /^.L/ - code can start with any letter (. - any symbol), the second letter must be L, for example "QLFST".
  • /OK.*RT/ - ( .* = any number of any symbols) "..OK..RT..", for example, "ANOKURTN"

empty = any
- 1 or several values (see the description)

WRUTH9PL,ARUTH9PL
/TN.*OW/

maximum fare value maxTariff Limit for the maximum allowed value of the "base fare" (i.e. sum of all fares in a flight excluding airline taxes). If this value is defined, the whole pricing rule will be applied only in case if the flight fare is less or equal to this value.

empty = any нет
xxxCODE (see examples)

10000RUB
300EUR

private fare privateFare Pricing rule will be applied only in case if the flight fare is private (confidential). This characteristic is returned by the GDS. If a specific private fare code is already known, then this parameter is not mandatory.

empty = any fares
1 - at least 1 private fare must be in a flight
0 - only public fares are allowed

0
1

tax codes taxes Allowed airline taxes

Acceptable values:

  • CODE,CODE,CODE : at least 1 tax code from a flight must be in the list.
  • CODE,CODE,CODE! : all taxes must be in the list for this flight.
  • <>CODE,CODE,CODE : at least 1 tax must not be in the list.
  • <>CODE,CODE,CODE! : all taxes must not be in the list for this flight.

where CODE is a sequence of uppercase latin letters.

empty = any
- 1 or several values (see the description)

YQ,YR
<>YQ!

price is confirmed priceIsActual This parameter is verified by the system during the search step and after going to the checkout page. During and after a search request the flight price is considered as unconfirmed. Price is confirmed (and relevant) after making an availability check, when the user goes to an order page.

empty = any flights
1 - price is checked and confirmed
0 - flight price is just returned in the search results

0
1

validating carrier's fare is present in each flight segment valSegmentsInTariff System will check if there is at least one fare owned by the validating carrier in each segment.

empty or 0 = any fares
1 - requirement described above is mandatory.

0
1


service classes serviceClass

Allowed service class categories
Applicable values:

  • CODE,CODE: at least 1 class from any flight segment must be in the list.
  • CODE,CODE! : classes of all segments must be in the list for this flight.
  • <>CODE,CODE : at least 1 class must not be in the list.
  • <>CODE,CODE! : all classes must not be in the list for this flight.

where CODE:

  • B - business
  • E - economy
  • F - first
  • EB - economy + business combination
  • EF - economy + first combination
  • BF - business + first combination

empty = any
- 1 or several values (see the description)

B,E
F
EB,EF,F

booking classes (letters)

bookingClass

Different latin letters are allowed (only one letter for each booking class).
Applicable values:

  • CODE,CODE: at least 1 class from any flight segment must be in the list.
  • CODE,CODE! : classes of all segments must be in the list for this flight.
  • <>CODE,CODE : at least 1 class must not be in the list.
  • <>CODE,CODE! : all classes must not be in the list for this flight.

empty = any
- 1 or several values (see the description)

A,B,C
<>A,B,C
airlines and classes airlinesAndClasses

Set of pairs "marketing carrier" + "booking class" for any segment of the flight route.

Applicable format:

  • CODE:CODE,CODE:CODE,CODE:CODE : at least 1 segment in the flight must match for the pairs "airline + class" from this column.
  • CODE:CODE,CODE:CODE,CODE:CODE! : all segments of the flight must match
  • <>CODE:CODE,CODE:CODE,CODE:CODE : at least 1 segemnt must not match
  • <>CODE:CODE,CODE:CODE,CODE:CODE! : all segments must not match

empty = any
- 1 or several values (see the description)

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

geo zones zones

Geographic zones of the flight. Pricing rull will be applied, if all segments of the flight are within one of the zones listed here. See also list of all countries and their zones

  • AF - Africa,
  • AN - Antarctic
  • AS - Asia
  • EU - Europe
  • NA - North America
  • OC - Australia/Oceania
  • SA - South America

If a flight must belong to 2 zones at the same time ("EUSA, EUNA" - transatlantic flight):

  • EUSA - Europe + South America,
  • EUNA - Europe + North America
  • EUAS - Europe + Asia
  • EUAF - Europe + Africa
  • EUOC - Europe + Australia/Oceania
  • AFNA - Africa + North America
  • ASNA - Asia + North America

empty = any
- 1 or several values (see the description)

AS,EU
SA
EUSA, EUNA

country zones countryZones All countries listed in this column define a specific zone for a flight, and no transfers, departures or arrivals are allowed outside this zone. empty = any countries

CODE,CODE...

RU,IT,DE,FR
departure countries depCountries Allowed list of departure countries (only the first segment departure country is checked).

empty = any countries
CODE,CODE...
<>CODE,CODE...(exception)

RU
<>LV,LT

arrival countries arrCountries Arrival country will be checked and compared to this column. For OW and CR flights arrival country is a last country of a last flight segment. For RT flights arrival country is the last country of the first leg. For example, for MOW-PAR-MOW flight France is the arrival (destination) country. For MOW-PAR-LON it's Great Britain. If you define FR as the arrival and departure country it doesn't mean domestic (internal) flight. Don't forget to use the flight type parameter (DA/IA).

empty = any countries
CODE,CODE...
<>CODE,CODE...(exception)

RU
<>LV,LT

direct (non-stop flight) isDirect System will check if the flight has any transfers on the route.

empty = any
0 - only with transfers
1 - only non-stop
extra:
2 - the first leg is non-stop
3 - the first leg has transfers

0
1

route type routeType

You can leave this column blank or define one of the following values:

  • one-way - OW,
  • round trip - RT,
  • complex route - CR,

empty = any type
CODE(see examples)

OW
RT
CR

routes (for cities) routeFull Sequence of city IATA codes describing the whole flight route including all transfers, without any breaks or repeats. It's recommended to use IATA city code if it has several airports. For example, VKO-ORY,ORY-VKO flight should be written as MOW-PAR-MOW route.

empty = any
CODE-CODE,CODE-CODE...
<>CODE-CODE,CODE-CODE...(exception)

MOW-LON,LON-MOW
<>MOW-BER-PAR

parts of a route (for cities) routePart

Here you can describe only a part of the flight route, if the whole route doesn't matter. For example, if it's important to have a transfer in Berlin, then you just enter -BER-.

empty = any
CODE-CODE,
-CODE-,...
<>-CODE-,...(exception)

-CAI-
<>-PRG-,PRG-SVX

routes (for airports) routeAirportsFull Here you have to use only airports IATA codes (not cities). The column purpose is the same as for the "routeFull" parameter. see description see description
parts of a route (for airports) routeAirportsPart Here you have to use only airports IATA codes (not cities). The column purpose is the same as for the "routePart" parameter. see description see description
departures (airports, cities) depAirports Only the first segment airport is checked. Here you can list cities or airports IATA codes.

empty = any countries
CODE,CODE...
<>CODE,CODE...(exception)

MOW,PAR,BER <>VKO,LON

arrival (airports, cities) arrAirports Arrival airport is defined in the same way as the "arrival country" parameter.

empty = any countries
CODE,CODE...
<>CODE,CODE...(exception)

MOW,PAR,BER <>VKO,LON

departure date dateBegin First segment departure date must be more or equal to this value in the rule. empty = ignored

DD.MM.YYYY

01.01.2012

31.01.2010

departure within (hours) dateDepartureAfter Maximum allowed amount of hours (or diapason) is defined here (starting from the current date). For examle, if you want to specify flights with departure in 5 days or less, then you should set a diapason [0,120]. empty = without limits
maximum value
[x,x] - diapason
13

[10,100]

end of departure dateEnd Departure date of the first segment flight must be less than or equal to this value empty = ignored

DD.MM.YYYY

31.12.2022
return no sooner than dateBackBegin Departure date of the last segment flight must be more than or equal to this value empty = ignored

DD.MM.YYYY

31.12.2022
return no later than dateBack Departure date of the last segment flight must be less than or equal to this value empty = ignored

DD.MM.YYYY

31.12.2022
flight duration (days) daysDuration Limit for the maximum range between the departure and arrival dates (in days).
Can be defined as a diapason in brackets.

Duration in days is calculated as mathematic difference between the dates. If departure and arrival are the same day, then the flight duration is equal to 0 days.

empty = no limits
value - maximum allowed amount
[X,X] - diapason

13
[3,13]

days of week dayOfWeek Allowed days of week for the ferst segment departure date. Value is to be defined as a digit according to the day of week number (starting from Monday). Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника. empty = ignored

1 - Monday
...
7 - Sunday
- 1 or several values

2
3,5

passenger types passengers Allowed passenger types for a flight. A rule will be applied only if all passenger types listed in the column are presented in a flight.

empty = any
ADT - adult
CLD - child (2-12)
INF - infant (0-2)
INS - infant with a seat (0-2)
- 1 or several values

INF
ADT,CLD

priority priority If several rules are applicable for one flight, only one rule with the highest priority will be applied. If there are several rules with the same priority (or it isn't defined), then the newest rule (which is the lowest in a table) will be appllied. integer number
empty = 0
1
2


promoaction code Universal promoaction coded. It's generated in the system settings panel (Loyalty program - Promoactions and promocodes). Available only if this module is activated for an agency. any sequence of letters/digits/symbols 12022014_Promo
utm source utmSource ID of the external traffic source, which is displayed in the table of traffic sources in system setting panel. Available only if the Metric module is activated for an agency. empty = any
CODE,CODE...
<>CODE,CODE...(кроме)
123,456
<>123,456
airline commission commission Agency's profit that will be got from the airline for selling its tickets. Mandatory parameter. This value is passed to GDS while the tickets are issued. Can be defined as & of the fare or as a flat value (per each passenger). A rule with zero commission value have a higher priority than the same rule with empty commission.

"xxxКОД" (currency code) or "XX%"

100RUB
13%
subagency commission agencyCommission Part of the airline commision which can be paid by agency to its subagents. A value from this column will be applied as a discount for subagents, so the tickets will be cheaper for them. You can define IDs for specific subagents. If there is a commission defined for all subagents and also a commission defined for subagent X, then the total commission for subagent X will be calculated as a sum of these values.

For example,: 5%,(123:6%), (345:8%)
Commission for subagent with ID 123 = 6% + 5%.
Format:

  • "xxxCODE" (currency code) or "XX%" (percent of a fare) - will be applied for all subagents.
  • (subject:value) : applied for specific subagents, Nemo subagent ID should be defined.
  • (subject:value),(subject:value),(subject:value)... : combinations.

see description

100RUB
5%,(123:6%), (345:8%)
commission per each segment modeForSegment Attribute will define whether the commision value should be multiplied by the total segments amount. For example, 1 EUR per each segment.


empty = 0
0 - commision for the whole flight stays the same as defined in the commission column.
1 - commission defined in the "commission" column should be multipled by the segments amount.

0
1

airline bonuse bonus Extra agency profit rewarded by the airline (it's not a commission) sometimes. It isn't involved in GDS requests. It's defined and calculated exactly the same way as the commission value. Previous parameter also can be used. The airline bonus is used in calculating the total profit amount for a specific flight. It can affect the mixer workflow and charge amount (if the "minimum profit" parameter is used).

"xxxCODE" (currency code) or "XX%"

100RUB
13%
bonus per a segment (allowed airlines) modeForAirlines If this parameter is defined, then the airline bonus will be calculated for each flight segment (if the bonus is set as a flat value in currency), but only segments owned by the validating carrier or interline partners from this list will be considered.

empty
CODE (airline IATA code)
CODE,CODE...

SU
SU,FV

agency charge charge Here you're supposed to configure all the mark-ups and discounts that will be applied for a specific flight. You can specify several charge rules in the same column and divide them by passenger and/or user types.

format = (subject: sum),(subject: sum),(subject: sum)...
subject = ID of the Nemo group or user, and 2 values: B2B, B2C. Negation (<>) is allowed.
sum = summand + summand + summand...[limit].
limit = range of the total charge amount. Defined as [value,value]
summand = value*multiplier*multiplier...
value = "xxxCODE" (currency code) or "xx%" (percentage of the whole flight cost)
multiplier = one of the followinng values:

  • PAS - total passengers amount
  • ADT - amount of adult passengers
  • CLD - amount of children (2-12 years)
  • INF - amount of infants (0-2)
  • INS - amount of infants with a seat (0-2)
  • SEG - amount of flight segments (flight from A to B with 1 transfer => 2 segments)
  • LEG - amount of legs (flight from A to B with 1 transfer => 1 leg)
  • TRF - sum of all base fares presented in a flight (without airline taxes)
  • SGV - amount of validating carrier segments presented in a flight


Examples:

  • 10EUR*SEG : mark-up 10EUR per each segment
  • 5EUR*SEG*PAS;: mark-up 5EUR per each segment and per each passenger. For example: flight with 2 segments and 2 passengers = 20EUR mark-up in total.
  • -10%*TRF : 10% discount of the fare
  • 3EUR*LEG*ADT[,30EUR] : 3EUR per each leg and per each adult, but not more than 30EUR in total
  • (<>123,345: 100RUB), (123,345: -100RUB) : users with ID 123 and 345 will get a discount for 100RUB, other users will get a 100RUB mark-up.
  • (B2B: 1000RUB*ADT - 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB) : B2B users get a 1000RUB mark-up per each adult and 100RUB discount per each child, but not less than 1% and not more than 10% of the total flight cost. B2C users get 10% mark-up (but not less than 10USD in total. User ID = 123 gets discount 1000RUB.

If several charge rules are applicable in this column, then their sum will be applied. If you don't need this behaviour, you can separate charge rules in different pricing rules (lines) and rule them using priority value.

see description
see description
extra charge chargeExt

This parameter helps to change the common calculation process and add some extra rules for charges (in addition to the main charge value (see the previous parameter).

  • 0 - standard charge. Only one charge value will be choosed and applied according to the rule priority.
  • 1 - additional charge. Additional charges will be checked separately from the main charge, but also only 1 extra charge will be applied according to the rule priority.
  • 2 - mandatory extra charge. Will be applied in case if all requirements of the rule are satisfied. Priority value is ignored.

empty = 0
1
2

0
1

minimum profit minProfit Minimum profit value that is guaranteed for an agency for a specific flight. If the whole calculated profit for a flight (which is equal to airline commission + mark-up + airline bonus - subagent commission) is less then a value in this column, then the agency mark-up will be automatically increased up to the needed value. Format is the same as for an agency charge. For charge calculation system will use the pricing rule that will be applied with airline commission. If you don't need this behaviour, then you should use the next parameter "minProfitPriority" (see below). see decription 50RUB*LEG*PAS
minimum profit priority minProfitPriority Additional extra parameter for minimum profit calculation. A rule with the highest priority will be applied. If there are several rules with the same priority, then the rule in the lowest line will be applied. Positive integer values. 1, 2, ...
rounding chargeRounding Rounding type for the mark-up value (used if mark-up is defined as %, not a flat number) empty = 0,
0 = to the whole number,
0.1 = to decimals,
0.01 = to two decimals
0.1
0.01