## What you need

- A domain you own.
- Access to that domain's DNS settings (Cloudflare, Namecheap, GoDaddy, Route 53).
- Five minutes, plus up to an hour for DNS to propagate.

## Step 1: choose your domain

You can use either a subdomain or a root (apex) domain. Both `book.yourcompany.com` and `yourcompany.com` work. The DNS record you add differs between the two:

- **Subdomain** (`book.yourcompany.com`): you add a `CNAME` record.
- **Root domain** (`yourcompany.com`): you add an `A` record, because `CNAME` records cannot live at the apex on most DNS providers.

## Step 2: connect the domain in TimeTuna

Open the booking page editor, go to the **Domain** tab, enter your full domain (for example `book.yourcompany.com`), and click **Connect**. You can paste a full URL; we trim it down to the hostname.

TimeTuna then shows the exact record(s) to add for your domain, each with its own copy button. Those are the records to use, not the examples below.

## Step 3: add the DNS record

In your DNS provider, create the record TimeTuna showed you. For a subdomain that is a CNAME:

DNS

```
Type:  CNAME
Name:  book                       # the subdomain part only
Value: custom.timetuna.com
TTL:   Auto (or 3600)
```

For a root domain, an A record:

DNS

```
Type:  A
Name:  @                          # the root domain
Value: 76.76.21.21
TTL:   Auto (or 3600)
```

The Name field takes the subdomain only

Almost every DNS provider adds your domain to the Name for you. For `book.yourcompany.com`, the Name is `book`. Typing the whole domain there creates the record at `book.yourcompany.com.yourcompany.com`, which is the single most common reason a domain never connects. TimeTuna detects this and tells you when it happens.

Use the records shown in the editor

If your domain was previously connected to another hosting provider, TimeTuna also shows a `TXT` record to prove ownership. Its value is unique to this attempt, so delete any `_vercel` TXT record left over from an earlier one.

## Step 4: watch it turn green

Leave the **Domain** tab open. It re-checks every 20 seconds, so you do not have to keep clicking anything. Each record shows its own live state:

- **Black check**: the record is live and correct.
- **Dashed circle**: the record is not in your DNS yet.
- **Amber marker**: something else is at that name. TimeTuna shows you exactly what it found, so you can see the difference at a glance.

Once every record is in place, TimeTuna issues the HTTPS certificate and then confirms the domain by loading it and checking that it really serves your booking page. That confirmation is what turns the badge to **Connected**: if your page loads for guests, the editor says so.

Verification can take a few minutes

DNS propagation is usually fast but can take up to an hour, depending on the TTL your provider used before the change.

## Step 5: share the new URL

Once verified, the booking page is reachable at both `timetuna.com/your-slug` and your custom domain. Update your email signature, landing pages, and embeds.

One domain per page

Each custom domain can serve one booking page. If you need different domains for different pages, connect a separate domain for each.

## Guest emails and SMS follow the domain automatically

There is nothing to change in the Notifications tab. Once the domain is verified, the `{manage_url}` link in confirmation, reminder, and reschedule emails, the "Reschedule or cancel" line in the calendar invite, the "Add to calendar" link, and the shortened link inside booking SMS all switch to your domain. Guests see `book.yourcompany.com/<booking-id>` instead of a timetuna.com link.

Before the domain verifies, those links stay on `timetuna.com/your-slug` so they never point at a domain that does not resolve yet. Links already sent to guests keep working either way: the timetuna.com URL for a booking never stops working, even after you connect or disconnect a domain.

## Search engines

A custom domain changes the address, not whether the page is listed in search results. Booking pages are hidden from search engines by default; the toggle for it sits on the same **Domain** tab. See [Search visibility](/content/docs/search-visibility/index.html).

## Removing a custom domain

In the **Domain** tab, click **Disconnect** next to the domain. The page goes back to working on `timetuna.com/your-slug` only. You can then delete the DNS record at your provider.
