H1Trips
Status: canonical hub for Trips features and planning.
This folder is the entry point for Trips domain notes, route planning, pricing, offers, orders, and booking flow.
In this staging clone, Trips docs should stay useful as a public-facing interface as well as a Codex memory layer. The copied production PRD at ../_PRD/trips/README.md is the more current product reference; older MLVs and archived plans remain useful background, but may be outdated.
H2What belongs here
- Trip identity and draft handling.
- Trip planner rules and normalization.
- Trip pricing snapshots and LineItems generation.
- Offer and Order flow as downstream commercial snapshots.
- BookingBundle and execution overlays for Trip fulfillment.
- Trip-related projection rules for document, Apps Script, export, and calendar flows.
H2Canonical files
H2Related hubs
H2Folder rule
- Keep the latest active note at the top level of this folder.
- Move older superseded notes into
archive/inside this same folder. - Keep
next-steps/for the immediate execution queue.
H2Current shape
Trip is the planning entity. LineItems are the economic transfer layer. Offer and Order are downstream snapshots. Document is the orchestration surface. Apps Script is the office projection layer.
H2Route surface
/trips/trips/plan/trips/planner/trips/planner/[draftId]/trips/new/trips/cities/trips/cities/[citySlug]/trips/plans/trips/plans/[planSlug]/trips/network/trips/updates/trips/[tripId]/trips/[tripId]/edit/trips/[tripId]/schedule/trips/[tripId]/join/trips/featured
H2Current status notes
- Trip planning already has its own engine and planner actions.
- Trip join has dedicated create/read/recompute actions, which means the join flow is a real submodule now.
- Trip pricing already feeds LineItems, and that bridge should stay explicit.
/trips/planneris the preferred private planner entry./trips/newremains the current deterministic creation implementation and compatibility route./studio/travelnow projects its current journey JSON into the session-stack system: city tour sessions areSessionStackrecords, and the current Córdoba to Granada bundle is aSessionPathcomposed from those stacks.- Journey seed/source JSON remains in
lib/data/sessions.tsand is mirrored intodata.journeySessionfor later marketing, booking-stage, guide-note, and trip-content generation.
That is the boundary this folder should preserve.
H2Staging Closure Checklist
Status date: 2026-04-28
Human review source: Trips human layer checklist
Current use: follow the human layer checklist in order before deeper implementation. The public staging site is the review surface; ../_PRD/trips/README.md remains the stricter implementation reference.
Route check: local Next dev server returned 200 for /trips, /trips/plans, /trips/plans/mezquita, /trips/featured, /trips/cities, /trips/cities/cordoba, /trips/network, /trips/updates, /trips/plan, /trips/planner, /trips/1, and /trips/1/schedule.
| Check | Status | Code evidence | Remaining note |
|---|---|---|---|
| ✅ Public Trips front door | ✅ Completed in staging route check | /trips/page.tsx renders the canonical Trips landing sections and /trips returns 200. | Browser visual polish still useful before main integration. |
| ✅ Lane visibility and order | ✅ Completed in staging route check | TripsSectionRegistry exposes ready-made plans, featured trips, flexible planning, and network/provider entry lanes. | Browser scan still useful for final visual hierarchy. |
| ✅ CTA routing | ✅ Completed in staging route check | Public CTAs route to /trips/plans, /trips/featured, /trips/planner, /trips/network, and /studio; lane routes return 200. | Persisted DB content should be checked for old route overrides. |
| ✅ Public trip detail | ✅ Completed in staging route check | /trips/[tripId] has hero, route, city overview, pricing preview, join panel, and offer bridge; /trips/1 returns 200. | Visual polish and data realism still need browser review. |
| ✅ Schedule view | ✅ Completed in staging route check | /trips/[tripId]/schedule exists as read-only schedule surface; /trips/1/schedule returns 200. | Visual polish still needs browser review. |
| ✅ Planner separation | ✅ Completed in staging route check | /trips/planner wraps the existing private planner implementation; public landing and planner routes are separate and return 200. | Auth/privacy rules still need user-role verification. |
| 🟡 Offer bridge | 🟡 Partially ready | Trip detail includes line-item pricing preview and add-to-offer controls. | Create-offer behavior needs functional testing with real project/offer data. |
| ⏳ Booking and FareHarbor | ⏳ Not complete | Join panel exists, and FareHarbor button component exists elsewhere as modal/link execution. | Trip booking still logs/alerts; BookingBundle/FareHarbor are not wired as final execution flow. |
| ✅ Footer bridge back to Studio | ✅ Completed in staging route check | Final CTA includes Back To Studio linking to /studio. | Browser visual placement still needs review. |