Pricing (air tickets)

From docs.websky.tech
Revision as of 16:12, 5 August 2020 by I shaletin (talk | contribs) (Princile of operation)
Jump to navigation Jump to search

Purpose

Pricing module automates the process of calculating commissions and charges for airline tickets, managing commission rules for carriers, agency charges and commission rewards for subagents.

  • allows you to quickly configure even complex commission rules,
  • allows you to build a convenient and understandable pricing scheme,
  • accurately comply with the complex conditions provided by airlines,
  • guarantees correct calculations,
  • provides a tool for monitoring the accuracy of calculations.

Principle of operation

The module is based on the pricing rules that the agency sets.

Rule — a set commission and charge values и условия их применения.
Commission and charge values are:

  • airline commisssion,
  • airline bonus,
  • agency charge,
  • comission for the subagents.

Commission and charge application rules — a set of flight parameters to which the comsissions and charges of the rule will apply (“validating carrier”, “GDS”, “flight type”, “passenger types” etc).

Pricing rules are set in the table, in the XLS or XLSX file where:

  • Table string — rule.
  • String cell — parameter value.
  • Column heading — parameter name.
    Each string is a separate rule.
    For a single flight, only one rule is selected by criteria and applied

Before calculating commissions, the pricing module determines the availability of the flight for ticketing and the rule by which commissions and fees are calculated according to the algorithm:

  1. The module records which airline is identified by GDS as validating;
  2. Finds all the rules for a given airline in the pricing file;
  3. Selects the rules that match the flight by all the parameters;
  4. Selects one of the appropriate rules by priority criteria;
    • If the triggered rule does not contain the validating carrier override, the validating carrier received from GDS will be set.
    • If the triggered rule contains the validating carrier override, an overridden validating carrier is established.
  5. The rule is applied.

The Agency can issue online flights only for contract airlines. An airline is considered to be contract if at least 1 rule in the downloaded pricing file is set for it.

ATTENTION! Flight cannot be issued if:

  • rules for an airline are not set. It is recommended to delete such flights from the search results by the filter “Airline is not contract”.
  • rules are set, but flight parameters don’t match rule parameters.

Workflow is shown in the following scheme:


Commissions and charges are calculated at each order update by the rules loaded into the system at the time of verification:

  • when forming search results,
  • when booking,
  • when switching to payment and ticketing,
  • when refreshing order page.

If rules were changed between booking and ticketing, after the booking of an order, commissions will be calculated by the new rules; thus, booking price may be different from the ticketing price. System behavior for such situations is set by the parameter Recalculate service charge in the System settings → Background processes → Triggers settings section. Calculation of commissions, which are active at the time of booking, can be traced in the order logs.

In the price details (on the order page) and in the itinerary receipt, information on fees is presented by one of the passenger charge separation modes:

  • Equally between non-zero ticket prices - agency and sub-agency charges are divided equally between all passengers whose fare and tax amount is greater than 0. This mode is selected by default.
  • Equally between all fares - agency and sub-agency charges are divided equally among all passengers.
  • In proportion to fares - agency and sub-agency charges are divided in proportion to the fare price for a specific passenger in the total amount of the order, i.e. the higher the fare price, the greater part of the charge is allocated to it.
  • Only for the first type of passenger - agency and sub-agency charges are determined by the first type of passenger.
  • In proportion to the fare, except infants - agency and sub-agency charges are divided in proportion to the fare for a specific passenger in the total amount of the order, with the exception of the infant type passenger.

Charges in the price details are presented with the consideration of the breakdown only if they are hidden in XP/XX fees, otherwise they are displayed as aт individual line without separation.
The setting can be found in the «Product control → Aviatickets → Pricing → Settings».

Calculation of comissions for non-contract airlines

Agency can issue tickets of non-contract airlines on the condition of pure interline between airlines.

For example,

  • The agency does not have a contract with «АА» airline.
  • The agency has a contract with the airline «BB» airline.
  • Between the «АА» and «BB» companies, there is an interline agreement allowing to issue tickets for «АА» on the «BB» form.

In order to issue «АА» airline tickets, the agency sets up a rule for «АА» airline, which contains:

  1. validating carrier: «АА»,
  2. overriden carrier: «BB»,
  3. share of interline segments: 1,
  4. airline commission: indicate the amount of the commission reward provided by «ВВ» for tickets with a 100% share of interline segments.

