## Overview

The **public booking page** is the link you send so customers can book time themselves, with no
back-and-forth. It shows only the **free slots** of the chosen event type — computed from your
availability, your busy times (native and Google), and the buffers. The customer picks a slot, answers
the intake questions, and confirms.

On confirmation, ConversaLabs can automatically **open a conversation**, **create a task** with a
reminder, **link to a CRM deal**, and **send a confirmation email** with a **Google Meet** link and an
**.ics** file — each side-effect can be turned on or off per event type.

## Prerequisites

- The **Calendar** module enabled, with at least one **event type** and **availability** configured.
- For the automatic Meet link, an active **Google connection**.
- For paid bookings (optional), the **Payments** module enabled — in that case the slot is held and is
  only confirmed after payment.

## Step by step

1. In the **Calendar**, open the **event type** you want to publish and copy the **public link**.
2. Share the link with the customer (message, email, website, social bio, etc.).
3. The customer opens the page and picks a **date and time** from the free options.
4. They fill in their contact details and answer the **intake questions**, if any.
5. (If the event type requires payment) the customer completes the payment to confirm.
6. The customer confirms and receives the **email confirmation** with the details and the invite.
7. You see the new booking in the **Calendar** and inside the contact's conversation.

## Settings & options

- **Link per event type**: each event type has its own link, with its own rules.
- **Intake questions**: custom fields the customer answers when booking.
- **Location / Google Meet**: in person, a manual link, or an automatically generated Meet link.
- **Booking side-effects**: conversation, task, CRM deal and confirmation email — per event type.
- **Distribution across agents**: round-robin or collective when there's more than one host.
- **Payment (optional)**: require payment to confirm, or just hold the slot until payment (depends on
  the **Payments** module).

## Use cases

- Put the booking link in your Instagram bio or email signature.
- Drop the link mid-conversation on WhatsApp so the customer can book a demo.
- Take paid bookings (consultations, mentoring) confirmed only after payment.
- Automatically distribute bookings across the agents of a team.

## Tips, limits & best practices

- The page is **unauthenticated** and safe: it shows only free slots, **never** the details of other
  bookings.
- Keep **intake questions** short to reduce drop-off.
- Check the **time zone** — the page shows times in the correct zone for the customer.
- Every confirmed booking becomes a complete record: use the side-effects (conversation, task, deal) so
  you don't lose the follow-up.

## Troubleshooting

- **The page shows no slots**: confirm availability, notice rules and buffers on the event type — there
  may be no free windows in the period.
- **The customer didn't get the confirmation**: check the email entered and whether the confirmation
  email is on for that event type.
- **The booking didn't create a conversation/task/deal**: check that those side-effects are enabled on
  the event type.
- **Payment didn't confirm the slot**: confirm the **Payments** module is active and the payment was
  completed — the slot is held until confirmation.

## See also

- [Calendar & Scheduling overview](/hc/ajuda/articles/calendar-scheduling-overview-en)
- [Event types, availability and buffers](/hc/ajuda/articles/calendar-scheduling-tipos-de-evento-disponibilidade-buffers-en)
- [Connect Google Calendar (OAuth) and sync](/hc/ajuda/articles/calendar-scheduling-conectar-google-calendar-en)
- [Reschedule, cancel, Google Meet and the .ics file](/hc/ajuda/articles/calendar-scheduling-reagendar-cancelar-meet-ics-en)