seats-aero: add layover filter and mandate trip-detail drilling#14
Open
BarnNorth wants to merge 1 commit into
Open
seats-aero: add layover filter and mandate trip-detail drilling#14BarnNorth wants to merge 1 commit into
BarnNorth wants to merge 1 commit into
Conversation
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>
This was referenced May 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
JMileageCost) only reports the cheapest itinerary across all trips. Trip details were never pulled, so the better Standard-tier routing was never surfaced.Changes
GET /trips/{id}a mandatory step in the workflow for any promising result — the search summary shows cheapest only, trips show everythingBefore / After
Before: Skill returns
JMileageCost: 70000from 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:
Test plan
bash scripts/smoke-test.sh --quick— 0 new failures (2 pre-existing on upstream main: stale data files + macOS missingtimeout)