> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxhealth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Hosted booking page

> A practice-branded booking page, for practices without a site to embed into.

The hosted booking page is a full page at `booking.voxhealth.ai/PRACTICE-SLUG` that mounts the [scheduling widget](/developers/widget/overview) inline, branded for the practice.

It exists for practices whose website nobody can edit, and as a link to put in a text message, an email signature, or a Google Business profile.

## The URL

The **booking slug** is set in **Settings → Scheduling Widget**. It becomes the path:

```
https://booking.voxhealth.ai/smile-dental
```

Pick something short and speakable. Patients read this over the phone. Changing the slug breaks any link already in circulation, so choose once.

## What is different from the embed

|          | Embedded widget           | Hosted page                   |
| -------- | ------------------------- | ----------------------------- |
| Shell    | Floating bubble and panel | Full-page, inline             |
| Lives on | The practice's own site   | `booking.voxhealth.ai`        |
| Setup    | Paste a script tag        | Set a slug                    |
| Branding | The host page's           | The practice's logo and color |

Everything else, every step and every request and every guard, is shared. There is one booking implementation; the surfaces differ only in the shell around it.

## Location handling

With more than one office, the page shows the office being booked rather than the whole directory, and labels a location it guessed from the visitor's approximate origin as a guess. That comes from the widget's location callback, which the page uses to keep its own header in step with what the widget is doing.

## Link previews

The page is a client-rendered shell, so link unfurls in messaging apps show VoxHealth branding rather than the practice's. The practice's own logo appears once the page loads.

## Requirements

* The `SCHEDULING_WIDGET` feature enabled
* A booking slug set
* The hosted booking host configured for the environment. When it is not, the admin UI hides the booking link and the page returns 404

## Where to put the link

<CardGroup cols={2}>
  <Card title="Google Business profile" icon="magnifying-glass">
    As the appointment link. This is where most self-serve bookings come from.
  </Card>

  <Card title="Text messages" icon="comment-sms">
    Short enough to send, no app to install.
  </Card>

  <Card title="Email signatures" icon="envelope">
    For the practice's own outbound mail.
  </Card>

  <Card title="A website button" icon="link">
    If the site can take a link but not a script tag.
  </Card>
</CardGroup>
