ZyanDocs

Create and share a booking page

Build a public scheduling page on your own domain, set the rules behind it, publish it, and embed it on your website with the iframe or script snippet.

A booking page is a public page on your own domain where a prospect picks a time on your calendar. Zyan creates the calendar event, sends the confirmation, and gives the visitor a private link to reschedule or cancel. Before any of that works, the rules behind bookings need to be right.

Before you start

Booking pages need: a connected booking calendar, the google_calendar_sync plan feature for the full scheduling page, and a verified domain under SettingsDomains before there is a shareable link at all. Creating drafts needs meetings create; publishing is owner-only.

Hosted pages are switched on per workspace

Public hosted booking pages are behind a platform switch that ships off. Until it is armed for your workspace, a published page still answers a neutral "not available" page, and the Share tab reports Published — waiting for hosted pages. Check that pill before you send the link to anyone.

Set the booking rules first

The rules every booking obeys live at WorkMeetingsSettings, and that page is owner-only.

Choose the Booking calendar

Google, or a connected Microsoft Outlook calendar.

Turn on Client booking

Set the Time zone and Weekly hours

Tick the days that are open and set start and end times per day.

Set Minimum notice and Booking window

Choose the Meeting location

Google Meet, Zoom with a connected host, or no meeting link.

Set duration, slot interval and buffers

Add any Unavailable blocks

Vacation, focus time, travel.

Press Save changes

Nothing commits until you do.

SettingWhat it changesDefault
CalendarWhich calendar bookings check availability against and land on.Google
Client bookingWhether clients can book live slots at all.
Time zoneThe zone slots are offered and confirmed in.
Weekly hoursPer-day on or off, plus start and end times. Visitors only ever see slots inside these windows.
Minimum noticeBlocks last-minute bookings. Accepts 0 to 30 days.
Booking windowHow far ahead slots are exposed. Accepts 1 to 180 days.
Meeting locationGoogle Meet, Zoom with a host account, or No meeting link.
Meeting duration30, 45, 60, 90 or 120 minutes.
Slot intervalOffers slots every 15, 30, 45 or 60 minutes.
Google Meet linksCreates Meet links automatically. With it off, booking stays disabled unless a Meet link comes from elsewhere.
Google calendar idWhich Google calendar bookings land on.primary
Buffer before / Buffer afterProtected time either side of each booking. Accepts 0 to 240 minutes.
Add (unavailable block)Takes a date range out of the booking flow entirely.

Nothing saves until you press Save changes

Scheduling edits sit in a draft and the floating bar reads Unsaved scheduling changes. Discard throws them away. Leaving the page without saving loses the lot.

Two Microsoft-specific rules: choosing a Microsoft calendar applies to client bookings only — staff-scheduled Google Meet calls, team meetings and voice-agent holds still use Google Calendar — and Google Meet is disabled with it, so pick Zoom or no meeting link.

The connection pill reads Connected, Needs attention, Choose a calendar or Save to verify.

Create the page

Open the booking pages list

Go to WorkMeetingsBooking pages.

Click New booking page

Type a name such as Intro call. The link slug is generated from it.

Create it

It starts as a 30-minute Google Meet on your working hours.

Work through the five tabs

Details, Availability, Questions, Design, Share.

Publish

Once the editor reports no publish issues. Publishing is owner-only.

Details and availability

SettingWhat it changesDefault
NameThe page title visitors see.
Link slugThe address of the page. Lower-case letters, numbers and dashes only.
DescriptionShown under the page name.
Meeting locationGoogle Meet, Zoom or no link. Availability uses the selected booking calendar.
DurationHow long each appointment lasts.30 minutes
Ask for a phone numberAdds a required phone field. Name and email are always asked.Off
Confirmation messageWhat the visitor sees immediately after booking.
Redirect URLAn optional https page to send the visitor to after booking.
RemindersReminder emails sent to the visitor before the meeting. You get the matching reminder.
Send an auto-replyAn extra email from your workspace sender, with its own subject and message.Off
Minimum notice / Booking window / Time slots / Buffer before / Buffer afterNarrow the workspace scheduling rules for this page only.
Weekly hours (per page)Gives this page its own week instead of the workspace working hours.Off, inheriting the scheduling settings
QuestionsExtra questions asked after name, email and phone, with a live preview.
Accent / Corners / Typeface / ThemePage appearance. Unset values follow your workspace accent and the visitor's device theme.Auto

The Design tab previews the page in your own admin theme rather than the visitor's, so pin Theme when you need to know exactly what a visitor will see. Left unset, it follows their device.

Changing the slug breaks links you already shared

The slug is the address. Anyone holding the old link gets a page that is not there. Settle on it before you publish.

Saving a published page updates it immediately. Changed questions publish a new version. An impossible weekly-hours week is refused at save.

Share the page

The Share tab gives you the hosted link, an embed switch and two snippets, and a status pill that tells you the truth about whether the page is live.

Status pillWhat it means
LivePublished, hosted and reachable
Published — waiting for hosted pagesPublished, but hosted pages are not switched on for your workspace yet
PublishedPublished, but something else is missing — usually the verified domain
Draft — not liveNot published
ArchivedRetired

Copy the Hosted link

Or click Open preview. The hosted link works whether or not embedding is on.

Turn on Embed on your website

This allows the page inside an iframe on other sites.

Paste the Iframe snippet

Put it where the booking widget should appear.

Or use the Script snippet

A div carrying a data-zyan-booking attribute plus an async script tag. The loader mints the iframe and keeps its height in step with the content.

Which snippet should you use?

The iframe snippet is fixed-height and works anywhere. The script snippet auto-resizes, which is what you want when your questions make the page taller than one screen. It is the same loader pattern as the forms embed, so a site that already carries one will take the other without trouble.

The script snippet may not be available yet

The loader is behind its own release flag. Where it is not available, the Share tab says Coming with the loader release — use the iframe snippet until then.

What the visitor gets

Every confirmation email carries a private manage link. The visitor uses it to reschedule or cancel by themselves, right up until the meeting starts; cancelling revokes the token. Changes you make from the Calendar reach them through the calendar invitation instead — the booking-page email is for their own changes.

Troubleshooting

SymptomCauseFix
The link shows a neutral "not available" pageThe page is a draft or archived, the workspace has no verified domain, or hosted pages are not switched on yetPublish it, add a verified domain under Settings → Domains, and read the Share tab status pill for which of the three is missing
There is no shareable link at allNo verified domainVerify a domain first
No slots appear on the pageClient booking is off, weekly hours are all closed, notice or window exclude the range, buffers and existing meetings consume the day, or the calendar needs attentionCheck Client booking, Weekly hours, Minimum notice, Booking window and the calendar status pill, then re-save
Scheduling edits vanishedChanges sit in a draft until savedPress Save changes before navigating away
Zoom cannot be selectedZoom bookings are not activated, or no healthy shared host is connectedThe dropdown label says which. Connect Zoom from Settings → integrations
Google Meet is greyed outA Microsoft calendar is selected, which disables MeetChoose Zoom or no meeting link
The embed shows a scrollbar inside the widgetYou used the fixed-height iframe snippetUse the script snippet where it is available
A weekly-hours change was refused at saveThe week as entered is impossibleFix the start and end times so each open day is valid