Skip to main content

Your booking page shows a 404

The storefront is opt-in: why /book/your-shop 404s, why the subdomain doesn't resolve, and why an embed shows nothing.

Troubleshooting7 in this section

The public storefront at /book/your-slug is off until you switch it on — a disabled shop is a clean 404 on purpose, so half-configured pages never leak. Ninety percent of booking-page 404s are one of two things: the toggle in Settings → Online booking is still off, or the URL's slug doesn't match the one saved on that page.

From 404 to live, in order

  1. 1

    Turn it on

    In Settings → Online booking, press Turn on booking. The status badge flips to Live and the hosted link starts working immediately.

  2. 2

    Check the slug in the URL

    The storefront lives at /book/<slug> (and book.servicevin.com/<slug>) with the exact slug shown on the settings page. The slug is your business name, so renaming the business in Business profile changes the URL — old links (and old embed snippets) 404 afterwards.

  3. 3

    For embeds, re-copy the snippet

    The settings page generates the current iframe snippet (/book/<slug>?embed=1 — bare mode, no site chrome) and the script embed (data-servicevin-shop; the older data-detailio-shop still works). A blank embed is almost always a 404 hiding inside the iframe: booking off or a stale slug.

Good to know

The reserved demo slug always renders a sample storefront — handy to confirm the route itself works before blaming your shop's config.

Troubleshooting

/book/your-shop returns a 404.

Why: Online booking is off for the shop — the storefront is opt-in and a disabled shop 404s cleanly.

Fix: Settings → Online booking → Turn on booking. The badge should read Live.

Booking is on, but the link still 404s.

Why: The slug in the URL doesn't match the shop's saved slug — often after a rename.

Fix: Copy the hosted link straight from Settings → Online booking, and update any embed snippets and marketing links to the new slug.

The custom-domain indicator shows Pending or Misconfigured.

Why: The CNAME for your custom domain hasn't propagated yet, or it points somewhere other than the platform booking domain.

Fix: Add a CNAME from your domain to the booking domain shown on the settings page, then re-check — Pending usually just needs DNS time.

The embed on your website shows an empty box.

Why: The iframe is rendering a 404: booking switched off, a stale slug in the snippet, or a snippet missing ?embed=1.

Fix: Open the iframe URL directly in a browser tab to see the real error, then re-copy the current snippet from Settings → Online booking.

The page loads but lists no services to book.

Why: No active service is both marked "show online" and priced — a service with no base price and no per-vehicle tier prices is hidden from the storefront.

Fix: In Services, price each bookable service (base price or vehicle tiers) and check its show-online flag.

Common questions

Does the /book path keep working after I set up subdomains?

Yes. Subdomain routing is purely additive — the hosted /book/<slug> URL and any embeds keep working unchanged.

Why did my embed break after I renamed the shop's slug?

Embed snippets carry the slug. Renaming the slug moves the storefront, so every pasted snippet must be re-copied from Settings → Online booking.

Was this helpful?

Ready to run your shop on Service VIN?

Every feature in these docs is in the free trial — card required, nothing charged for 14 days.