H1Milestones Roadmap
Status: forward planner for the core execution pipeline, with Milestones as a support layer.
This file is the high-level roadmap. It is intentionally broader than the micro-goal tracker.
H2Current Baseline
Already in place or effectively established:
- Trip CRUD in the UI.
- Document sidebar tooling that reaches the same commercial pipeline.
- Trip -> LineItems -> Offer -> Order -> projection flow.
- A deterministic trip pricing engine as the current pricing authority.
- Document-driven trip editing and assistant-assisted input.
- Milestones support tooling is already shipped: project-aware
/milestones, project selector, project reassignment, and project-scoped mutations. - Markdown milestone ingestion is already hardened for idempotency, duplicate headings, and scan timeout avoidance.
- Milestones are guidance data, not commercial truth.
H2Near-Term Milestones
H3M0. Formalize Offer and Order snapshots
Goal:
- make Offer capture a stable snapshot from LineItems
- make Order capture a stable snapshot from Offer LineItems
- keep historical order truth immutable
Success looks like:
- no recompute during Offer creation
- no recompute during Order creation
- Offer edits do not rewrite historical Order truth
H3M1. Normalize all commercial rows as LineItems
Goal:
- make LineItems the shared economic truth for trip-based, product-based, and experience-based sales
- support both snapshot and regeneration modes where needed
Success looks like:
- sourceType/sourceId traceability
- deterministic overwrite where required
- no ad hoc pricing rows outside the LineItems model
H3M2. Complete Apps Script export routes
Goal:
- expose office export routes for PDF, calendar, email, and booking docs
- keep external projections separate from business truth
Success looks like:
- clear Next.js action -> route -> Apps Script -> metadata flow
- stable export contracts
- reusable office automation surface
H3M3. Finish the main booking flow
Goal:
- support Stripe-backed booking flow where appropriate
- keep FareHarbor as an external route and later sync target
Success looks like:
- booking intent recorded internally
- payment/checkout path is explicit
- external booking route is documented as an alternative, not the only path
H3M4. Milestones support layer linkage
Goal:
- attach milestone guidance to Trip, Offer, or Order entities where relevant
- surface a
next actionableresolver in Trips / Offers UI
Success looks like:
- milestones can point at real execution units
- guidance remains separate from commercial truth
- the support layer helps execution without becoming the source of it
H3M5. Add FareHarbor calendar sync later
Goal:
- keep bookings tracked and in sync between the app and external distribution
Success looks like:
- calendar-aware sync rules
- deduped external keys
- explicit operational status
H3M6. Integrate Hotelbeds as a later service layer
Goal:
- add a separate hotel booking capability driven by city, nights, dates, and room list arrays
Success looks like:
- complimentary to the main trip flow
- isolated from the core trip planner
- used when the trip requires hotel inventory fulfillment
H2Roadmap Order
- Formalize Offer and Order snapshots.
- Normalize all commercial rows as LineItems.
- Complete Apps Script export routes.
- Finish the main booking flow.
- Milestones support layer linkage.
- Add FareHarbor calendar sync later.
- Integrate Hotelbeds as a later service layer.