Trip planner
Go to file
Greg Pomerantz 88dc0c5323 mock: drop a real flight booking → LLM re-anchors the trip
The user drags a flight ticket (PDF/text/ics/html) onto the chat panel,
or uses the new 📎 button. The doc is text-extracted server-side
(pdftotext for PDFs; images rejected with a clear "no OCR" message),
then the LLM reads it, extracts the confirmed arrival + departure
(date, local time, airport, city) and calls a new deterministic tool,
apply_flight_anchors, which reconfigures the trip:

- re-dates the day window across the booked [arrival, departure] span
  (contiguous when the day counts match, evenly spread when they don't)
- records the flights as hard-anchor bookings, replacing placeholders
- shortens the arrival day (start after landing + a real airport→hotel
  taxi time) and the departure day (ends exactly at the booked time)
- trims stops that no longer fit and updates the trip title's range

Undo/redo and reload persistence now version the trip's bookings + title
alongside days/stays, so a re-configuration reverts and reloads cleanly.
Server gains POST /parse-doc. Verified E2E (LLM extraction + reconfigure),
idempotency, drag-and-drop, and undo; non-flight agent unaffected.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-09 13:20:47 -04:00
mock mock: drop a real flight booking → LLM re-anchors the trip 2026-09-09 13:20:47 -04:00
router multi-trip mock + Colombia trip with a real walking router 2026-09-09 09:44:29 -04:00
.gitignore multi-trip mock + Colombia trip with a real walking router 2026-09-09 09:44:29 -04:00
DESIGN.md maps project: design, survey, mock app, and route-aware planning backend 2026-09-06 00:05:17 -04:00
SURVEY.md maps project: design, survey, mock app, and route-aware planning backend 2026-09-06 00:05:17 -04:00