ATTENTION! Websky system does not track if there are interline agreements between carriers. The agency is fully responsible for the override.

Choosing the rule for calculations

Commissions for flights are calculated by one rule. If several rules are suitable for a flight, the system selects a rule for calculation by the priority criteria. The rules are compared according to the first criterion, if the criterion in this case is not triggered - by the second one and so on, until one rule is determined.

Procedure for comparing rules for selecting the rule for calculation:

  1. By the Priority column - if triggered rules have priority indicated, then the rule with the highest priority is selected.
  2. By the presence of an overriden carrier - if several rules with the same priority are triggered (or priority not defined), the rule with overriden VC is selected.
  3. By a non-empty Comission cell - priority of rules with set commission (even 0%) is higher than

По непустой ячейке Комиссия - priority of rules with a set commission (even at 0%) is higher than priority of rules with an empty commission cell.

  1. Additional priority - set manually in the Product control → Aviatickets → Pricing → Settings section by the parameter Additional priority:
    • Not set - Additional priority not set.
    • Maximum airline comission - selects the rule with maximum airline comission.
    • By the number of parameters in the rule - selects the rule with the largest number of non-empty parameters.
  2. Rule index number - if none of the priorities is applicable, the newer rule (located in the table below the others) is considered priority.

Testing and debugging rule triggering

All the calculations at each stage of their application are logged and displayed in the debug table. The debug table is used to control the triggering of the rules, providing information on the application of the rules to the selected flight.

The link to the debug table is available to the agency manager:

  • on the search results, for each flight by the Comission link,
  • on the order page, on the flight price details by clicking on the amount of the commission or charge.



Table columns — pricing parameters
Column heading — values of pricing parameters for the verified flight.
Строки таблицы — pricing rules for validating carrier of flight.

The table shows the order of parameters’ verification.

The parameters of each rule are compared to the flight parameters:

  1. if they match:
    1. cell is highlighted green,
    2. the next parameter is verified;
  2. if the flight parameter value does not match the rule parameter value:
    1. cell is highlighted red,
    2. rule verification stops.

If the rule matches by all the parameters, them the rule is applied, commissions and charges are highlighted green, their calculated values are shown.


Enabling the module. Import and export of rules

To enable calculation of comissions via the Pricing, turn on the following options: Commissions 2.0 and Charges and discounts in the Product control → Avia tickets → Pricing → Settings section.

To set a pricing rule:

  1. Зайдите в раздел Product control → Avia tickets → Pricing → Import / export Excel.
  2. Press Download in "xls" format or Download in "xlsx" format. Open file for editing.
  3. Set the rule: fill in the string parameters. The format for entering data in each column must correspond to a strictly defined format (see Rule Import).
    Required parameters:
    • validating carrier
    • commission
  4. Save the changes to the file
  5. On the Import / export Excel in the administration panel, click Browse, open the file.
  6. Press Send to upload the file to the system.

While importing, the system validates all entered values. If a value is entered in an incorrect format in a certain cell, the system will report an error, while retaining all correctly defined rules.


After validation, a table is displayed on the page, in which all loaded rules are reflected in a short form.


Invalid rules are highlited by the following colors in the table:

  • rules which are not active yet (sale begin date is later than the current date, see pricing rule parameters) are highlighted orange;
  • expired rules (sale end date is later than the current date) are highlighted violet.

Pricing Rules Parameters

Pricing rules file template:
File:CommImportExampleV1.0.5.xlsx

ATTENTION! It is restricted to rename columns!
It is allowed to swap columns and delete unnecessary ones.

To see parameter descriptions expand the table:

Pricing Rules Parameters
Headline Internal name Description Valid Values Examples
id id Unique record number from any external system (or database). Optional parameter. It is not involved in the calculation logic and is used to conveniently identify rules. any value 123
GDS validating carrier valCompanyId The airline for which the rule is set. Must be a contract airline of the agent. If it is necessary to conduct ticketing on the stock of another airline (interline), the validating carrier is overriden (see overriden validating carrier). If GDS validating carrier is unacceptable by the specified pricing rules and is not overriden, the flight is considered unacceptable for ticketing and is removed from the search results with the appropriate filtering settings for the results. empty is ignored

2-letter airline IATA code

SU

LH

