Skymiles Estimator Project

Skymiles Estimator Project

Project page describing the Skymiles Estimator web calculator, which estimates status and awards accrual for flights on Delta Airlines and SkyTeam partners

Skymiles Estimator is a calculator for estimating the potential earning of Delta SkyMiles from SkyTeam flights. The Skymiles Estimator calculates both redeemable miles and medallion qualification requirements, including potential earn from SkyTeam partner airlines, as well as bonuses from Credit Card spend for the range of available SkyMiles credit cards. Skymiles Estimator breaks down earnings by segment for a segment-by-segment view of earning potential across entire itineraries.

  1. Usage
    1. Disclaimer
    2. Blank Itinerary
    3. Sample Itineraries
      1. Sample Itinerary 1: Round-trip OMA to SGN
      2. Sample Itinerary 2: Round-trip MCI to BKK
      3. Sample Itinerary 3: Round-trip SEA to HND
    4. Usage Notes
  2. Implementation
    1. Kotlin
    2. Aurelia 2
    3. TailwindCSS
  3. Contributing
  4. Resources
    1. Earning Rules
    2. Credit Card Bonuses

Usage

Disclaimer

This project is a for-fun project based entirely upon publicly-available information. Skymiles Estimator and its authors are not associated with Delta or the Delta SkyMiles program. There are no guarantees on accuracy and correctness. Use at your own risk.

Blank Itinerary

Skymiles Estimator with Blank Itinerary

Give it a try! Start estimating your own itinerary.

Sample Itineraries

SampleFare ClassTotal CostMQMsMQSsMQDsMilesMQM/$MQD/$Miles/$
1Main Cabin$1565.471025461951191206.551.2512.21
2Premium Select$1992.871889063717328739.481.8716.50
3Business$8989.873318648848709383.690.987.89

Sample Itinerary 1: Round-trip OMA to SGN

Skymiles Estimator with Sample Itinerary 1

This itinerary shows a round-trip flight from OMA to SGN, predominantly on flights marketed by Korean Air. For a total price of $1565.47 on an economy ticket, this itinerary would earn 10254 MQMs, 6 MQSs, 1951 MQDs, and 19120 redeemable miles. Compared to a similar hypothetical itinerary sold and marketed by Delta directly, this itinerary gives a lower MQM earning rate (6.55/$ vs 12.57/$) in order to gain a slightly higher MQDs and Miles earning rate (1.25/$ and 12.21/$ vs 0.98/$ and 11.32/$). In other words, the target earning (MQM, MQD, or Miles) may influence the best option when purchasing tickets.

Sample Itinerary 2: Round-trip MCI to BKK

Skymiles Estimator with Sample Itinerary 2

This one displays a round-trip flight from MCI to BKK on a premium economy ticket. The earnings for this sample would be 18890 MQMs, 6 MQSs, 3717 MQDs, and 32873 redeemable miles for a total cost of $1992.87. Among the sample itineraries, this one earns the highest per US dollar spent.

Sample Itinerary 3: Round-trip SEA to HND

Skymiles Estimator with Sample Itinerary 3

The third sample itinerary demonstrates an Air France flight from Seattle to Tokyo, stopping in Paris, on a business-class ticket. Even though the earnings on this ticket are at business-class rates, the pricing makes the itinerary an unattractive option for both earning status and redeemable miles.

Usage Notes

Most fields are optional; however, the more data that is entered about an itinerary and its flight segments, the more accurate the estimations can become. Several earning rules, such as specific flight number exclusions, require the relevant data.

There seems to be no distinguishing feature to determine an exception fare against regular Delta fares. To facilitate more accurate calculation, exception fares should be entered into the Skymiles Estimator with flight numbers beginning (*)DL instead of DL.

The URL fragment is automatically updated as changes are made. This allows sharing itinerary estimates and bookmarking for later review.

Implementation

Skymiles Estimator is implemented entirely within browser-based technologies, with all required data included into the core .js bundle. Information such as airlines, fare classes, distances, and earning rules are included to allow the web application near-instantaneous calculation on both desktop and mobile web browsers without requiring network requests.

Calculation in the Skymiles Estimator attempts to match specific earning rules as described on the Delta SkyMiles program website, including flight number disqualification and disallowed airline combinations. For example, flights marketed by China Southern earn miles only when flown by China Southern or Delta.

Skymiles Estimator is implemented using the following technologies:

Kotlin

The core calculation logic is written entirely with Kotlin for Javascript. Compilation of the project is orchestrated using Maven with a multi-module project structure. The output from the core calculation submodule is used as a dependency in the frontend submodule.

Aurelia 2

The Skymiles Estimator frontend is implemented as a Single-Page Application with Aurelia v2.0, using ECMAScript instead of TypeScript. Minimal scripting code acts as a bridge between the Aurelia framework and the core calculation logic, with Aurelia capable of binding the data structures directly.

Tutorials and documentation for Aurelia v2 are both available at the new Aurelia documentation site.

TailwindCSS

The page design uses Tailwind CSS together with the official Tailwind Forms plugin. The combination of Aurelia components with Tailwind’s utility CSS classes provide flexible, consistent, and reusable styling. The media selectors available on every utility class make responsive design incredibly simple, allowing the Skymiles Estimator to work on screens of any size.

Contributing

Code contributions are welcome as pull requests on the GitHub project page. Particular areas of interest include:

  1. Additional airports and segment distances
  2. More complete list of SkyTeam partner airlines; while all Core Global Airline Partners are included, many of the Global Airline Partners have not yet been entered
  3. Understanding the earning rules when remaining on same flight through multiple cities (See to-do notes here)
  4. Implement side-by-side comparison of identical itineraries with different marketing airlines and/or fare classes.

Resources

Earning Rules

Earning rules were compiled from information available on the following pages:

  1. Earning Miles with Delta
  2. Earning Miles with Exception Fares
  3. Earning with Airline Partners

Credit Card Bonuses

Credit card bonus levels were compiled from information on these pages:

  1. Quick Personal Card Comparison
  2. Quick Business Card Comparison