Skip to main content
Glama

cwsi.net Fare Classes & Mileage Calculators

British Airways Avios and Tier Points Calculator

calculate_british_airways_avios
Read-onlyIdempotent

Estimate what a British Airways ticket earns (miles or points, and status credit where it applies), using cwsi.net's calculator and the airline's published rules. Give the price in GBP, not US dollars. Unofficial.

Input Schema

NameRequiredDescriptionDefault
clNoCabin. WT = World Traveller (economy); WP = World Traveller Plus (premium economy); CW = Club World (business); FI = First. Only applies to some choices of the other fields; ignored otherwise.WT
csNoCabin. ET = Euro Traveller (economy); CE = Club Europe (business). Only applies to some choices of the other fields; ignored otherwise.ET
tpNoTier points you have so far (optional). Used only for the progress toward the next tier.
yrNoWhen you fly. 26 = Up to 31 March 2027; 27 = From 1 April 2027. From 1 April 2027 British Airways lowers the extra tier points on some long-haul fares (World Traveller Plus Premium Economy, Club World and First) and Silver needs 8,000 tier points, Gold 21,000.26
fceNoClub Europe fare type. BU = Business (+175 tier points); SF = Semi-Flex (+275 tier points); FF = Fully-Flex (+375 tier points). Only applies to some choices of the other fields; ignored otherwise.BU
fcwNoClub World fare type. BU = Business (+500 tier points (200 from 1 April 2027)); SF = Semi-Flex (+700 tier points (400 from 1 April 2027)); FX = Flex (+900 tier points (600 from 1 April 2027)); FF = Fully-Flex (+1,100 tier points (800 from 1 April 2027)). Only applies to some choices of the other fields; ignored otherwise.BU
fetNoEuro Traveller fare type. B = Basic (no extra tier points); P = Plus (+75 tier points); SF = Semi-Flex (+175 tier points); FF = Fully-Flex (+275 tier points). Basic is the Basic Economy fare: it earns no extra tier points. Only applies to some choices of the other fields; ignored otherwise.P
ffiNoFirst fare type. FI = First (+650 tier points (300 from 1 April 2027)); SF = Semi-Flex (+850 tier points (500 from 1 April 2027)); FX = Flex (+1,050 tier points (700 from 1 April 2027)); FF = Fully-Flex (+1,250 tier points (900 from 1 April 2027)). Only applies to some choices of the other fields; ignored otherwise.FI
fwpNoWorld Traveller Plus fare type. PE = Premium Economy (+275 tier points (175 from 1 April 2027)); SF = Semi-Flex (+375 tier points); FX = Flex (+475 tier points); FF = Fully-Flex (+575 tier points). Only applies to some choices of the other fields; ignored otherwise.PE
fwtNoWorld Traveller fare type. B = Basic (no extra tier points); ST = Standard (+150 tier points); SF = Semi-Flex (+250 tier points); FX = Flex (+350 tier points); FF = Fully-Flex (+450 tier points). Basic is the Basic Economy fare: it earns no extra tier points. Only applies to some choices of the other fields; ignored otherwise.ST
haulNoShort haul or long haul. S = Short haul; L = Long haul. Short haul is Euro Traveller and Club Europe; long haul is World Traveller, World Traveller Plus, Club World and First.S
priceNoFare paid (GBP, whole ticket) in GBP. In pounds: base fare plus carrier-imposed charges for the whole ticket, without government taxes and airport charges. British Airways converts other currencies at the IATA 5-day rate on the day you buy. Required unless creditTo is given.
addonsNoAdd-ons (GBP, optional). Paid seats, extra bags and sustainable aviation fuel (SAF): 2 tier points per £1, and Avios at your tier rate. Tier points from SAF are capped at 2,000 a year.
statusNoYour British Airways Club tier. BL = Blue; BR = Bronze; SV = Silver; GD = Gold.BL
flightsNoNumber of flights. Each flight earns the extra tier points: a return trip is 2 flights, and a connection adds one per leg.
creditToNoCredit the flights to a partner program instead of British Airways's own: alaska = Atmos Rewards (creditStatus one of: Atmos Rewards member, Atmos Silver, Atmos Gold, Atmos Platinum, Atmos Titanium). Earns by each flight's distance and the booking class at the program's published partner rates; leave creditTo out for the airline's own program. Give the booking class letter as creditClass. Give the flights as creditFlights (one entry per flight with its great-circle miles). No price is needed with creditTo.
creditClassNoThe booking class letter on the ticket, for creditTo (required with creditTo). Ignored without creditTo.
creditStatusNoYour status in the creditTo program, by its name as listed under creditTo. Defaults to the base level. Ignored without creditTo.
creditFlightsNoThe flights for creditTo: one entry per one-way flight, in order, with its great-circle miles (calculate_flight_distance gives them) and optionally from/to airport codes. Defaults to segs when they carry miles.

Output Schema

