# Meeting Booking

> A scheduler on your own site — visitors pick a meeting type, day and time in their zone, and the booking lands in your CRM with emails and reminders.

Source: https://knowledge.estage.com/rooms/meeting-booking/
Part of the ESTAGE knowledge base (https://knowledge.estage.com). Full corpus: https://knowledge.estage.com/llms-full.txt

---
A **Meeting Booking** block lets visitors book time with you without leaving your site: they pick
what the call is about, a day, a time **in their own time zone**, leave their details, and it's
done. The booking lands in your [ESTAGE CRM](/crm/bookings/), and the confirmation email, the
calendar invite, the reminders and the cancel/reschedule links are all handled for you.

It is the ESTAGE answer to Calendly — not an embed of one.

## How to trigger it

- *"add a book-a-call page"*, *"add a scheduler"*, *"let people book a consultation"*
- The **Meeting Booking** entry in the [`/` slash menu](/building/chat-features/#the--slash-menu)
  — typing `/book` filters straight to it, and picking it drops a starting prompt into the
  composer for you to add details to

Genesis doesn't ask how the booking should work or which scheduler to use — it adds the block
straight away. You set the details afterwards.

:::note
Genesis will not answer a booking request with a contact form or a hand-built calendar — a form
captures an email, a booking reserves a time. If you already use Cal.com or Calendly and want
*that* on the page, say so (*"embed my Calendly"*) and it's wired as a
[connector](/connectors/) instead.
:::

## What Genesis builds

1. The **Meeting Booking** block itself, plus the data wiring behind it.
2. It goes on **the page you're on**, in the spot you asked for. It's a section you drop onto a
   page — like a pricing table or an order form — not a page of its own.
3. A **dedicated `/book` page** only when you asked for a booking *page* (*"a page where people can
   book"*, *"a /book page"*). That's also the only case where you get a *"Book a call"* nav link or
   button.

The block lays out three columns of its own — summary, calendar, times — so it's placed as its own
full-width section between the neighbouring ones, not inside a narrow column.

## Before it can take bookings

The block *offers* meetings; it doesn't define them. What's on offer lives in the CRM:

| You need | Where | Why |
| --- | --- | --- |
| **At least one meeting type** | [CRM → Bookings → Meeting types](/crm/bookings/#meeting-types) | Name, duration, where it happens, the questions to ask |
| **An availability schedule** | [CRM → Bookings → Availability](/crm/bookings/#availability) | The hours the type is bookable in |
| **A payment gateway** (paid meetings only) | [Settings → Payment Processing](/commerce/payments/) | A paid meeting takes the payment on the page |

When the block is added from chat, it starts out offering every meeting type you have switched
on. If you have **no meeting types at all**, a default **Intro call** (30 min, bookable Mon–Fri
9–17) is created for you — in the ESTAGE video room when your account has it, otherwise with an
empty meeting link you need to fill in. Rename or adjust it in the CRM.

If the page ends up offering nothing, the block shows *"Booking is not set up yet"*. That's
expected — not a bug to ask the AI to fix.

## Choosing what a page offers

Click the block in the live preview and the **Meeting Booking** panel opens on the right:

- A list of your meeting types — tick the ones this page should offer, then **Save to page**
  (the button appears once you change the ticks). The page picks up the change on its next load.
- The badge reads **N on page** or **Nothing offered**.
- Each row shows duration · where · seats · how many questions, with a **paid** tag on paid types
  and **consent** when the type asks visitors to tick a consent box. A type switched **off** in
  the CRM can't be ticked.
- With no meeting types yet, the panel shows *"No meetings to offer yet"* — create one in the CRM,
  then come back and tick it.
- Links straight through to **Bookings and calendar**, **Meeting types and prices** and
  **Working hours** in the CRM.
- If a type you offer asks for consent and the block was added before consent existed, an
  **Update the block** button appears — click it so the checkbox shows on the page.

That tick is the block's *only* setting. Durations, hours, prices, questions and the bookings
themselves stay in the CRM — the same way an [order form](/order-forms/) picks products it doesn't
define. One meeting type can be offered on as many pages and apps as you like.

## What visitors see

1. **Choose a meeting** — skipped when the page offers only one type.
2. **Select a Date & Time** — a month calendar where only days with openings are clickable, the
   times for the chosen day beside it, and a **Time zone** selector that starts on theirs. Group
   sessions show *"N left"* per slot.
3. **Enter your details** — name, email, optional phone, plus whatever questions the meeting type
   asks (short answer, long answer, dropdown, checkbox).
4. **Payment** — paid meetings only. The slot is held for 15 minutes while they pay, with a
   countdown; card details go straight to your gateway. The refund rule set on the meeting type is
   shown here — a full refund any time, a full refund up to a set number of hours before, or
   non-refundable.
5. **You are booked** — a confirmation card with the time in their zone, the meeting link if there
   is one, **Reschedule** / **Cancel** links, and *Book another time*. The calendar invite is
   emailed.

Availability is computed live by ESTAGE on every request. Nothing about your schedule is stored in
the site's code, so a slot someone else just took disappears before it can be double-booked.

## Rescheduling and cancelling

The links in the confirmation and reminder emails (and on the confirmation screen) open a page
hosted by ESTAGE. No account or login is needed. Cancelling frees the seat; rescheduling picks a new time from live availability. You and
the invitee are both emailed, with an updated `.ics`.

## What you can ask for

The block takes a few options — just say so in chat, before or after it's placed:

| Ask for | What you get |
| --- | --- |
| *"add a heading above the booking card"* | A title and subtitle over the block |
| *"only offer the intro call here"* | One meeting type pinned, so visitors skip the chooser |
| *"show my name and photo on it"* | The host's name and avatar in the summary column |
| *"make it match the site"* | Restyled freely — colors, spacing, typography |

Restyle it as much as you like, but keep the scheduler itself: its steps are what keep the
booking, the emails and the CRM in sync. Ask for a look, not a different calendar or time picker
— and don't ask the AI to remove the consent checkbox, which is a legal requirement for types
that ask for consent.

## Notes

- **One booking block per page.** Different pages can offer different meeting types.
- The **ESTAGE video room** needs *ESTAGE Rooms Signature*. Without it, meetings set to the room
  are still booked — the meeting type's fallback link is used instead, and the panel warns
  *"Estage Rooms is not on your account."*
- A paid meeting on a site with **no payment gateway** shows a *"get in touch"* notice rather than
  taking a booking it can't charge for.
- Turning a meeting type **Off** or deleting it in the CRM takes it off the page immediately.
- Every invitee becomes a [contact](/crm/contacts/) in your CRM, and a paid booking becomes an
  [order](/commerce/orders/).
