Pricing Rules
The composite flight-pricing engine — a flight's price is the sum of every matching rule, each set by IF/ELSE-IF/ELSE branches and versioned by effective date.
What it is
Pricing Rules are the composite engine that prices every flight. A flight’s total is the sum of every rule that matches it — there is no “first match wins” — so a single flight can stack a flight fee, a tow fee, an instructor fee and more, each from its own rule.
Within a single rule, IF / ELSE-IF / ELSE branches are evaluated top to bottom, and the first matching branch sets that rule’s price. A branch price of 0 simply adds no charge, which is a clean way to exempt certain flights without deleting the rule. Rules are versioned by effective date, so a historical flight always bills at the price that was active on the day it flew — past invoices never shift when you change tomorrow’s prices.

A single rule lays out its branches as IF/THEN logic, so you can read exactly which condition produces which price.

How to use it
- Create a rule — start a new pricing rule at
/pricing-rules/newand build its condition branches. - Open a rule — review or edit an existing rule at
/pricing-rules/[id]. - Stack charges — write one rule per charge type; the flight total sums all matches.
- Set effective dates — version prices so historical flights keep billing at their original rates.
- Use a zero price — set a branch to 0 to match a flight but add no charge.
Related
- Flights — the flights these rules price.
- Qualification Rules — the same condition engine, used for eligibility.
- Accumulated Facts — running totals the rules read in conditions.
- Transactions — where the resulting charges land.