Pricing (air tickets)
Contents
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:
- The module records which airline is identified by GDS as validating;
- Finds all the rules for a given airline in the pricing file;
- Selects the rules that match the flight by all the parameters;
- 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.
- 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:
- validating carrier: «АА»,
- overriden carrier: «BB»,
- share of interline segments: 1,
- 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:
- By the Priority column - if triggered rules have priority indicated, then the rule with the highest priority is selected.
- 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.
- 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.
- 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.
- 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:
- if they match:
- cell is highlighted green,
- the next parameter is verified;
- if the flight parameter value does not match the rule parameter value:
- cell is highlighted red,
- 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:
- Зайдите в раздел Product control → Avia tickets → Pricing → Import / export Excel.
- Press Download in "xls" format or Download in "xlsx" format. Open file for editing.
- 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
- Save the changes to the file
- On the Import / export Excel in the administration panel, click Browse, open the file.
- 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:
|
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:
|
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):
|
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).
|
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:
|
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:
|
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:
You can define [1]. To do this, write the parameter in the /XXX/ format. Examples:
|
empty = any - one or several values (see description) |
WRUTH9PL,ARUTH9PL
|
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:
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:
where CODE:
|
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:
|
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.
Допустимые варианты ввода:
|
empty = any - one or several values (see description) |
SU:A,LH:B,BA:C SU:A,LH: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
the flight must be in both zones ("EUSA, EUNA" - transatlantic flight):
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: |
0 1 |
route type | routeType | You can leave the field empty or specify one value:
|
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 |
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:
For specific subagents or subagent groups:
In one rule, you can combine the commission for all subagents and the commission for the specified subagents in the following format:
|
see description | 100RUB
|
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.
|
"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) |
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)...
Examples:
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. If you want to enter the amount as a decimal fraction, the fractional part is separated with "." , for example: |
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.
|
empty = 0 1 |
0 |
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:
- 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.
- 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.