Skip to main content
Glama

cwsi.net Fare Classes & Mileage Calculators

Iberia Club Avios and Elite Points Calculator

calculate_iberia_avios
Read-onlyIdempotent

Iberia Club Avios and Elite Points for an Iberia (IB) ticket. Avios = fare in EUR (fare plus carrier charges, no taxes, whole ticket) x tier factor (Clasica 5, Plata 6, Oro 7, Platino 8, Platino Prime 9; one more per euro when every flight is on the Madrid-Barcelona Air Shuttle, two more to or from Latin America). Elite Points = 1 per euro plus Extra Elite Points per flight by cabin, fare (Basic none; Optimal, Comfort, Flexible) and distance (up to or over 3,000 miles), with progress toward Plata, Oro, Platino and Platino Prime (ep and fl: Elite Points and flights so far). 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: Iberia needs them to spot the Madrid-Barcelona Air Shuttle (MAD-BCN), which earns its own Avios and Extra Elite Points; without them that flight counts as an ordinary short flight. Uses cwsi.net's calculator and the airline's published rules. Give the price in EUR, not US dollars. Unofficial.

Input Schema

NameRequiredDescriptionDefault
epNoElite Points you have since 1 April (optional). Used only for the progress toward the next tier.
flNoQualifying flights you have since 1 April (optional). Plata, Oro and Platino can also be reached with 20, 40 or 90 flights.
fareNoFare. B = Basic; O = Optimal; C = Comfort; F = Flexible. The fare brand on your booking. Basic earns no Extra Elite Points and is Economy only. On the Madrid-Barcelona Air Shuttle choose Comfort or Flexible. Executive is left out: Iberia's Extra Elite Points table does not list it (choose Basic to see the spend alone).O
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 cabin (Y, W, C) for a flight in another cabin than the ticket's; optional from and to, the IATA codes of its two airports, which label the breakdown; some airlines also use them (Vladivostok, VVO, on JAL and ANA; the Madrid-Barcelona Air Shuttle, MAD-BCN, on Iberia; the long-haul tables named by city on SAS).
tierNoYour Iberia Club tier. CL = Clásica (5 per euro); PL = Plata (6 per euro); OR = Oro (7 per euro); PT = Platino (8 per euro); PP = Platino Prime (9 per euro). Sets the Avios per euro. Infinita and Infinita Prime are not offered: Iberia does not publish their Avios rate.CL
tripNoTrip. ow = One way; rt = Round trip. Round trip counts the same flights back the other way for Extra Elite Points. The fare above is for the whole ticket either way.ow
cabinNoCabin. Y = Economy; W = Premium Economy (long haul); C = Business.Y
priceNoTicket fare in euros (whole trip) in EUR. The fare and carrier charges, without taxes and fees, for the whole ticket. Enter it in euros; Iberia converts a fare in another currency at the IATA rate on the day the ticket is issued. Required unless creditTo is given.
creditToNoCredit the flights to a partner program instead of Iberia'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. The flights are segs (their miles), or creditFlights. 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. 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 Iberia'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. The flights are segs (their miles), or creditFlights. No price is needed with creditTo.",
      +  "enum": [
      +    "alaska"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / price / description
      Previous value: -"Ticket fare in euros (whole trip) in EUR. The fare and carrier charges, without taxes and fees, for the whole ticket. Enter it in euros; Iberia converts a fare in another currency at the IATA rate on the day the ticket is issued."New value: +"Ticket fare in euros (whole trip) in EUR. The fare and carrier charges, without taxes and fees, for the whole ticket. Enter it in euros; Iberia converts a fare in another currency at the IATA rate on the day the ticket is issued. Required unless creditTo is given."
    • changedInput schema / required
      Previous value: -[
      -  "price",
      -  "segs"
      -]New value: +[
      +  "segs"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / segs / description
      Previous value: -"The 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 cabin (Y, W, C) for a flight in another cabin than the ticket's; optional from and to, the IATA codes of its two airports, which label the breakdown; some airlines also use them (Vladivostok, VVO, on JAL and ANA; the Madrid-Barcelona Air Shuttle, MAD-BCN, on Iberia)."New value: +"The 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 cabin (Y, W, C) for a flight in another cabin than the ticket's; optional from and to, the IATA codes of its two airports, which label the breakdown; some airlines also use them (Vladivostok, VVO, on JAL and ANA; the Madrid-Barcelona Air Shuttle, MAD-BCN, on Iberia; the long-haul tables named by city on SAS)."
    • 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. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond them: it is unofficial, it mirrors cwsi.net's calculator and Iberia's published rules, Executive fare is excluded, Infinita tiers are unsupported, and omitting IATA codes silently degrades the Shuttle to an ordinary short flight.

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

Conciseness3/5

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

It is one dense block that mixes earning formulas, eligibility caveats, and parameter instructions, so it is not cleanly front-loaded by task. Substantial content duplicates the schema's own enum descriptions (tier factors, fare brands, segs fields), which costs it efficiency rather than adding value.

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

Completeness4/5

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

For a 12-parameter, nested-segment tool with an output schema, the description covers the earning model, the Shuttle special case, currency handling, and the partner-credit branch, so an agent has what it needs. Minor gaps remain around ordering/pagination of results, which the output schema likely handles.

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 genuinely extends it — the Avios/Elite Point formulas, the tier-per-euro mapping, and the consequence of missing from/to codes ('without them that flight counts as an ordinary short flight') add meaning the schema does not carry. The 'price in EUR, not US dollars' warning is also a useful semantic guardrail.

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 ('Iberia Club Avios and Elite Points for an Iberia (IB) ticket') and spells out the two outputs it computes. The airline and loyalty program are named explicitly, so an agent can separate it from the dozens of sibling calculate_*_miles tools without opening the schema.

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 operative context: segs must be one entry per one-way flight in order, and it routes the agent to calculate_flight_distance for the miles. It also frames the creditTo path (alaska vs Iberia's own program) and states what to leave out. It stops short of explicit when-not-to-use guidance, but the airline scoping makes alternatives obvious.

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