Wheretocredit logo

Wheretocredit

Community
borski
wheretocredit

Mileage earning rates by airline and booking class via wheretocredit.com. Redeemable and qualifying miles across 50+ programs. Use when deciding where to credit a flight or comparing earning rates.

Overview

Publisherborski
Repositorytravel-hacking-toolkit
Skill namewheretocredit
Stars
690
Forks
75
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by borski on GitHub. Read the source before you install it.

Installation

Install the Wheretocredit AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/wheretocredit
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git /tmp/travel-hacking-toolkit
mkdir -p .claude/skills
cp -r /tmp/travel-hacking-toolkit/plugins/travel-hacking-toolkit/skills/wheretocredit .claude/skills/wheretocredit
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Wheretocredit in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Wheretocredit on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Wheretocredit is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Where to Credit

Look up mileage earning rates for any airline and booking class across 50+ frequent flyer programs. Covers both redeemable miles (the ones you spend) and qualifying miles (the ones that count toward elite status).

Source: wheretocredit.com — No API key required. Data is scraped via webfetch.

URL Patterns

All data lives at predictable URLs on wheretocredit.com:

Airline booking class detail (PRIMARY)

https://www.wheretocredit.com/en/{IATA_CODE}/{BOOKING_CLASS}

Returns: cabin type, fare types, redeemable miles table, qualifying miles table.

Example: https://www.wheretocredit.com/en/AY/Z (Finnair class Z)

Airline overview (all classes)

https://www.wheretocredit.com/en/{IATA_CODE}

Returns: list of all booking classes with cabin, fare types, and top earning program for each.

Example: https://www.wheretocredit.com/en/AY (all Finnair classes)

Program overview (all partner airlines)

https://www.wheretocredit.com/en/programs/{PROGRAM_CODE}

Returns: list of all airlines that credit to this program.

Example: https://www.wheretocredit.com/en/programs/AA (AA AAdvantage partners)

Common IATA Codes

CodeAirline
AAAmerican Airlines
ASAlaska Airlines
AFAir France
AYFinnair
BABritish Airways
CXCathay Pacific
DLDelta
EKEmirates
IBIberia
JLJapan Airlines
KLKLM
LHLufthansa
NHANA
QFQantas
QRQatar Airways
SKSAS
SQSingapore Airlines
TKTurkish Airlines
UAUnited Airlines
VSVirgin Atlantic

Common Program Codes

CodeProgram
AAAmerican Airlines AAdvantage
AS2Alaska/Hawaiian Atmos Rewards
AFBFlying Blue (Air France/KLM)
BA2British Airways Club
CXCathay Marco Polo / Asia Miles
DL2Delta SkyMiles
IB2Iberia Plus
JLJapan Airlines Mileage Bank
LHMiles & More
QRQatar Privilege Club
SKSAS EuroBonus
SQSingapore KrisFlyer
UAUnited MileagePlus
VSVirgin Atlantic Flying Club

Reading the Results

Redeemable Miles Table

Shows the percentage of flown distance you earn as spendable miles.

ColumnMeaning
BaseEarning rate with no elite status
Tier 1First elite tier bonus
Tier 2Second elite tier bonus
Tier 3Third elite tier bonus
Tier 4Highest elite tier bonus
MinimumFloor (e.g., "500 Miles" means you earn at least 500 regardless of distance)
RestrictionLimitations (e.g., "Countries Excluded: CU" = no earning on Cuba routes)

Qualifying Miles Table

Shows the percentage of flown distance that counts toward elite status.

Same column structure. Often different rates from redeemable. Some programs earn 0% qualifying on discounted fares even when they earn redeemable miles.

Key distinction: A flight can earn redeemable miles but zero qualifying miles. Always check BOTH tables.

Tier Levels by Program

Programs use different names for their tiers. Map your status to the right tier column:

ProgramBaseTier 1Tier 2Tier 3Tier 4
AA AAdvantageBaseGoldPlatinumPlatinum ProExecutive Platinum
Alaska AtmosBaseMVPMVP GoldMVP Gold 75KMVP Gold 100K
Delta SkyMilesBaseSilverGoldPlatinumDiamond
United MileagePlusBaseSilverGoldPlatinum1K
Flying BlueBaseSilverGoldPlatinumUltimate
BA Executive ClubBaseBronzeSilverGoldGold Guest List

Traveler Profiles

