Set up booking links
Connect Book buttons to Hollow Reserve or an external scheduler — widget when present, URL fallback otherwise.
When you finish, Book buttons open Hollow Reserve on the page when the widget is present, or navigate to your booking URL. External schedulers stay fully supported. On service product pages, Main product can also show a labeled booking app mount and a fallback URL when Theme settings are empty.
Recommended: Hollow Reserve
Online Store → Themes → Customize → Theme settings → Booking
- Install Hollow Reserve and publish at least one Experience Blueprint linked to a service product.
- Create /pages/booking and add the Reserve booking block.
- Set Booking provider to Hollow Reserve (leave Booking base URL blank to use /pages/booking).
- On Hero, Service menu, Specialist team, or sticky CTA blocks, choose a Linked product for your bookable service.
- Save the theme.
How Book buttons behave
- If a Reserve booking widget is on the page, Book dispatches hollow-reserve:open (service handle and staff when available) and scrolls to the widget.
- If no widget is present, Book uses the deep link from Theme settings (for example /pages/booking?service=balayage) or your external URL.
- Controls may include data-hr-reserve-open and data-hr-fallback-href for this handoff.
- The Booking setup fallback section hides when a Reserve widget is present — including widgets that mount a moment after page load — and returns if the widget is removed.
Service product pages
- Tag the product **type:service** and assign the **product.service** template for Book-first defaults.
- Leave **Show add to cart on service products** off unless you sell deposits or kits from the same page.
- Add booking **App** blocks on Main product — they render once under **Book online** after the product form.
- Optional: set **Service booking fallback URL** on Main product when Theme settings → Booking base URL is blank or you need a page-specific override.
- When **consultation_required** is true, the primary control uses Book consultation labeling.
External scheduler
- Set Booking provider to External scheduler.
- Paste your Booking base URL (for example https://book.example.com/start).
- Leave Booking param key as service unless your scheduler needs a different name.
- Link Book CTAs to service products and save.
- If the base URL is empty, set **Service booking fallback URL** on Main product (or per-block fallbacks). The storefront shows a short hint that the link opens your external booking page.
Optional
- Add Reserve app blocks on Hero, Service menu, Specialist team, product, or cart drawer.
- Pass specialist or location context when your scheduler supports it.
- Add consultation, deposit, or consent copy on service product pages when required before booking.
- Use the sticky CTA strip for a page-level Book now bar; on mobile it stacks under the Main product sticky action when both are visible.
How to check it worked
- On the storefront, tap a Book button on mobile.
- Confirm either the Reserve widget opens with the right service, or the URL includes your product handle.
- On a service PDP with no Theme booking base URL, confirm the fallback URL or app block still offers a clear Book path.
- Walk the Full launch checklist → Booking before you publish.
Was this page helpful?
Content is maintained by Arcanum Hollow Labs. For internal engineering notes, see the docs/ folder in the monorepo.