H1Micro Goals Benchmarks
Status: incremental tracker for the Trips -> Document -> Offer -> Order -> LineItems pipeline.
Use this file for small, testable goals that can be completed and marked off one by one.
H2Completed or Mostly Established
- Trip created from the UI.
- Trip persisted on blur or similar commit flow.
- Trip pricing snapshot stored as part of the trip/document surface.
- Document tool path can feed trip-related content into the same pipeline.
- The Trip -> LineItems -> Offer -> Order chain exists as the core commercial spine.
H2Active Benchmarks
- Trip draft identity is always stable before save.
- Trip commit is idempotent and does not duplicate DB rows.
- Trip DB id is back-propagated into draft state after first sync.
- Trip pricing remains serializable and complete after reload.
- LineItems are generated from pricing without duplication.
- LineItems carry traceability back to the originating trip.
- Offer creation snapshots LineItems without recomputing economics.
- Order creation snapshots Offer LineItems without rewriting offer truth.
- Offer lock behavior is explicit after order creation.
- Projection routes exist for export and office automation.
H2Future Benchmarks
- Products use the same pricing engine family as trips.
- Experiences use the same pricing engine family as trips.
- LineItems support source-type normalization across trip, product, and experience.
- Offer regeneration can be selective without breaking mixed content.
- Calendar and booking exports have stable external keys.
- Stripe checkout is integrated as an explicit booking path.
- FareHarbor external route is documented and tracked.
- Hotelbeds integration is isolated as a later service layer.
H2Benchmark Order
- Trip identity and sync.
- Pricing snapshot integrity.
- LineItems generation and traceability.
- Offer snapshot creation.
- Order snapshot creation and offer lock.
- Projection routes.
- Shared pricing engine for products and experiences.
- External booking and hotel integrations.
H2Notes
- Keep this file small and operational.
- Move finished historical notes into archive folders instead of deleting them.
- If a benchmark becomes too broad, split it into a new micro-goal file.