overriden vc manualVV If the validating carrier proposed by the GDS is not contract or does not suit the commission agent, it can be overriden forcibly through this field. The GDS VC is indicated in the VC field (or it is left empty), and the carrier overriden by the agency is indicated in this field.

The responsibility for the admissibility of the replacement and for the adequacy of the flight price (which was calculated by GDS for the carrier proposed by it) is assumed by the agent. The priority for rules with overrides is higher than for rules without it.

empty is ignored

2-letter airline IATA code

SU

LH

first segment carriages airlines A set of allowable marketing carriers for the first segment of the route. empty = any
CODE,CODE...
<>CODE,CODE...(except)
SU,LH,BA

<>S7,SU

carriers of any segment airlinesAny A set of valid marketing carriers (interlines) on any segment of the route.

Valid input options:

  • CODE,CODE,CODE : rule will apply if at least one marketing carrier from the flight is present in the list
  • CODE,CODE,CODE! : rule will apply if each of marketing carriers from the flight appears on the list
  • <>CODE,CODE,CODE : rule will not apply if at least one marketing carrier from the flight appears in this list
  • <>CODE,CODE,CODE! : rule will not apply if all the marketing carriers from the flight appear in this list
empty = any
- one or several values (see description)
SU,LH,BA
SU,LH!
<>S7,SU
<>S7,BA!
code sharing codeSharing Allowability of a flight by another (operating) airline empty — all flights
1 — code sharing is required
0 — code sharing is restricted
0

1

operators operatingAirlines Valid operating airlines (verified on all segments).

Input variants:

  • CODE,CODE,CODE : rule will apply if at least one operating carrier appears in the list.
  • CODE,CODE,CODE! : rule will apply if each operating carrier of the flight is present on the list.
  • <>CODE,CODE,CODE : rule will not apply if at least one operating carrier appears in the list.
  • <>CODE,CODE,CODE! : rule will not apply if all the operating carriers of the flight are present on the list.
empty = any
- one or several values (see description)
SU,LH,BA
SU,LH!
<>S7,SU
<>S7,BA!
share of own segments ownPart The minimum allowable share of own segments (segments where the validating carrier is equal to the marketing one) must be greater than or equal to the specified value (any number from 0 to 1):
  • 1 — all segments are own
  • 0.5 — half or more own segments
  • 0.25 — quarter or more own segments
  • 0.01 — minimum one own segment
  • 0 — all segments are interline
empty = any number

any number from 0 to 1

0.88
share of interline segments interlinePart The minimum allowable share of not own segments (segments where the validating carrier is not equal to the marketing one) must be greater than or equal to the specified value (any number from 0 to 1).
  • 1 — all segments are interline
  • 0.5 — half or more own segments are interline
  • 0.25 — quarter or more own segments are interline
  • 0.01 — at least one interline segmnt is present
  • 0 — all segments are own
empty = any number

any number from 0 to 1

0.88
contract type contractType Settlement system: BSP or ТКП empty = any,
BSP
TCH
TCH
booking systems gds Global distribution system in which the flight / PCC of specific requisites / requisite package ID is found in Template:NameProject1 system.

Listed in any order; you can mix different types. The "or" rule applies: if Sabre is specified entirely, all of its PCC / packages are no longer indicated.

ATTENTION! When specifying the name of the GDS, strictly follow the name format specified in the documentation. If the name doesn’t match the template, the rule will not apply!

empty = any
GDS: SABRE, GALILEO, AMADEUS, SIRENA, SITA, SIG23
PCC: [letters+numbers]
package ID: [numbers]
SABRE,670P,123

AMADEUS,GALILEO

SITA

sale beginning paymentDateFrom The minimum allowable checkout date (not to be confused with the departure date). To trigger the rule, the current date must be greater than or equal to the specified one. empty = ignored

DD.MM.YYYY

01.01.2012

31.01.2010

sale end paymentDateTo The maximum allowable checkout date (not to be confused with the departure date). To trigger the rule, the current date must be lesser than or equal to the specified one. empty = ignored
DD.MM.YYYY
31.12.2022
flight type airlineType International or domestic (all flights within one country) flight.

Single value

empty = any
IA (international airlines)
DA (domestic airlines)
IA
DA
flight numbers flightNumber Allowable flight numbers, can be indicated with or without the marketing company code.

