{
 "_README": [
  "Live transfer bonuses: 'move points to this partner before this date and get",
  "more of them'. A bonus is the one piece of points news with a deadline on it,",
  "which is why it is here and not left to a blog post the reader has to find.",
  "",
  "Hand-maintained, like every other file in this repo. There is no API for this",
  "— the programs announce bonuses in email and on their own transfer pages, and",
  "the aggregators that track them disagree with each other often enough that",
  "taking one as a feed would be taking their errors too.",
  "",
  "WHAT WE WILL NOT DO WITH IT. A transfer is usually irreversible, and a bonus",
  "is not a reason to make one: 30% more of a currency you have no use for is",
  "still nothing. So nothing here is ever phrased as advice to transfer. The app",
  "surfaces a bonus only to someone whose own wallet earns that currency, says",
  "what the bonus is and when it ends, and stops there.",
  "",
  "EVERY ROW NEEDS A SOURCE AND AN END DATE. Past `ends` the row is dead: the",
  "app ignores it, `npm run bonus-check` reports it, and it should be deleted",
  "rather than left to rot. `verifiedDate` is the day a person read the source.",
  "",
  "Ratios: `bonusPct` is the uplift, so 30 means 1,000 points become 1,300 at a",
  "1:1 partner. Where the base ratio is not 1:1 the note says so, because the",
  "bonus applies to the transferred amount, not to the points you hold.",
  "",
  "`ratio` is partner units per point BEFORE the bonus (Amex to Hilton is 2).",
  "`toCurrency` is set only when the catalog publishes a value for the partner",
  "currency; without it the app shows the amount but no dollar figure. Both feed",
  "only the app's what-would-it-be-worth line, never any ranking."
 ],
 "schemaVersion": "1.0",
 "updated": "2026-09-14",
 "disclaimer": "Transfer bonuses change without notice and transfers are irreversible. Confirm the bonus, the ratio and the award price with both programs before moving anything. A bonus is never a reason on its own.",
 "bonuses": [
  {
   "id": "mr-ba-2026-09",
   "toCurrency": "AVIOS",
   "ratio": 1,
   "from": "MR",
   "to": "British Airways Executive Club (Avios)",
   "bonusPct": 30,
   "ends": "2026-09-27",
   "note": "Base ratio 1:1. The same campaign covers Iberia and Aer Lingus, which share the Avios pool.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  },
  {
   "id": "mr-iberia-2026-09",
   "toCurrency": "AVIOS",
   "ratio": 1,
   "from": "MR",
   "to": "Iberia Plus (Avios)",
   "bonusPct": 30,
   "ends": "2026-09-27",
   "note": "Base ratio 1:1.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  },
  {
   "id": "mr-aerlingus-2026-09",
   "toCurrency": "AVIOS",
   "ratio": 1,
   "from": "MR",
   "to": "Aer Lingus AerClub (Avios)",
   "bonusPct": 30,
   "ends": "2026-09-27",
   "note": "Base ratio 1:1.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  },
  {
   "id": "mr-hilton-2026-10",
   "toCurrency": "HILTON",
   "ratio": 2,
   "from": "MR",
   "to": "Hilton Honors",
   "bonusPct": 30,
   "ends": "2026-10-14",
   "note": "Base ratio 1:2 (1,000 MR to 2,000 Hilton). Hilton points are worth about half a cent here, so a bonus on them is a smaller move than the headline suggests.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  },
  {
   "id": "ur-aeroplan-2026-09",
   "toCurrency": "AEROPLAN",
   "ratio": 1,
   "from": "UR",
   "to": "Air Canada Aeroplan",
   "bonusPct": 20,
   "ends": "2026-09-30",
   "note": "Base ratio 1:1. Reported as targeted for some cardholders at a higher rate; check your own offer before transferring.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  },
  {
   "id": "c1-jal-2026-09",
   "ratio": 0.75,
   "from": "C1",
   "to": "JAL Mileage Bank",
   "bonusPct": 30,
   "ends": "2026-09-30",
   "note": "Base ratio 1:0.75 for Capital One, so the bonus lands at roughly 1:0.975 — still under 1:1.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  },
  {
   "id": "ty-lhw-2026-09",
   "from": "TY",
   "to": "Leading Hotels of the World",
   "bonusPct": 25,
   "ends": "2026-09-19",
   "note": "A narrow partner; useful only if you already had a stay in mind.",
   "verifiedDate": "2026-09-14",
   "sources": ["https://frequentmiler.com/current-point-transfer-bonuses/"]
  }
 ]
}
