
# Shareable Booking Page

Every event type can have its own public booking page: one link that anyone can open and book a time on, without an account and without ever messaging you first.

Put it behind a **Book now** button on your website, in your Instagram bio, in your email signature, on a flyer as a QR code, or paste it into a chat. Whoever opens it sees your real availability and books straight into your calendar.

**Who this is for:**

- A **hair salon** with a "Book an appointment" button on its site.
- A **coach or consultant** who drops a booking link into every email.
- A **clinic** with a QR code on the reception desk.
- Anyone running ads that need a page to send people to.

**What makes this page different:** the visitor gives their name and their email or phone **before** they see the calendar. That means somebody who opens the page, fills in their details and then wanders off without picking a time is still saved in your contacts, ready to be followed up. On an ordinary booking page that person is simply gone. See [Every visitor becomes a contact](#every-visitor-becomes-a-contact) below.

---

## Turning the Page On

The booking page is off until you switch it on, so no event type becomes public by accident.

1. Click **Appointments** in the sidebar and open the **Event Types** tab.
2. Click the pencil icon at the right-hand end of the event type's row (or click **Create event type** to make a new one).
3. Scroll to the bottom of the form, to the **Booking page** section.
4. Switch on **Shareable booking page**. A **Link name** field and your finished link appear.
5. Click **Save event** (or **Create event**). The link goes live the moment the event type is saved.


::: tip
**Tip:** Give the event type a customer-friendly name first. The name you use is the heading visitors read on the page, so "Free 30-Minute Strategy Call" works better than "Consult v2".
:::


### The Link Name (the ending of your link)

The link is your normal web address for the app followed by the **Link name** you choose, for example `.../book/salon-cut-30`. When you first switch the page on, a short random ending is filled in for you. Change it to something you would be happy to read out loud.

A few rules:

- Lowercase letters, numbers and hyphens only, between 3 and 60 characters. Capitals and spaces are dropped as you type, so you cannot save an ending that would not work.
- It has to be unique. If somebody else already uses the ending you picked, saving tells you "That link name is already in use. Pick another one." Pick a different one and save again.
- **Changing it later breaks the old link.** Anything already pointing at the old ending stops working, so settle on it before you print it on anything.


---

## Sharing the Link

The **Booking page** section gives you three ways to hand the page out:

- **Copy link** copies it to your clipboard, ready to paste behind a "Book now" button, into an email, a bio, an ad, or a message.
- **Show QR code** turns the same link into a QR code you can print on a flyer, a business card, a shop window or a table sign.
- **Embed on website** gives you a small piece of code that puts the calendar itself on a page of your own website, so visitors book without leaving your site. See [Embedding the calendar on your website](#embedding-the-calendar-on-your-website) below.


The link is built from whatever web address you use for the app, so if you work on your own branded domain the link carries that domain too. Nothing extra to set up. (If you've also verified a branded `api.` address under [White Labeling](../agency/white-labeling.md), the page loads through that too; if not, it falls back to our neutral shared address on its own.)

---

## Embedding the Calendar on Your Website

If you would rather show the calendar **on your own page** than send people away to a link, embed it:

1. Open the event type and scroll to the **Booking page** section, exactly as above.
2. Click **Embed on website**. The embed code appears.
3. Click **Copy code**, then paste it into your website's HTML wherever you want the calendar to sit — most website builders (WordPress, Wix, Squarespace, Webflow and the rest) have an "HTML" or "custom code" block for this.


That is all. The embedded calendar is the same booking page in a frame: same steps, same real availability, and everyone who fills in their details still becomes a contact, whether they finish booking or not.

**Worth knowing:**

- **It sizes itself.** The code you copied includes a few lines that let the calendar grow and shrink with its content (the time grid is taller than the confirmation screen), so you never have to fiddle with heights.
- **It works alongside the chat widget.** If the same page also runs your [chat widget](../get-started/chat-widget.md), the two sit together happily: the calendar in the page, the chat bubble in the corner.
- **You can embed it more than once.** The same code on several pages is fine, and two different event types' calendars on one page work too — each frame resizes independently.
- **Changing the link name breaks embeds too.** The code points at your link, so the same warning applies: settle on the link name before you paste the code around.
- **Switching the page off switches the embed off.** The frame then shows the same "not accepting bookings" notice as the link would.

---

## What Your Visitor Sees

The page is built for phones first, since most people tap a booking link on their phone. It has three short steps.

**Step 1: who they are.** Name, plus an email address or a phone number. Either one is enough, both is better. This is the step that makes the page worth using, and it is covered below.


**Step 2: pick a time.** They choose a day, then a time. Times are shown **in the visitor's own time zone**, with a small "Times shown in ..." note so there is no confusion, and they come from exactly the same availability your AI books against: your weekly hours, your notice period, how far ahead you allow bookings, your rooms, and anything already busy on a synced Google Calendar. See [Booking System](booking-system.md) for how those settings work.


**Booking with a specific person.** If the rooms inside the event type are named after people (a barber, a doctor, a stylist), the page shows a **Book with** row above the times: **Anyone**, plus one chip per person. **Anyone** shows every open time and the booking goes to whoever is free, exactly as before; tap a person and only their times are shown, and the booking is made with them. Event types whose rooms have generic names show no such row. See [Booking with a specific person](booking-system.md#booking-with-a-specific-person) for how the AI uses those same names in the chat.

**Step 3: confirmed.** A short summary of what they booked. If **Send appointment email to contact** is on for that event type (it is by default), the usual confirmation email goes out too.


Two people cannot take the same time. If somebody else grabs a slot in the seconds between it being shown and being confirmed, the page says so and shows the times still open, rather than quietly double-booking you.

From your side, a booking made here is an ordinary booking: it appears on the **Upcoming Appointments** tab, syncs to your Google Calendar if you have that connected, and notifies you like any other.

---

## Every Visitor Becomes a Contact

Because the details come first, the page saves people you would otherwise never hear about.

- The moment somebody finishes step 1, they are **saved as a contact** with the name and details they typed, and tagged **booking-page-lead**.
- If you already have a contact with that email address or phone number, it is the same contact, not a new one. Only empty fields are filled in, so nothing you already had is overwritten.
- When they finish the booking, they also get the tag **booking-page-booked**.

That pair of tags is the whole trick:

| The contact has | What it means |
|---|---|
| **booking-page-lead** and **booking-page-booked** | They booked. Nothing to do. |
| **booking-page-lead** but **not** booking-page-booked | They started booking and never picked a time. This is your abandoned-booking list. |

Both tags appear in your normal tag list, so you can filter your contacts by them like any other tag (see [Using Tags to Label Contacts](../get-started/creating-tags.md)).

---

## Recipe: Follow Up on Abandoned Bookings

Somebody who typed their name and email and then closed the tab is a warm lead who got distracted. Here is a simple automation that emails them an hour later. See [Automations](../automations/automations.md) for the builder itself.

1. Open **Automations** and create a new automation. The quickest route is to describe it in plain English in the prompt box and then tidy up what it builds, but here is what it should end up looking like.
2. Set the trigger to **Contact updated**, and set its field to **tags**, so it runs whenever a contact's tags change.
3. Add a **Condition** step: continue only when the contact has the tag **booking-page-lead** and does **not** have **booking-page-booked**.
4. Add a **Delay** step of an hour or so. This gives somebody who is simply slow at picking a time the chance to finish first.
5. Add a **Condition** again after the delay, checking the same thing. If they finished the booking during that hour, they now carry **booking-page-booked** and the automation stops there instead of nagging a customer who already booked.
6. Add an email step (Gmail, or **Email (your mail server)** if you send through your own mail server) with a short, friendly message: "Saw you started booking with us, here is the link again if you still want a time." Paste your booking link into it.
7. Save, then flip the **Enabled** switch on.

**Worth knowing before you build it:**

- **Email works straight away.** As long as the person left an email address, this runs the day you switch it on.
- **WhatsApp and SMS are different.** Someone who came in through the booking page has no conversation with you yet, and messaging channels only let you start one in specific ways, so a chat follow-up is not something this automation can do for you today. Email first.
- **Not everybody leaves an email.** The page accepts a phone number instead, so include a condition or simply accept that phone-only leads sit in your contacts for you to reach out to by hand.

---

## Turning the Page Off, and Deleting It

- **Switch the page off** on the event type and the link stops taking bookings: anyone opening it is told the page is not accepting bookings right now. Your link name stays reserved, so switching it back on later brings back **exactly the same link** and every "Book now" button that pointed at it starts working again.
- **Delete the event type** and its page goes with it, for good. The link name is released and somebody else could take it, so delete only when you really are finished with that link.

---

## Good to Know

- Each event type gets **one** page. If you offer three services, make three event types and share three links.
- The page shows the event name, how long it takes, where it happens, and your branding. Nothing about your account is visible to visitors.
- A page can be opened by anybody with the link. It is not listed anywhere public, but it is not secret either, so treat it like any other link you share.
- **Not there yet:** the confirmation email does not include reschedule or cancel links or a calendar file to add to a diary, and the page cannot ask extra questions of its own. To collect extra details, book through a chat instead, where your AI can ask for them (see [Collecting Extra Information During Booking](booking-system.md#collecting-extra-information-during-booking)).

---

## Need Help?

If you have questions about the booking page, reach out via our [email support](mailto:hi@youraiconnector.com).
