Skip to main content
Glama

cwsi.net Fare Classes & Mileage Calculators

Qantas Points and Status Credits Calculator

calculate_qantas_points
Read-onlyIdempotent

Qantas Points and Status Credits for flights marketed by Qantas (QF), from Qantas's earning tables: a fixed amount per flight by route table (or distance band) and earn category (cat; get_fare_classes for QF shows which booking classes fall in each category), plus the Status Bonus (points only) and the Minimum Points Guarantee. Give segs: one entry per one-way flight, in order, with its great-circle miles (calculate_flight_distance gives them), the ISO country codes of its two airports, and from/to IATA airport codes: Qantas picks its route tables (Sydney to London, Perth to Singapore, Sydney to Dallas and so on) from the airports, so without from/to a flight such as Australia to Europe falls back to the distance band. For the USA and Canada, which Qantas splits into East and West Coast tables without listing cities, set table on that flight (for example EWC or EEC); table BND forces the distance band. Takes no price. Uses cwsi.net's calculator and the airline's published rules. Unofficial.

Input Schema

NameRequiredDescriptionDefault
scNoStatus Credits you have so far (optional). Used only for the progress toward the next tier.
catNoEarn category. DE = Discount Economy (E N O Q; dom. E G L M N O Q S V); EC = Economy (G K L M S V); FE = Flexible Economy (B H Y; dom. B H K Y); DPE = Discount Premium Economy (T; dom. T); PE = Premium Economy (R; dom. R); FPE = Flexible Premium Economy (W; dom. W); DB = Discount Business (I); BU = Business (D; dom. D I); FB = Flexible Business (C J; dom. C J); FI = First (A F). The fare type on your ticket. Under each: the international booking classes, then the classes on flights within Australia (dom.). On domestic flights there is no Discount Business; class I is Business.EC
segsYesThe flights, one way and in order, one entry per flight (1 to 8): fromCountry and toCountry, the ISO 3166 two-letter country codes of its two airports; miles, its great-circle distance in miles (1 to 12,500); optional table, the key of a route table for that flight (ENZ, EAS, EHI, EIN, EJB, ESC, EDF, EWC, EEC, WSE, WNE, WDX, WEU, WJB, NDF, NSC, NEC, DEC, DWC, CWC, XEU, UAS, THK, BND); optional from and to, the IATA codes of its two airports, which label the breakdown and pick the route tables named by airport.
tripNoTrip. ow = One way; rt = Round trip. Round trip counts the same flights back the other way.ow
statusNoYour Qantas Frequent Flyer tier. BR = Bronze; SV = Silver (+50% points); GD = Gold (+75% points); PL = Platinum (+100% points); P1 = Platinum One (+100% points). The Status Bonus adds Qantas Points, never Status Credits.BR
creditToNoCredit the flights to a partner program instead of Qantas's own: american = American AAdvantage (creditStatus one of: AAdvantage member, AAdvantage Gold, AAdvantage Platinum, AAdvantage Platinum Pro, AAdvantage Executive Platinum); alaska = Atmos Rewards (creditStatus one of: Atmos Rewards member, Atmos Silver, Atmos Gold, Atmos Platinum, Atmos Titanium); flying-blue = Flying Blue (creditStatus one of: Explorer, Silver, Gold, Platinum, Ultimate); ba-club = British Airways Club (creditStatus one of: Blue, Bronze, Silver, Gold). 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. The flights are segs (their miles), or creditFlights.
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
    • 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 Qantas's own: american = American AAdvantage (creditStatus one of: AAdvantage member, AAdvantage Gold, AAdvantage Platinum, AAdvantage Platinum Pro, AAdvantage Executive Platinum); alaska = Atmos Rewards (creditStatus one of: Atmos Rewards member, Atmos Silver, Atmos Gold, Atmos Platinum, Atmos Titanium); flying-blue = Flying Blue (creditStatus one of: Explorer, Silver, Gold, Platinum, Ultimate); ba-club = British Airways Club (creditStatus one of: Blue, Bronze, Silver, Gold). 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. The flights are segs (their miles), or creditFlights.",
      +  "enum": [
      +    "american",
      +    "alaska",
      +    "flying-blue",
      +    "ba-club"
      +  ],
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / segs / items / properties / from / description
      Previous value: -"The departure airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), Qantas to pick its route tables, and Iberia to spot the Madrid-Barcelona Air Shuttle (MAD, BCN)."New value: +"The departure airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), Qantas to pick its route tables, Iberia to spot the Madrid-Barcelona Air Shuttle (MAD, BCN), and SAS to pick its long-haul tables (named by city)."
    • changedInput schema / properties / segs / items / properties / to / description
      Previous value: -"The arrival airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), Qantas to pick its route tables, and Iberia to spot the Madrid-Barcelona Air Shuttle (MAD, BCN)."New value: +"The arrival airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), Qantas to pick its route tables, Iberia to spot the Madrid-Barcelona Air Shuttle (MAD, BCN), and SAS to pick its long-haul tables (named by city)."
  3. Changed2 schema fields changed
    • changedInput schema / properties / segs / items / properties / from / description
      Previous value: -"The departure airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), and Qantas to pick its route tables."New value: +"The departure airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), Qantas to pick its route tables, and Iberia to spot the Madrid-Barcelona Air Shuttle (MAD, BCN)."
    • changedInput schema / properties / segs / items / properties / to / description
      Previous value: -"The arrival airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), and Qantas to pick its route tables."New value: +"The arrival airport's IATA code, e.g. SYD. Labels the breakdown; JAL and ANA use it to spot Vladivostok (VVO), Qantas to pick its route tables, and Iberia to spot the Madrid-Barcelona Air Shuttle (MAD, BCN)."
  4. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds meaningful context beyond that: it takes no price input, is sourced from cwsi.net's calculator plus the airline's published rules, and is explicitly 'Unofficial' — a provenance disclosure that matters for trust.

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?

Purpose is front-loaded and the dense parentheticals each carry information (sibling routing, table-selection rationale, examples of airport-named route tables). It is long, but the complexity of the segs structure and 24-value table enum largely justifies the length; only mild redundancy against the schema's own table enumeration.

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

Completeness5/5

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

An output schema exists, so return values need not be explained. The description covers the Qantas-specific earning model, the segs ordering requirement, the partner-program override path (creditTo/creditClass/creditFlights), and the caveats an agent needs to call the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains why from/to matter (Qantas derives its route tables from airports, otherwise it falls back to the distance band) and when table must be set manually (the East/West Coast USA/Canada split), which is not obvious from the enum alone.

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

Purpose5/5

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

States a specific verb and resource ('Qantas Points and Status Credits for flights marketed by Qantas') and names the earning mechanics (route table/distance band, earn category, Status Bonus, Minimum Points Guarantee). This distinguishes it cleanly from the many sibling airline calculators that share the same naming shape.

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

Usage Guidelines4/5

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

Gives clear operational context: only for Qantas-marketed (QF) flights, routes the agent to get_fare_classes for booking-class-to-category mapping and calculate_flight_distance for miles, and explains when route tables vs distance band apply. It does not explicitly state when to prefer a different airline's calculator, so it stops short of full when/when-not coverage.

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