${escapeHtml(title)}
${escapeHtml(title)}
${escapeHtml(generatedLine)}
Inputs
Summary
| Metric | Value |
${summaryRows.map(([label, value]) => `| ${escapeHtml(label)} | ${escapeHtml(value)} |
`).join("")}
${chartSvg ? `CPP comparison
${chartSvg}
` : ""}
Full results table
| Option |
Program / Partner |
Type / Cabin |
Cash price |
Points |
Transfer points |
Taxes/fees |
CPP |
Out-of-pocket |
Availability |
Refundable |
Policy fit |
${resultsRows || ""}
Precautionary Guidance
- Verify award availability before transferring points to a partner.
- Transfers are often irreversible; move only the points you need.
- Compare CPP against your baseline value, not just the highest number.
- Include taxes, fees, and carrier surcharges in every comparison.
- Account for flexibility, change fees, and refundability.
- Recheck values before booking—programs can devalue quickly.