H1FareHarbor
Status: active working notes for FareHarbor integration inside Trips.
H2Current result
- Lightframe button works inside the Next.js app route.
- Calendar and item-grid embeds work in the standalone static HTML test.
- Direct React rendering in the app route caused hydration issues or blank widgets.
- A parsed HTML island inside the app route solved the widget rendering problem.
- pending revision - ✅ completed: Travel session data now carries FareHarbor booking metadata in
lib/data/sessions.ts, and/studio/travelplus/studio/travel/[id]render on-demand FareHarbor booking cards from that data instead of separate hardcoded session mechanics. - pending revision - ✅ completed: Verified local routes returned
200for/studio/travel,/studio/travel/cordoba-intro-andalusi,/studio/travel/cordoba-granada-bundle,/trips/plans/mezquita, and/trips. - pending revision - ✅ completed: Verified rendered Travel pages include FareHarbor booking links and the
autolightframe=yesscript.
H2Practical takeaway
- Use the app route for the booking entry point and testing.
- Use the parsed HTML island or a standalone HTML page for the calendar/grid widgets.
- Do not assume the FareHarbor calendar/grid scripts behave like standard React content.