Generation is staged, not one-shot.
Repo research identifies Stage A skeleton streaming, Stage B parallel day-event generation, Stage C Google Places enrichment, and Stage D autofix/watchdog before publish.
Travel plans built like websites: versioned, shared, alive.
Itineva turns destination, dates, travelers, and taste into a shareable trip page. A staged generator drafts a skeleton, fills day-by-day events, enriches places, and checks routes before publish.
A trip page with versioning keeps every traveler on the same plan. Each version has a stable share link, and the featured version is what the group sees by default.
The generator streams a skeleton, creates day plans in parallel, enriches places with real-world data, and runs an autofix pass before publish.
Day plans are checked against transit time, opening hours, and pace. If a day is too tight, the page flags it before publish.
Repo research identifies Stage A skeleton streaming, Stage B parallel day-event generation, Stage C Google Places enrichment, and Stage D autofix/watchdog before publish.
The implementation uses Project, Run, and Version models, a featured_version_id, publish/feature/share/import flows, public gallery behavior, and shared itinerary attribution.
The product facts identify Google Places-based place enrichment and Google Routes-based route validation, with public copy limited to checks that the repo actually supports.
A trip plan should be a living artifact, not a stale attachment.