Input variants:

  • NNN,NNN: rule will apply if at least one flight number from any segment appears in the list.
  • NNN,NNN! : rule will apply if all flight numbers from all segments appear in the list.
  • <>NNN,NNN : rule will not apply if at least one number from the flight appears in the list.
  • <>NNN,NNN! : rule will not apply if all the numbers from the flight appear in the list.
empty = any
- one or several values (see description)
SU 123,SU 345
123,345
<>LH 555
aircraft type aircraft Valid aircraft codes, should be indicated in the same form in which the GDS returns them

Input variants:

  • CODE,CODE: rule will apply if at least one aircraft code from any segment matches one from the list.
  • CODE,CODE! : rule will apply if aircraft codes from all the segments are in the list.
  • <>CODE,CODE : rule will not apply if at least one code from the flight is in the list.
  • <>CODE,CODE! : rule will not apply if all the codes from the flight are in the list.
empty = any
- one or several values (see description)
73C,DH4
735
fare codes tariffs Valid fare codes. At least one fare from the flight must match one from the preset list. Under a denial rule, there should be no match. The match is not exact: code from the rule may be contained in code from the flight (for example, the entered S1GREY26 will match the S1GREY26CH from the flight).

Input variants:

  • CODE,CODE: rule will apply if at least one fare appears in the list.
  • CODE,CODE! : rule will apply if all the fares of the flight are in the list.
  • <>CODE,CODE : rule will not apply if at least one fare is in the list.
  • <>CODE,CODE! : rule will not apply if all the fares of the flight are in the list.

You can define [1]. To do this, write the parameter in the /XXX/ format. Examples:

  • /ABC/ — code must contain "..ABC..", for example "NBABCS"
  • /abc/i — case-insensitive check, the code may contain characters in any case, for example "NBABCS" or "Abcof"
  • /^TN/ — code must begin with "TN..", for example "TNQRTY"
  • /OW$/ — code must end with "..OW", for example "SRSOW"
  • /^.L/ — first letter - any ( . — any symbol), the second letter in the fare code must be L, for example "QLFST"
  • /OK.*RT/ — ( .* = any number of any symbols) "..OK..RT..", for example "ANOKURTN"
empty = any
- one or several values (see description)
WRUTH9PL,ARUTH9PL


/TN.*OW/

maximum fare maxTariff Restriction on the maximum price value of the "base cost" (the amount of all fares from carriers on the flight or the price from the GDS minus taxes). If the parameter is set, the rule written in the line will only work if the fare is less than or equal to the specified value. empty = no restriction
xxxCODE (see examples)
10000RUB

300EUR

confidential fare privateFare To trigger the rule, the flight must have a fare with the attribute of confidential (private). Confidentiality of the fare is always reported by GDS. If, for an unambiguous definition of the rule, it is enough to indicate the specific code of the private fare, it is not necessary to set the attribute. empty = any fares
1 — private fare must be present
0 — there shpuld be no private fares
0
1
tax codes taxes Allowable tax codes

Input variants:

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

where CODE — set of uppercase latin letters.

empty = any
- one or several values (see description)
YQ,YR
<>YQ!
price confirmed priceIsActual Attribute of confirmed flight price. After the search, the flight price is considered unconfirmed, its status changes to “confirmed” (“relevant”) when creating an actual PNR or requesting a price update within the framework of Template:NameProject2 web services (before creating a PNR) empty = any flights
1 — the flight is in the PNR or its price is verified beforehand
0 — the flight has just been received from the search results
0
1
presence of VC segments in all the fares valSegmentsInTariff Verification: among segments of any fare there must be a segment of a validating carrier (at least one) empty or 0 = any fares
1 — condition must be met
0
1
service classes serviceClass Valid categories of service classes.

Input variants:

  • CODE,CODE: rule will apply if a class from any segment appears in the list.
  • CODE,CODE! : rule will apply if all classes from all segments are in the list.
  • <>CODE,CODE : rule will not apply if a class from any segment appears in the list.
  • <>CODE,CODE! : rule will not apply if all classes from all segments are in the list.

where CODE:

  • B - business
  • E - economy
  • F - first
  • EB - combination of economy + business
  • EF - combination of economy + first
  • BF - combination of business + first
empty = any
- one or several values (see description)
B,E
F
EB,EF,F
booking classes (codes) bookingClass Allowed literas (single-letter codes) of booking classes. Must be in Latin letters; Russian letters are valid only for the rules of supplier Sirena.

