Skip to content

seats-aero: add layover filter and mandate trip-detail drilling#14

Open
BarnNorth wants to merge 1 commit into
borski:mainfrom
BarnNorth:fix/seats-aero-layover-filter
Open

seats-aero: add layover filter and mandate trip-detail drilling#14
BarnNorth wants to merge 1 commit into
borski:mainfrom
BarnNorth:fix/seats-aero-layover-filter

Conversation

@BarnNorth
Copy link
Copy Markdown

First off — this toolkit is excellent. I used it to research and book a transatlantic business class honeymoon flight (LAX→ZRH on the Lufthansa A380, 90K Aeroplan via Chase UR transfer) and it genuinely made a complex, high-stakes booking feel manageable. The seats.aero workflow, transfer partner optimization, and award-holds guidance all worked exactly as intended. This change comes from one rough edge I hit during that session.

Problem

Searching for LAX→ZRH business class on Aeroplan, the skill surfaced the cheapest result: 70K Saver on LH457+LX1075 with an 8-hour layover in Frankfurt. It presented this without comment. The actual best option was 90K Standard on LH453+LX1105 — the Lufthansa A380 with a 1h35m layover in Munich. 20K more miles, 6.5 fewer hours sitting in an airport.

Two issues caused this:

  1. The search summary object (JMileageCost) only reports the cheapest itinerary across all trips. Trip details were never pulled, so the better Standard-tier routing was never surfaced.
  2. Even if trip details had been pulled, there was no filter to flag the 8-hour layover as worth reconsidering.

Changes

  • Make GET /trips/{id} a mandatory step in the workflow for any promising result — the search summary shows cheapest only, trips show everything
  • Add a Layover Quality Filter section: flag any layover over 3 hours, automatically surface the next-best itinerary with a shorter layover alongside it, let the user decide whether the miles savings are worth the wait

Before / After

Before: Skill returns JMileageCost: 70000 from the search summary and stops. User sees one option: LH457+LX1075, 70K, 8h FRA layover. No flag, no alternatives shown.

After: Skill pulls trip details, calculates layover per itinerary, and presents:

Flight Miles Layover Flag
LH457+LX1075 70,000 8h FRA ⚠️ layover over 3h
LH453+LX1105 90,000 1h35m MUC ✓ next-best alternative

Test plan

  • bash scripts/smoke-test.sh --quick — 0 new failures (2 pre-existing on upstream main: stale data files + macOS missing timeout)
  • All 44 skills have valid frontmatter
  • README and llms.txt unchanged (no frontmatter edits)

The search summary (JMileageCost) only reports the cheapest itinerary.
Trip details show all options including better Standard-tier routings
that the summary hides. Add a mandatory trip-detail step and flag any
layover over 3 hours, surfacing the next-best alternative automatically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant