GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!
Watch the launch videoWatchAirline Loyalty Points Calculator
Advanced system for calculating airline loyalty program points based on fare class, route type, distance, member status, and seasonal promotions.
Solution
This loyalty points calculator automatically determines the exact number of points earned for each booking by evaluating multiple factors simultaneously. The system first applies a multiplier based on fare class, with premium cabins like First and Business receiving higher multipliers than Economy options. Route evaluation considers both flight type (Domestic vs International) and actual distance traveled, assigning appropriate base points accordingly.
Member status levels (Platinum, Gold, Silver) significantly impact point earnings through status-specific multipliers that reward program loyalty. The system also accounts for seasonal promotions, automatically applying bonus multipliers during special periods. All factors are combined into a precise point calculation that's immediately available after booking confirmation, eliminating manual calculations and ensuring members receive accurate, consistent rewards regardless of booking channel or complexity.
How it works
The loyalty points calculator processes each booking through four sequential decision components:
- Fare Class Evaluation: Analyzes the booking cabin class (First, Business, Premium Economy, etc.) and assigns the appropriate earning multiplier, ranging from 1.0 to 3.0.
- Route Assessment: Determines base points by evaluating both route type (Domestic/International) and actual flight distance, with longer international routes earning substantially more points.
- Status Multiplier: Applies member-specific multipliers based on loyalty tier status, with premium tiers receiving higher point multiples (up to 2x for Platinum).
- Promotion Handling: Checks for seasonal promotion eligibility and applies a 50% bonus when applicable.
- Points Calculation: Multiplies all factors together and rounds to the nearest whole number to determine the final point award.
Where teams use it
- Airline loyalty programs and frequent flyer schemes
- Co-branded credit card point earning calculations
- Partner airline mileage accrual
- Corporate travel reward programs
- Alliance-wide points standardization
- Promotional campaign point bonuses
Inside the decision model
Airline Loyalty Points Calculator ships as a JDM decision graph with 5 nodes, 3 decision tables and 16 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.
Request
inputAccrual needs just two objects: booking with fareClass, routeType, distance, and isSeasonalPromotion, and member with the status tier; ids and enrollment details ride along without affecting the math.
Sample requestJSON
{
"booking": {
"fareClass": "Business",
"routeType": "International",
"distance": 3500,
"isSeasonalPromotion": true
},
"member": {
"status": "Gold",
"id": "MEM12345",
"name": "John Smith",
"enrollmentDate": "2020-05-15"
}
}Fare Class Multiplier
tableCabin sets the first factor on booking.fareClass with first hit: 'First' earns a fareMultiplier of 3, 'Business' 2, 'Premium Economy' 1.5, 'Economy Plus' 1.25, and any other fare defaults to 1.
Scaling accrual with cabin is how revenue-based and hybrid loyalty programs keep earn roughly proportional to ticket yield, since a First fare can cost several times an Economy one. The 3x-to-1x ladder is a typical program design range, but the exact multipliers are commercial choices rather than an alliance or IATA standard.
| Fare Classbooking.fareClass | Fare Multiplierpoints.fareMultiplier |
|---|---|
| 'First' | 3 |
| 'Business' | 2 |
| 'Premium Economy' | 1.5 |
| 'Economy Plus' | 1.25 |
| - | 1 |
Route Base Points
tableBase points come from crossing booking.routeType with booking.distance: 'Domestic' sectors earn 250 under 500 miles, 500 in the [500..1000] band, and 750 beyond it, while 'International' earns 1000 under 2000 miles, 2000 in the [2000..5000] band, and 3000 past 5000, with a 500-point fallback when neither field matches.
Banded awards instead of exact per-mile accrual make earnings easier for members to predict and simpler for partners to settle, a pattern many programs adopted when moving away from pure mileage earning. The international premium reflects the higher fares and strategic value of long-haul flying; the band edges themselves are program design, not regulation.
| Route Typebooking.routeType | Distance (miles)booking.distance | Base Pointspoints.basePoints |
|---|---|---|
| 'Domestic' | < 500 | 250 |
| 'Domestic' | [500..1000] | 500 |
| 'Domestic' | > 1000 | 750 |
| 'International' | < 2000 | 1000 |
| 'International' | [2000..5000] | 2000 |
| 'International' | > 5000 | 3000 |
+1 more row in the downloadable template
Member Status Multiplier
tableElite tier applies the third factor from member.status: 'Platinum' doubles earnings with a statusMultiplier of 2, 'Gold' takes 1.5, 'Silver' 1.25, and everyone else 1.
Status bonuses in the 25% to 100% range mirror the elite earning boosts real frequent-flyer programs publish, and they are among the cheaper elite benefits to fund since points are a deferred liability. The specific 2, 1.5, and 1.25 steps are conventional but entirely discretionary.
| Member Statusmember.status | Status Multiplierpoints.statusMultiplier |
|---|---|
| 'Platinum' | 2 |
| 'Gold' | 1.5 |
| 'Silver' | 1.25 |
| - | 1 |
Calculate Total Points
expressionFinal math runs as one chain: seasonalPromotion resolves to 1.5 when booking.isSeasonalPromotion is true and 1 otherwise, then calculatedPoints takes floor(points.basePoints * points.fareMultiplier * points.statusMultiplier * seasonalPromotion) and totalPoints exposes the result. Flooring matters because loyalty ledgers post whole points, and multiplying keeps every bonus proportional instead of stacking additively.
booking.isSeasonalPromotion == true ? 1.5 : 1floor(points.basePoints * points.fareMultiplier * points.statusMultiplier * $.seasonalPromotion)$.calculatedPointsOther Aviation templates
View all templatesFlight Dispatch Decision System
Rules-based aviation system that evaluates weather, aircraft, crew, and weight factors to ensure regulatory compliance and safe flight operations.
AviationDynamic Airline Ticket Pricing Engine
Automated fare optimization system that sets ticket prices based on time to departure, seat availability, market demand, and competitor pricing.
AviationBooking Personalization System
Dynamic flight booking platform that tailors UI, discounts, and features based on customer loyalty status, device type, booking history, and traffic source.
Make this template
your own.
Load Airline Loyalty Points Calculator into GoRules, adjust the rules to your policy, and ship it behind your own API.