Input variants:

  • CODE,CODE: rule will apply if at least one class from any segment appears in the list.
  • CODE,CODE! : rule will apply if classes from all the flight segments are in the list.
  • <>CODE,CODE : rule will not apply if at least one class from any segment appears in the list.
  • <>CODE,CODE! : rule will not apply if classes from all the flight segments are in the list.
empty = any
- one or several values (see description)
A,B,C
<>A,B,C
carriers and classes airlinesAndClasses A set of "marketing carrier" + "booking class" pairs of any segment of the route.

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

  • CODE:CODE,CODE:CODE,CODE:CODE : rule will apply if at least one flight segment matches one from the list.
  • CODE:CODE,CODE:CODE,CODE:CODE! : rule will apply if all flight segments appear in the list.
  • <>CODE:CODE,CODE:CODE,CODE:CODE : rule will not apply if at least one flight segment matches one from the list.
  • <>CODE:CODE,CODE:CODE,CODE:CODE! : rule will apply if all flight segments appear in the list.
empty = any
- one or several values (see description)
SU:A,LH:B,BA:C

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

zones zones Geographic zones of a flight. The entire flight should not go beyond one of the indicated zones for the rule to trigger. division of countries into specified zones
  • AF - Africa,
  • AN - Antarctica
  • AS - Asia
  • EU - Europe
  • NA - North America
  • OC - Australia and Oceania
  • SA - South America

the flight must be in both zones ("EUSA, EUNA" - transatlantic flight):

  • EUSA - Europe + South America,
  • EUNA - Europe + North America
  • EUAS - Europe + Asia
  • EUAF - Europe + Africa
  • EUOC - Europe + Australia and Oceania
  • AFNA - Africa + North America
  • ASNA - Asia + North America
  • EUAN - Europe + Antarctica
  • AFAS - Africa + Asia
  • AFAN - Africa + Antarctica
  • AFOC - Africa + Australia and Oceania
  • AFSA - Africa + South America
  • ANNA - Antarctica + North America
  • ANOC - Antarctica + Australia and Oceania
  • ANSA - Antarctica + South America
  • ASAN - Asia + Antarctica
  • NASA - North America + South America
  • OCSA - Australia and Oceania + South America
  • ASSA - Asia + South America
  • NAOC - North America + Australia and Oceania
  • OCAS - Australia and Oceania + Asia

Only the listed combinations of zones are allowed!

empty = any

- one or several values

AS,EU
SA
EUSA, EUNA
country zone countryZones The listed country codes form an area outside which the aircraft should not land and take off. empty = any

CODE,CODE...

RU,IT,DE,FR
departure countries depCountries Valid departure countries for the flight (only the departure country of the first route’s segment is verified). empty = any
CODE,CODE...
<>CODE,CODE...(except for)
RU
<>LV,LT
arrival countries arrCountries The destination country is verified (for OW and CR it is the last country of the last segment, for RT it is the last country of the first leg of the route). For example, for the flight MOW-PAR-MOW, the destination country is FR, for MOW-PAR-LON it is GB. Rule “country of departure = RU, destination country = RU” does not mean a local flight - do not forget to indicate “DA” as flight type. empty = any
CODE,CODE...
<>CODE,CODE...(except for)
RU
<>LV,LT
direct flight isDirect Attribute of a direct flight empty = any
0 — with transfers only
1 — direct only

extra:
2 — initial flight is direct
3 — initial flight is with transfers

0
1
route type routeType You can leave the field empty or specify one value:
  • One-Way — OW,
  • Round Trip — RT,
  • Complex Route — CR.
