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

# Connect a custom booking domain

> Serve your DMLY booking page on your own domain, such as book.yourbusiness.com, with SSL issued automatically.

Custom domains are **not included in every plan**. If yours doesn't include one, the panel tells you so — **Custom domains aren't included in your current plan. Upgrade to connect your own booking domain.** — and the controls stay locked until the plan is changed. See [Plans](/billing/plans), or ask your agency if your workspace is managed by one.

By default your [booking page](/appointments/booking-page) is served on a DMLY URL. Connecting a custom domain serves the same page on a host you own, so clients book at `https://book.yourbusiness.com/<service slug>` instead. Nothing about your services, staff or availability changes — only the address.

The domain isn't booking-only. Once it's live, your [review request](/reputation/review-requests) links and your [growth and QR short links](/growth/qr-codes-and-links) are built on the branded host too — `https://book.yourbusiness.com/r/<token>` and `https://book.yourbusiness.com/go/<id>` — so plan for those links changing address as well.

You get one booking domain per workspace.

## Set it up

The whole flow lives on one panel: **Business → Appointments → Settings → Appointment**. Scroll to the **Custom domain** panel, below **Branding**.

<Steps>
  <Step title="Point your DNS">
    Under **1. Point your DNS**, DMLY shows the records to create. Add one of them at whoever manages your domain's DNS — your registrar or your web host. DMLY doesn't do this part for you.
  </Step>

  <Step title="Add your domain">
    Under **2. Add your domain**, enter the host you just pointed (for example `book.yourbusiness.com`) and select **Add domain**.
  </Step>

  <Step title="Wait for verification and SSL">
    DMLY re-checks the domain in the background, roughly every ten minutes, and issues the SSL certificate for you once the DNS resolves. You can select **Verify** to check immediately instead of waiting. DNS changes can take a while to spread, so a first check that fails isn't a problem — leave it and check back.
  </Step>
</Steps>

<Note>
  Your booking links keep working the whole time. DMLY only starts putting the branded host into booking links once the domain is verified **and** its SSL certificate is live. Until then every link — the one in a [flow](/automation/flow-builder), the one in a reminder, the one you copy yourself — uses the standard DMLY booking URL. A link you shared during setup will never turn into a broken or insecure page.
</Note>

Once the domain is live, links are generated from the branded host everywhere: pages you open in DMLY, messages sent from automations, and reminders sent by background jobs all produce the same address.

<Note>
  That background check also runs in reverse, so a live domain isn't permanently live. If the DNS record is removed or stops resolving for around 24 hours, the domain drops back to **Pending DNS** and links quietly revert to the standard DMLY URL — no message, no failure. They switch back to the branded host once the record resolves again. Keep the DNS record in place for as long as you want the domain.
</Note>

## Remove a domain

Select **Remove** on the panel. Your booking page stops being served on that host and its SSL certificate is released. Booking links fall back to the standard DMLY URL.

<Warning>
  Anything printed or published with the branded address on it — a QR code on a card, a link on your website, a link in a social bio — stops working when you remove the domain. Update those before you remove it.
</Warning>

## If verification doesn't complete

<Accordion title="The domain never verifies">
  DMLY can only verify a host that actually points at it, so the cause is almost always the DNS record rather than DMLY. Re-check the record against what the **1. Point your DNS** step shows: the record type, the exact host, and that there isn't an older conflicting record for the same name still in place. Some DNS providers append your domain to the host automatically, which silently produces `book.yourbusiness.com.yourbusiness.com`. After a correction, select **Verify** again.
</Accordion>

<Columns cols={2}>
  <Card title="Booking page" icon="calendar-check" href="/appointments/booking-page">
    Brand the page itself — logo, colour, title and description.
  </Card>

  <Card title="Services" icon="list-check" href="/appointments/services">
    The services clients see and book on that page.
  </Card>
</Columns>
