MolinoPro

html-booking-pages-simple

Master Codebase Guidebook
Markdown + HTML Dev-Docs Renderer - Frontend Client Module

Default Index
Open README.md
Root: README.mdfh
Milestones
H1FareHarbor integration via simple html pages

Status: working for booking pages and Lightframe, but not the best final shape for app-router widget rendering.

H2What we tested
  • Direct booking button with the FareHarbor Lightframe API.
  • General calendar embed.
  • General item grid embed.
  • Specific calendars for Córdoba and Granada Walks.
H2What worked
  • The Lightframe book button works inside the Next.js app route.
  • The same embed markup works in the standalone static HTML test page.
  • The app-router route works when the FareHarbor widget markup is isolated inside a parsed HTML island.
H2What failed
  • Rendering the calendar and grid widgets directly as React children caused hydration mismatch and/or no render.
  • Deferring the scripts with next/script did not reliably reproduce the static HTML behavior.
H2Current conclusion

For now, the safest app-side test surface is an isolated route that renders the working FareHarbor markup inside a browser-parsed HTML island.

That means:

  • Keep the simple static booking pages as a fallback if needed.
  • Keep the app-router test route as the integration verification surface.
  • Treat the calendar and item-grid embeds as DOM-parsing widgets, not ordinary React components.
H2Deployment note

If the final production surface uses a Next.js app, the booking entry can stay in-app, but the widget-heavy pages should either:

  • be embedded through a parsed HTML island, or
  • remain on simple HTML pages linked from the app.

The main lesson is that Lightframe and the calendar/grid embeds do not share the same render behavior.