empty = any
КОД(see examples)
OW
RT
CR
routes routeFull A chain of IATA codes of cities or airports that describes the entire flight route including transfers, without breaks and repetitions. You should always use the IATA area code if available (aggregating airport). For example, the flight VKO-ORY, ORY-VKO is brought to the route MOW-PAR-MOW. empty = any
CODE-CODE,CODE-CODE,...
<>CODE-CODE,CODE-CODE,...(except for)
MOW-LON,LON-MOW
<>MOW-BER-PAR
contains routes routePart Indicates only a part of the route made up similarly to a previous one. empty = any
CODE-CODE,
-CODE-,...
<>-CODE-,...(except for)
-CAI-
<>-PRG-,PRG-SVX
routes (from airports) routeAirportsFull Use the IATA codes of airports (not cities) in the rule. The rest is similar to "routes" see “routes” see “routes”
contains routes (from airports) routeAirportsPart Use the IATA codes of airports (not cities) in the rule. The rest is similar to "contains routes" see "contains routes" see "contains routes"
departure (airports, cities) depAirports Only the departure airport of the first segment is checked. When specifying airport codes, an exact match is required. When specifying city codes (aggregating airports), the comparison is carried out according to the internal airport directory. It is recommended that you provide specific airport codes. empty = any
CODE,CODE...
<>CODE,CODE...(except for)
MOW,PAR,BER <>VKO,LON
Arrival (airports, cities) arrAirports The arrival airport is defined similarly to the "arrival countries". Checking for comparisons is carried out similarly to "departure (airports, cities)" empty = any
CODE,CODE...
<>CODE,CODE...(except for)
MOW,PAR,BER <>VKO,LON
start of departure dateBegin Departure date of the first segment must be greater than or equal to the specified date empty = any

DD.MM.YYYY

01.01.2012

31.01.2010

Departure in (in hours) dateDepartureAfter From the current date, the maximum value or departure range is set. For example, if it is necessary to allocate flights no later than 5 days before departure, then the range [0,120] is set. empty = no restriction
maximum value
[X,X] — range
13

[10,100]

end of departure dateEnd The departure date of the first segment must be less than or equal to the specified date empty = ignored

DD.MM.YYYY

31.12.2022
return not earlier than dateBackBegin Departure date of the last segment of the route must be greater than or equal to the specified date empty = ignored

DD.MM.YYYY

31.12.2022
return not later than dateBack Departure date of the last segment of the route must be less than or equal to the specified date empty = ignored

DD.MM.YYYY

31.12.2022
duration in days daysDuration Limit on the maximum gap in days between the first date of flight and the end of the route. You can specify a range.

Duration in days is calculated as a mathematical date difference. If departure and return are in one day, the duration is 0 days.

empty = no restriction
number of days — maximum value (inclusive)
[X,X] — range
13

[3,13]

weekdays dayOfWeek Allowed days of the week for the departure date of the first segment of the route. Values are indicated by the ordinal number of the day of the week, starting on Monday as 1. empty = ignored

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

2
3,5
passenger types passengers Allowed types of passengers on flight. To trigger the rule, all listed types must be present in the flight. empty = any
ADT — adult
CLD — child (2-12)
INF — infant (0-2)
INS — infant with seat (0-2)
- one or several values
INF
ADT,CLD
flight mask A formal description of the flight in text format, to create complex rules.
Will be added to the next version of the application.
priority priority If several rules are triggered, then the one with the highest priority is selected. If there are several rules with the same priority (or the priority is not specified), a newer rule is selected (located below in the imported table) integer
empty = 0
1
2
promotion code Unique promotion code. It is created in the administration panel under Template:Menu. any set of letters/numbers/characters 12022014_Promo
utm source utmSource Transition source ID, which is displayed in the "No." field of the transition source table in the metrics module.
You can enter multiple sources.
empty = any
CODE,CODE...
<>CODE,CODE...(except for)
123,456
<>123,456
airline commission commission Agent profit received from the airline for tickets sold. It is the mandatory field, and it must strictly correspond to the value specified in the contract. The value is transferred to the GDS upon ticketing. May be indicated as a percentage of the fare or in absolute value. The commission is always calculated for each passenger.

Rules with a specified zero commission has more priority over rules with an empty commission.

"xxxCODE" (currency code) or "XX%" 100RUB
13%
commission for subagents agencyCommission Subagency commission is a part of the profit from the airline, which the agent gives away to subagents. The value of the commission acts as a discount for subagents, reducing the cost of air tickets. Commission is always calculated for each passenger whose fare value is not 0.

Commission Formats for Subagents:

For all subagents:

  • Fixed amount: XRUB, where:
    • X - commission amount, integer or decimal fraction number with a dot separator: 60, -3, 0.5
    • RUB - IATA code of the currency:EUR, UAH.
  • Percentage of the fare: X%,
    • where X - percentage of the fare, integer or decimal fraction number with a dot separator: 60}, -3, 0.5.

For specific subagents or subagent groups:

  • (ID:value),(ID:value),(ID:value),..., where ID - number of subagent (group) in Websky, value - amount of commission for this subagency (group) in the format X% or XRUB.