NameRequiredDescriptionDefault
linkYes
notesYes
inputsYes
airlineYes
headlineYes
progressNo
breakdownYes
calculatorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / fcw / description
      Previous value: -"Club World fare type. BU = Business (+500 tier points); SF = Semi-Flex (+700 tier points); FX = Flex (+900 tier points); FF = Fully-Flex (+1,100 tier points). Only applies to some choices of the other fields; ignored otherwise."New value: +"Club World fare type. BU = Business (+500 tier points (200 from 1 April 2027)); SF = Semi-Flex (+700 tier points (400 from 1 April 2027)); FX = Flex (+900 tier points (600 from 1 April 2027)); FF = Fully-Flex (+1,100 tier points (800 from 1 April 2027)). Only applies to some choices of the other fields; ignored otherwise."
    • changedInput schema / properties / ffi / description
      Previous value: -"First fare type. FI = First (+650 tier points); SF = Semi-Flex (+850 tier points); FX = Flex (+1,050 tier points); FF = Fully-Flex (+1,250 tier points). Only applies to some choices of the other fields; ignored otherwise."New value: +"First fare type. FI = First (+650 tier points (300 from 1 April 2027)); SF = Semi-Flex (+850 tier points (500 from 1 April 2027)); FX = Flex (+1,050 tier points (700 from 1 April 2027)); FF = Fully-Flex (+1,250 tier points (900 from 1 April 2027)). Only applies to some choices of the other fields; ignored otherwise."
    • changedInput schema / properties / fwp / description
      Previous value: -"World Traveller Plus fare type. PE = Premium Economy (+275 tier points); SF = Semi-Flex (+375 tier points); FX = Flex (+475 tier points); FF = Fully-Flex (+575 tier points). Only applies to some choices of the other fields; ignored otherwise."New value: +"World Traveller Plus fare type. PE = Premium Economy (+275 tier points (175 from 1 April 2027)); SF = Semi-Flex (+375 tier points); FX = Flex (+475 tier points); FF = Fully-Flex (+575 tier points). Only applies to some choices of the other fields; ignored otherwise."
    • addedInput schema / properties / yr
      Added value: +{
      +  "default": "26",
      +  "description": "When you fly. 26 = Up to 31 March 2027; 27 = From 1 April 2027. From 1 April 2027 British Airways lowers the extra tier points on some long-haul fares (World Traveller Plus Premium Economy, Club World and First) and Silver needs 8,000 tier points, Gold 21,000.",
      +  "enum": [
      +    "26",
      +    "27"
      +  ],
      +  "type": "string"
      +}
  2. Changed6 schema fields changed
    • addedInput schema / properties / creditClass
      Added value: +{
      +  "description": "The booking class letter on the ticket, for creditTo (required with creditTo). Ignored without creditTo.",
      +  "pattern": "^[A-Za-z]$",
      +  "type": "string"
      +}
    • addedInput schema / properties / creditFlights
      Added value: +{
      +  "description": "The flights for creditTo: one entry per one-way flight, in order, with its great-circle miles (calculate_flight_distance gives them) and optionally from/to airport codes. Defaults to segs when they carry miles.",
      +  "items": {
      +    "properties": {
      +      "from": {
      +        "description": "The departure airport's code; labels the breakdown.",
      +        "pattern": "^[A-Za-z0-9]{3,4}$",
      +        "type": "string"
      +      },
      +      "miles": {
      +        "description": "Great-circle distance of this flight in miles.",
      +        "maximum": 12500,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "to": {
      +        "description": "The arrival airport's code; labels the breakdown.",
      +        "pattern": "^[A-Za-z0-9]{3,4}$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "miles"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 8,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / creditStatus
      Added value: +{
      +  "description": "Your status in the creditTo program, by its name as listed under creditTo. Defaults to the base level. Ignored without creditTo.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / creditTo
      Added value: +{
      +  "description": "Credit the flights to a partner program instead of British Airways's own: alaska = Atmos Rewards (creditStatus one of: Atmos Rewards member, Atmos Silver, Atmos Gold, Atmos Platinum, Atmos Titanium). Earns by each flight's distance and the booking class at the program's published partner rates; leave creditTo out for the airline's own program. Give the booking class letter as creditClass. Give the flights as creditFlights (one entry per flight with its great-circle miles). No price is needed with creditTo.",
      +  "enum": [
      +    "alaska"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / price / description
      Previous value: -"Fare paid (GBP, whole ticket) in GBP. In pounds: base fare plus carrier-imposed charges for the whole ticket, without government taxes and airport charges. British Airways converts other currencies at the IATA 5-day rate on the day you buy."New value: +"Fare paid (GBP, whole ticket) in GBP. In pounds: base fare plus carrier-imposed charges for the whole ticket, without government taxes and airport charges. British Airways converts other currencies at the IATA 5-day rate on the day you buy. Required unless creditTo is given."
    • removedInput schema / required
      Removed value: -[
      -  "price"
      -]
  3. Added

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and closed-world, so safety is covered. The description adds two genuinely non-structured facts: results are derived from cwsi.net plus published airline rules, and the output is 'Unofficial'. It does not disclose the two distinct calculation modes (own programme vs creditTo partner) or that most fare-type fields are ignored depending on cabin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core scope front-loaded and the practical currency constraint immediately after. No filler, though the 'miles or points' parenthetical is slightly redundant with the airline context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full schema coverage, the description needn't explain return values or fields, and it doesn't. However, for a 19-parameter tool with mutually exclusive cabin/fare-type combinations and a whole alternative creditTo pathway, the description says nothing about the two modes of use, leaving the agent to reconstruct them from the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 19 parameters, including the creditTo/creditClass/creditFlights trio, is already documented in detail. The description only restates the GBP currency requirement, which the price schema field also states. Baseline 3 is appropriate when the schema does all the parameter work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Estimate what a British Airways ticket earns (miles or points, and status credit)'. The airline name plus the miles/points/status-credit scope separates it from the many sibling calculators without needing to name them. It does not explicitly contrast with near-neighbours like calculate_iberia_avios or calculate_qantas_points, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Give the price in GBP, not US dollars' is the only usage constraint, and it is really a parameter rule. Nothing says when to use this versus compare_fare_classes, get_fare_classes, or the creditTo partner path, and the 'Unofficial' caveat is stated without saying how much to trust the result. Usage is implied by the tool name rather than explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources