3.2 KiB
3.2 KiB
Flight Finder Source Viability
This note records bounded live checks for the first implementation pass.
It is intentionally operational, not aspirational: if a source is blocked here, the skill must treat it as blocked unless later evidence replaces this note.
Required sources
- KAYAK
- Skyscanner
- Expedia
- airline direct-booking cross-check
Status
Checked on 2026-03-30 from Stefano's MacBook Air, with no VPN active, using the existing local web-automation / CloakBrowser probe scripts.
Route used for bounded checks:
DFW -> BLQ- outbound date:
2026-05-30 - travelers:
3 adults
KAYAK
- Status:
viable - Probe:
node flight_kayak_sweep.mjs DFW BLQ 3 /tmp/flight-finder-kayak-dates.json ... - Evidence:
- title returned as
DFW to BLQ, 5/30 - results included multiple one-stop itineraries with parsed USD fares such as
$877,$949,$955 - direct-booking hints were visible for British Airways on at least some results
- title returned as
- Implementation note:
- KAYAK can be a primary source in this first implementation pass
- parsed text is workable, but still brittle enough that bounded retries and status fallback remain necessary
Skyscanner
- Status:
viable - Probe:
node tmp_skyscanner_probe.mjs 'https://www.skyscanner.com/transport/flights/dfw/blq/260530/?adultsv2=3&cabinclass=economy&rtn=0' - Evidence:
- title returned as
Cheap flights from Dallas to Bologna on Skyscanner - results page exposed concrete prices, total trip prices, stops, and itinerary text
- one-stop and multi-stop options were visible in the captured text
- title returned as
- Implementation note:
- Skyscanner is viable for bounded result capture in this first pass
- itinerary extraction should still be treated as text-scrape, not a stable API
Expedia
- Status:
viable - Probe:
node tmp_expedia_probe.mjs 'https://www.expedia.com/Flights-Search?...' - Evidence:
- title returned as
DFW to BLQ flights - results page exposed current lowest price, airline/stops filters, and concrete per-traveler options such as
$877,$949,$961 - Expedia text already surfaced some itinerary summaries in a report-friendly format
- title returned as
- Implementation note:
- Expedia is viable for bounded result capture in this first pass
- as with the other aggregators, source-specific timeouts and fallback rules are still required
Airline direct-booking cross-check
- Status:
degraded - Probe:
node tmp_skyscanner_probe.mjs 'https://www.united.com/en/us/fsr/choose-flights?...' - Evidence:
- United's booking shell loaded and recognized the route / date context
- the search then returned
united.com was unable to complete your request. Please try again later.
- Implementation note:
- direct-airline cross-checking remains in scope, but it should be treated as best-effort in the first pass
- when a direct site fails or refuses completion, the skill should record the failure explicitly instead of hanging or pretending a clean cross-check happened
Scope decision for implementation pass 1
- Primary bounded search sources:
KAYAK,Skyscanner,Expedia - Direct-airline cross-check:
best-effort / degraded - The skill should continue if the direct-airline step fails, but the report must say that the direct cross-check was not fully completed