In one rule, you can combine the commission for all subagents and the commission for the specified subagents in the following format:

  • XX,(ID:YY),(ID:YY),(ID:YY),...}}, where:
    • XX - commission for all subagents in the format described above,
    • YY - commission for a given subagent in the format described above.

In this case, the amount of the commission:

  • for all subagents except those indicated: XX,
  • for the indicated one: XX + YY.

Example:

5%,(123:2%),(345:3%)
.
  • Subagent comission under the number 123 is: 5% + 2% = 7% from the fare.
  • Subagent comission under the number 123 is: 5% + 3% = 8% from the fare.

If you want to enter the amount as decimal number, the fractional part is separated by "." , eg: 0.5%

Template:Attention

see description 100RUB

6EUR

2%

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

segment-by-segment commission calculation segment-by-segment modeForSegment Attribute of applying a commission or bonus to each segment of the flight. For example, 100 rub. for each segment. empty = 0
0 — one commission for the entire flight
1 — the commission must be multiplied by the number of segments
0
1
airline bonus bonus The agent’s additional profit that the agency receives from the airline, but it is not included in requests to GDS. It is set and calculated in exactly the same way as commissions (the calculation considers the parameter "segment-by-segment commission calculation"). It is used to calculate the "profitability" of air travel, affects the operation of the mixer and may affect the charge when setting the "minimum profit" parameter.


Of all the rules that triggered, the bonus will be taken into account only from one of them according to the following priority:

  • Maximum priority for triggered commission rule
  • If there is no bonus in the commission rule, the bonus will be used from another triggered non-commission rule (additional rule with an empty commission). If there are several such rules, the rule with the highest identifier is used (below in the table)
"xxxCODE" (currency code) or "XX%" 100RUB
13%
segment bonus (allowable airlines) modeForAirlines Setting the current parameter forces the bonus calculation mode for each segment of the flight (for an absolutely specified bonus), but only segments with validating or interline carriers from the list specified here are taken into account. empty

CODE (airline code)
CODE,CODE ...

SU

SU,FV

agency charge charge All markups/discounts that will be applied to the flight described by the rule are indicated here. You can specify several price rules in one field, dividing them by user type.

format = (subject:amount),(subject:amount),(subject:amount)...
subject = ID of the groups, users and two "B2C" values, "B2B" with the possibility <>denial
amount = term + term + term...[restriction]
restriction = range of total charge value, is set as [price,price]
term = price*multiplier*multiplier...
price = "xxxCODE" (currency code) or "XX%" (percent of total cost (fare + taxes) ГРС)
multiplier = one of the values:

  • PAS — total number of passengers (including INF)
  • ADT — number of adults
  • CLD — number of children (2-12)
  • INF — number of infants (0-2)
  • INS — number of infants with seat (0-2)
  • SEG — number of flight segments (flight from A to B with 1 transfer => 2 segments)
  • LEG — number of legs (flight from A to B with 1 transfer => 2 segments)
  • TRF — to get the fare price, equal to the total amount of fares
  • SGV — number of validating carrier’s segments

Examples:

  • 100RUB*SEG : plus 100 rubles to the order value for each segment
  • 150RUB*SEG*PAS;: plus 150 rubles for each segment, for each passenger. For example: a flight with two segments and two passengers = 600 rubles.
  • -10%*TRF : 10% discount from a fare
  • 50RUB*LEG*ADT[,1000RUB] : 50 rubles for each adult ticket on each flight leg, but not more than 1000RUB
  • (<>123,345: 100RUB), (123,345: -100RUB) : subjects 123 and 345 will receive a discount of 100 rubles., the rest - a markup of 100 rubles.
  • (B2B: 1000RUB*ADT — 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB) : B2B users receive a markup of 1000 rubles for each adult ticket and a 100 rubles discount for each child ticket, but not less than 1% of the total price and not more than 10%. B2C users get a 10% markup, but no less than $ 10. User with ID=123 will receive a discount of 1000 rubles.

If several price rules separated by comma are triggered, their total amount is taken. If this is not a suitable behavior, separate the price rules into separate flight rules (strings), they can be adjusted by priority.

Template:Attention

If you want to enter the amount as a decimal fraction, the fractional part is separated with "." , for example: 0.5%

