Pricing 2.0: specification: различия между версиями
Строка 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 | + | | 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> | ||
− | | | + | | 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. |
| | | | ||
− | + | 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. |
| | | | ||
− | + | 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. |
− | | | + | | 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]. | | От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120]. | ||
Строка 656: | Строка 656: | ||
|- | |- | ||
− | | | + | | agency charge |
| <span id="charge">charge</span> | | <span id="charge">charge</span> | ||
− | | | + | | 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/> |
− | + | 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 - | + | *CLD - amount of children (2-12 years) |
− | *INF - | + | *INF - amount of infants (0-2) |
− | *INS - | + | *INS - amount of infants with a seat (0-2) |
− | *SEG - | + | *SEG - amount of flight segments (flight from A to B with 1 transfer => 2 segments) |
− | *LEG - | + | *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: | |
− | * | + | *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% | + | *-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) : | + | *(<>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 | + | *(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, than 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<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 - | + | * 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. |
− | |||
− | |||
| | | | ||
− | + | empty = 0<br/> | |
1<br/> | 1<br/> | ||
2<br/> | 2<br/> | ||
Строка 704: | Строка 708: | ||
|- | |- | ||
− | | | + | | 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 comission + mark-up + airline bonus - subagent comission) 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 comission. If you don't need this behaviour, than 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) |
− | | | + | | 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: | Строка 732: | ||
| <br/> | | <br/> | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Версия 00:34, 3 марта 2016
Empty file template
Файл:CommImportExampleV1.0.5.xlsx
Title |
Operating name |
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). |
empty value is ignored |
SU |
first segment carriers | airlines |
List of allowed marketing carriers for the first route segment. |
empty = any values |
SU,LH,BA
<>S7,SU |
any segment carriers | airlinesAny |
List of allowed marketing carriers (interlines) for any segment.
|
empty = any values |
SU,LH,BA |
code-sharing | codeSharing | Code-sharing index (i.e. if a flight can or can't be operated by another airline). |
empty = all flights |
0
1 |
operators | operatingAirlines |
List of allowed operating carriers (for all segments)
|
empty = any values |
SU,LH,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.
|
empty = any values |
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.
|
empty = any values |
0.88 |
contract type | contractType | BSP or TCH system |
empty = any type, |
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,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:
|
empty = any |
SU 123,SU 345 123,345 <>LH 555 |
aircraft type | aircraft |
Allowed aircraft codes, should be defined as returned by the GDS Acceptable values:
|
empty = any |
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).
You can also define a regular expression. All one has to do is to write this parameter as /XXX/. Examples:
|
empty = any |
WRUTH9PL,ARUTH9PL
|
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 нет |
10000RUB |
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 |
0 |
tax codes | taxes | Allowed airline taxes
Acceptable values:
where CODE is a sequence of uppercase latin letters. |
empty = any |
YQ,YR |
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 |
0 |
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 |
0
|
service classes | serviceClass |
Allowed service class categories
where CODE:
|
empty = any |
B,E |
booking classes (letters) |
bookingClass |
Different latin letters are allowed (only one letter for each booking class).
|
empty = any |
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:
|
empty = any |
SU:A,LH:B,BA:C |
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
If a flight must belong to 2 zones at the same time ("EUSA, EUNA" - transatlantic flight):
|
empty = any |
AS,EU |
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 |
RU |
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 |
RU |
direct (non-stop flight) | isDirect | System will check if the flight has any transfers on the route. |
empty = any |
0 |
route type | routeType |
You can leave this column blank or define one of the following values:
|
empty = any type |
OW |
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 |
MOW-LON,LON-MOW |
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 |
-CAI- |
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 |
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 |
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 | От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120]. | пустое = ограничения нет максимальное значение [X,X] - диапазон |
13
[10,100] |
конец вылета | dateEnd | Дата вылета первого сегмента должна быть меньше или равна указанной дате | пустое = игнорируется DD.MM.YYYY |
31.12.2022 |
возврат не ранее | dateBackBegin | Дата вылета последнего сегмента маршрута должна быть больше или равна указанной дате | пустое = игнорируется DD.MM.YYYY |
31.12.2022 |
возврат не позднее | dateBack | Дата вылета последнего сегмента маршрута должна быть меньше или равна указанной дате | пустое = игнорируется DD.MM.YYYY |
31.12.2022 |
длительность в днях | daysDuration | Ограничение на максимальный разрыв в днях между первой датой перелета и завершением маршрута. Можно задавать диапазон Длительность в днях считается, как математическая разность дат. При вылете и возврате в один день длительность равна 0 дней. |
пустое = ограничения нет |
13 |
дни недели | dayOfWeek | Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника. | пустое = игнорируется 1 - понедельник |
2 |
типы пассажиров | passengers | Допустимые типы пассажиров в перелете. Для срабатывания правила в перелете обязательно должны присутствовать все перечисленные типы. |
пустое = любые |
INF |
приоритет | priority | Если срабатывает несколько правил, то выбирается одно с наибольшим приоритетом. Если существует несколько правил с одинаковым приоритетом (или приоритет не указан) выбирается более новое правило (расположено ниже в импортируемой таблице) | целое число пустое = 0 |
1 2
|
код акции | Универсальный код промоакции. Создается в админ панели в разделе Программа лояльности ⇨ Промоакции и промокоды. | любой набор букв/цифр/символов | 12022014_Promo | |
utm source | utmSource | ID источника перехода, который отображается в поле «№» таблицы источников переходов в метрике. Допустимо вводить несколько источников. |
пустое = любые КОД,КОД... <>КОД,КОД...(кроме) |
123,456 <>123,456 |
комиссия авиакомпании | commission | Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для правильного заполнение поле, должно соответствовать указанному в контракте. Значение передается через ГДС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости (за каждого пассажира)
При определении валидирующего перевозчика, правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией. |
"xxxКОД" (код валюты) или "XX%" |
100RUB 13% |
комиссия субагентам | agencyCommission | Часть прибыли от авиакомпании, которой агент готов поделится с субагентами. Указанное значение сразу действует как скидка только для субагентов, уменьшая стоимость авиабилетов. Можно указать идентификаторы отдельных субагентов. В случае, когда комиссия задана для всех субагентов, и задана комиссия для конкретного субагента X, то комиссия
субагента X = Комиссия субагента X + Комиссия установленная для всех субагентов.
|
см. описание |
100RUB 5%,(123:6%), (345:8%) |
посегментный расчет комиссии | modeForSegment | Признак применения комиссии или бонуса за каждый сегмент перелета. Например 100 руб. за каждый сегмент.
|
пустое = 0 |
0 |
бонус авиакомпании | bonus | Дополнительная прибыль агента, получаемая от авиакомпании, но не участвующая в запросах к GDS. Задается и вычисляется полностью аналогично комиссиям (при вычислении учитывается параметр "посегментный расчет комиссии"). Используется для расчета "прибыльности" авиаперелета, влияет на работу микшера и может повлиять на сбор при установке параметра "минимальная прибыль".
Из всех сработавших правил бонус будет учтен только из одного по следующему приоритету:
|
"xxxКОД" (код валюты) или "XX%" |
100RUB 13% |
бонус за сегмент (допустимые авиакомпании) | modeForAirlines | Установка текущего параметра принудительно включает режим расчета бонуса за каждый сегмент перелёта (для абсолютно заданного бонуса), но в расчете учитываются только сегменты с валидирующим или с интерлайновыми перевозчиками из заданного здесь списка. |
пустое |
SU |
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)...
If several charge rules are applicable in this column, than 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).
|
empty = 0 |
0 |
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 comission + mark-up + airline bonus - subagent comission) 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 comission. If you don't need this behaviour, than 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 |