Before using the decision algorithm, define each traveler's profile. You need:

  • Which FF programs they have accounts in
  • Their elite status tier in each program
  • Which program is their "primary" (the one they're actively building status in)

Example profile:

Traveler: Alex
Programs: AA AAdvantage (Platinum, Tier 2), Alaska Atmos (Base), Flying Blue (Silver, Tier 1)
Primary: AA AAdvantage (retaining Platinum status)

Only recommend programs someone has an account in. Don't suggest crediting to Etihad Guest if nobody has one, unless the earning is dramatically better AND the program is useful for future redemptions.

Decision Algorithm

When a flight is booked, run this logic to determine where to credit:

Step 1: Gather inputs

  • Operating airline IATA code (from ticket, NOT ticketing airline)
  • Booking class letter (from ticket or fare details)
  • Route distance in miles (estimate or look up)
  • Which traveler(s) are on the ticket

Step 2: Fetch earning rates

  • Fetch https://www.wheretocredit.com/en/{IATA}/{CLASS}
  • Extract redeemable AND qualifying rates for all of that traveler's programs

Step 3: Calculate actual miles earned

For each reachable program, for each traveler:

raw_miles = route_distance × (base_rate + tier_bonus) / 100
actual_miles = max(raw_miles, minimum_floor)

If a program uses fare-price earning (e.g., "6 Miles/EUR"), calculate based on ticket price instead of distance.

Step 4: Apply decision rules

Rule 1: Short-haul floor advantage. On flights under ~1,500 miles, programs with a 500+ mile minimum floor (like Alaska) can earn MORE than programs offering a percentage of distance. Calculate both and compare. At Base tier, Alaska's 500 floor beats 25% earning on any flight under 2,000 miles. At higher tiers with bonus percentages, the crossover point drops.

Rule 2: Qualifying miles matter for status chasers. If a traveler is actively building or retaining elite status, qualifying miles matter. If a flight earns qualifying miles on their primary program but not on the higher-earning alternative, flag the tradeoff.

Rule 3: Highest redeemable wins (all else equal). If qualifying miles are a wash or irrelevant, credit to whichever program earns the most spendable miles.

Rule 4: Don't split for tiny differences. If two programs are within 50 miles of each other, default to the traveler's primary program for simplicity.

Step 5: Output the recommendation

Format:

✈️ {AIRLINE} {FLIGHT} ({CLASS}) · {ORIGIN}→{DEST} · ~{DISTANCE} mi

{Traveler} → Credit to {PROGRAM}: {MILES} redeemable miles ({QUALIFYING} qualifying)
  Why: {one sentence reason}

Worked example (Finnair AY806, class Z, BGO→ARN, ~770 mi)

Traveler A: AA Platinum (Tier 2), Alaska Base Traveler B: Alaska Base only

✈️ Finnair AY806 (Z) · BGO→ARN · ~770 mi

Traveler A → Credit to AA AAdvantage: ~308 redeemable (770 × 40%), ~193 qualifying (770 × 25%)
  Why: Tier 2 bonus pushes AA past Alaska's 500 floor. Qualifying miles help retain status.

Traveler B → Credit to Alaska Atmos: 500 redeemable (floor), 0 qualifying
  Why: 500 mile floor beats 25% of 770 (= 193). Only program available.

Reference Workflows

"What does class X earn on airline Y?"

  1. Fetch https://www.wheretocredit.com/en/{IATA}/{CLASS}
  2. Read both redeemable and qualifying tables
  3. Note cabin type and fare types listed at the top

"Which airlines credit to program X?"

  1. Fetch https://www.wheretocredit.com/en/programs/{CODE}
  2. Lists all partner airlines with links to their booking class charts

Fare Type Mapping

Booking classes map to fare brands, but every airline names them differently. The wheretocredit page header shows which fare types apply for that airline.

Common patterns (names vary by carrier):

  • Full flex / Refundable = fully flexible, changeable, refundable
  • Standard / Classic = some flexibility, partial refund
  • Basic / Light / Saver = restricted, limited changes
  • Ultra-basic / Superlight = cheapest, most restrictions, often no checked bag

Examples: Finnair uses Superlight/Classic/Flex. SAS uses SAS Go Light/Go/Plus/Business. Norwegian uses LowFare/LowFare+/Flex. United uses Basic Economy/Economy/Economy Flex. Always check the specific airline's fare page for exact names.

The same booking class letter can map to different fare types on different airlines.

Important Notes

  • The calculator page requires JavaScript and won't work via webfetch
  • Data is maintained by Travel-Dealz.com (took over from original WTC team)
  • Some programs earn based on fare price (e.g., Finnair Plus: "6 Miles/EUR") rather than distance percentage
  • Always check the "Restriction" column for country exclusions or other limitations
  • Earning rates change. When in doubt, verify against the airline's own partner earning page

When to Use

Load this skill when:

  • Booking a flight and deciding which FF program to credit it to
  • Comparing earning rates across programs for a specific airline/class
  • Checking if a discounted fare earns qualifying miles
  • Need to know tier bonus rates for elite status holders
  • Any "where to credit" or "how many miles will I earn" question

Do not:

  • Assume the calculator works via webfetch (it needs JS)
  • Confuse redeemable miles with qualifying miles. Always specify which.
  • Forget that operating carrier matters, not ticketing carrier

Frequently asked questions

What does the Wheretocredit AI skill do?

Mileage earning rates by airline and booking class via wheretocredit.com. Redeemable and qualifying miles across 50+ programs. Use when deciding where to credit a flight or comparing earning rates.

Why use Wheretocredit on TypingMind?

Because you install it once and use it with any model. Wheretocredit is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Wheretocredit in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/wheretocredit. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Wheretocredit?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Wheretocredit?

As many as you like. As long as a model supports skills, you can use Wheretocredit with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Wheretocredit AI skill free?

Yes. It is published on GitHub by borski under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