see description see description
Commission for metasearch MetasearchCommission The comission is charged by the metasearch system and is calculated at the search stage. The value should be indicated as a decimal representation of the interest rate - it is a fraction of 1 if you, for example, specify 0.05 - 5%. You can specify it with/without the "%" sign. The commission is calculated from the amount = the flight price from the supplier + fees/discounts + additional fees + min. profit. The calculated value is rounded to 2 characters after the separator. This parameter is described in more detail

here.

see description 0.05

0.025%

attribute of an additional charge chargeExt The setting allows you to change the procedure for calculating the charge, adding additional settlement rules to the final result.
  • 0 — Standard charge (default value). Of all these fees, the one wih highest priority will be applied.
  • 1 — Additional charge. Charges indicated as optional are verified separately. Similarly, one extra charge with the highest priority will be applied.
  • 2 — Mandatory charge. Will be applied if all charge parameters are satisfied. Priority is ignored.
empty = 0

1
2

0
1

minimum profit minProfit The minimum profit that the agency will receive for the order. If the calculated profit of the agency is less than the minimum, then the charge will be increased to the required value.

The format is similar to the agency charge format. For calculations, the value from the rule according to which the airline commission will be determined will be applied. If you want to change this behavior, you must set the parameter "priority of min. profit" (see below)

see description 50RUB*LEG*PAS
min. profit priority minProfitPriority An additional parameter responsible for calculating the minimum profit. The rule with the highest priority will work, and if the priority matches, the rule located below will be used Positive numeric values. 1, 2, ...
rounding chargeRounding Arithmetic rounding procedure empty = 0,
0 = to an integer value,
0.1 = to tenths,
0.01 = to hundredths
0.1
0.01





Additional rule settings for Websky platform

Parameters for private (confidential) fares management.

To view the description of the parameters expand the table:

Additional rule settings
Heading
Internal name
Description
Valid values
Examples
tour code gdsTourCode Tour code
any value 15ZU
ticket designator gdsTicketDesignator Ticket designator
any value PP08
endorsement gdsEndorsment Endorsements
any value
or %VAT_VALUE% to transfer the VAT value to the endorsement only for Amadeus, Saber, Galileo, GalileouAPI and S7 NDC; for Sabre, the value is transferred to the GDS, but does not fall into the itinerary receipt
Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent; %VAT_VALUE%
agent's own profit comAgentProfit Agent's own profit
"xxxCODE" (currency code) or "XX%" Only integer values are allowed 100RUB
2%
discount subject by a tour code corpClient ID of the subject who will receive a discount by the tour code ID,ID

<>ID,ID

2772,2653

<>2786,2361

discount by a tourcode discount Скидка
"xxxCODE" (currency code) or "XX%" 100RUB
13%
authorization code authCode Authorization code
any value MB10

Pricing. GDS SITA Gabriel

Setting of the price rules for S7 Airlines in GDS SITA Gabriel has its own specifics. Due to the fact that GDS SITA Gabriel carries out only booking and ticketing for S7 Airlines, and the search is executed in other GDSs, the flight price when searching and booking can differ by the amount of taxes which can be in the GDS used for the search but are absent in SITA Gabriel. To prevent changes in the price after proceeding to a booking, special rules are set in the pricing, where discount equal to tax is set via the price confirmed parameter (see parameters of the pricing rules.

Tax codes :

  • in GDS Sabre – YQF.
  • in GDS Sirena – ZZ.
  • in GDS Galileo and Amadeus – YQ.

Tax amounts vary by course.

Each rule for flights of S7 Airlines is divided into 2 separate strings:

  1. Rule for the search:
    • validating carrier: S7;
    • booking systems: SITA;
    • price confirmed: 0;
    • agency charge: indicate the discount by the amount of the GDS fee used for search + indicate agency charge size.
  2. rule for booking:
    • validating carrier: S7;
    • booking systems: SITA;
    • price confirmed: 1;
    • agency charge: indicate only the amount of the agency charge.


EMD

EMD - electronic multi-purpose document or voucher. In the "Product control → Aviatickets → Pricing → Settings" section, there is a setting Issue EMD by order charges amount. It is responsible for issuing the EMD to a collection agency (available only to Siren Travel). How it works: if the agency that buys the ticket has an agency charge for the validating company of the carrier in the pricing rules, then when issuing an order, in addition to the itinerary receipt and EMD for additional services, a separate EMD for agency charge will be issued. If there are several people in the order, then the charge will be divided between them, the total amount of the charge will not increase.