Evidence

Where the data comes from

Every number comes from the loyalty program's own search tool, with the time it was checked.

One program per observation

Each result is attributed to the single program that reported it, with the adapter and parser versions that produced it.

The source's own clock

Where a program publishes when it last checked, that timestamp travels with the observation and is shown instead of ours.

The airline decides

The loyalty program's booking page is authoritative. If it disagrees with us, it is right and we are stale.

Provenance

What we record with every result

These are the fields kept with each observation, so any figure can be traced back to the response it came from.

Provenance fields recorded for every award observation.
FieldWhat it is for
programWhich loyalty program reported this. A result is always attributed to one program; we never merge two sources into a single blended answer.
acquisition_methodHow the observation was obtained. Different methods have different reliability, and the method is recorded rather than assumed.
adapter_versionThe version of the integration that produced it. If an adapter changes behaviour, results produced before and after are distinguishable.
parser_versionThe version of the parser that read the response. Pinned and tested against captured fixtures, so a source changing its markup fails a test instead of silently changing a number.
fetched_atWhen we retrieved it. This clock is ours, and it is the newer one.
source_checked_atWhen the source itself says it last checked, where it publishes that at all. This clock belongs to the program, it is usually older, and it is the one we lead with.
source_hostThe host the response came from, recorded for auditing.
point_of_saleThe market the query was made in. Award pricing and availability can differ by point of sale, so it is never left implicit.
localeThe language and formatting the source responded in, which affects how numbers and dates were parsed.

Seat counts

Reported at exactly the confidence they arrived with

Programs publish seat availability in several different ways, and the differences are not cosmetic. An exact count is a count. A capped display — where a program stops counting at a threshold — is a lower bound, and is shown as “at least N”. Some programs will only confirm that a party of a given size can be booked, without publishing a number at all. Some publish nothing.

Each of those becomes a different label, generated by a single function shared with the search results, so the wording cannot drift between this page and a real result. A lower bound is never rounded into a count, and an unknown count never implies a seat.

The five cases are set out side by side on how it works.

Caching

Reused where it is safe, marked where it is not

An observation inside its freshness window is reused rather than re-fetched. That keeps searching affordable and keeps traffic to a source within what it permits — but it means some of what you see was gathered earlier, so the age is always displayed.

Past that window, an answer may still be served while a fresh one is fetched. When that happens it is labelled stale, with a warning icon and the word “stale” in the badge, not merely a different colour.

Nothing in this product is described as live. There is no real-time award-inventory feed; there are only observations, each with an age and an owner.

Source health

“Didn’t answer” is not “no seats”

Every search reports the state of each program it consulted, with the time that state was checked.

Responded normally
The program answered our search in full.
Degraded
It answered, but slowly or incompletely. Some options may be missing.
Unavailable
It did not answer. We cannot say whether it has award seats for this search.
Not enabled
The program is not currently available in this product. Today this applies to every program.

Availability is not guaranteed until booked with the airline.

Every figure here is what a loyalty program’s own systems reported at the time shown alongside it. Seats, points prices and cash charges can change or disappear between this page and checkout, so confirm the booking with the airline before transferring any points.

We do not sell tickets, hold inventory, place holds or take payment for a reward seat. There is no affiliate commission attached to any result, so nothing in the ranking is bought.

Rights come before code

An integration is only built against a source we have researched and documented, and it stays at research-only status until commercial approval is granted. That is why the coverage page lists a completed integration that you still cannot use.

Found a figure that looks wrong? Tell us what you saw and where, and we will trace it back to the observation that produced it: report an inaccuracy.