Skip to main content
Your booking page is a public web page where anyone can pick a service, choose a time and book it — no login, no app. It is the page you send when a contact asks “can I get in on Thursday?”. Everything on it comes from your Services and your staff’s availability, so there is nothing separate to build.

Its address

Every workspace has a booking page at:
  • https://dash.dmly.io/book/<your workspace id> — the landing page, listing your bookable services grouped by category.
  • https://dash.dmly.io/book/<your workspace id>/<service slug> — a single service, so a contact lands straight on that service’s times.
To find your own, go to Business → Appointments → Settings → Branding and select Preview booking page. That opens the live page; copy the address from your browser.
You can serve the page on your own domain instead (book.yoursalon.com) — see Custom domain. That’s a paid add-on: if your plan doesn’t include it, you’ll see Custom domains aren’t included in your current plan. and every link keeps using the dash.dmly.io address above. Links only switch to your domain once it is verified and its SSL certificate is live, so a link you shared is never broken.

What’s on the page

The landing page lists only services that are active and publicly visible, and only Services of type appointment or class. Add-ons never appear — they’re order extras, not something a contact books. If a service is missing from the page, it is almost always one of those two switches. See Services. The page shows a Booking page title, a Booking page description, your logo and your brand colour — all set under Settings → Branding. Leave the logo empty and it uses your business logo from Settings → Business details.

What a contact does

1

Picks a service

From the landing page, or straight from a link to one service.
2

Picks a staff member — sometimes

If the service offers a choice, they pick a person. If you turned on Hide staff selection under Settings → Appointment → Booking flow — it applies to every appointment service — they don’t: Clients won’t choose a staff member; one is assigned automatically.
3

Picks a time

Only genuinely open slots are offered. DMLY subtracts your staff’s booked time, buffers, time off, blocked time and their connected calendar’s busy time — and applies your minimum notice and booking horizon. See Staff and availability.
4

Fills in the form

A new visitor must give at least a first name and an email address. The rest of the fields are up to you — configure them under Settings → Booking Fields. It’s one shared list for appointments and classes; only Additional Notes is appointment-only.
5

Books

They land on a confirmation page and get a confirmation message on their channel.
If a contact reaches the page from a link DMLY sent them (from a Flow, for example), the page already knows who they are and skips the name/email fields entirely — and the booking is attributed to their existing Contact rather than creating a new one.
When an unknown visitor books, DMLY creates a lightweight Contact from the name and email they typed. That’s a real Contact in your CRM, but it has no WhatsApp identity attached yet — so the confirmation and reminders go to whatever channel it does have. This is exactly why sharing the link on WhatsApp is worth the extra second.

Times are shown in one of two ways

Under Settings → Appointment, Timezone mode is either Detect automatically or Fixed timezone. The public page has no browser timezone detection: Detect automatically uses the contact’s stored timezone when DMLY already knows them, and otherwise falls back to the service’s own timezone. A stranger opening a shared link therefore sees your clock in both modes. Pick Fixed timezone if you’re a single-location business and “3:00 PM” should always mean your 3 PM.

If the service is paid

  • Pay after the appointment — they book normally, the slot is confirmed straight away, and DMLY messages them a payment link.
  • Pay before booking — the slot is held for 15 minutes while they pay, and only becomes a real booking once the payment clears. If the hold runs out, the slot goes back on sale.
If no payment gateway is connected, a pay-before service can’t be booked at all — the page tells the contact Online payment isn’t available right now. Please contact us to book this service. Connect a gateway first. Full detail in Appointment payments. Every booking gets its own private page at https://dash.dmly.io/booking/<booking id>. From it, while the booking is still confirmed and still in the future, a contact can:
  • Cancel — if you’re inside the Cancellation deadline (hours) set under Settings → Appointment → Booking policy.
  • Reschedule — same, against the Reschedule deadline (hours) in that same panel. Both are workspace-wide, not per-service. Set either to 0 to allow it right up to the start time.
  • Add to calendar — links for the usual calendars, plus a downloadable calendar file.
Class seats can be cancelled but never rescheduled to another time — a class runs when it runs, and they use their own Cancellation deadline (hours) on the Settings → Class tab. A cancelled seat automatically goes to the next person on the waitlist. See Classes.

Sharing it

1

Send it on WhatsApp

Copy the link and send it in the Inbox. One line does the job: Here's my calendar — grab any slot that suits: <link>. Link to the service page, not the landing page, when you already know what they want — one fewer decision.
2

Let a Flow send it

A Book Meeting node in a Flow, with How to book set to Send hosted booking link, sends the link for you with the contact already identified — so they skip the form, and the booking lands on the right Contact. The flow then waits: whatever you put after the booked path only fires once they actually book, not the moment the link goes out. This is the best way to send it at scale.Leave How to book on its default and the node shows tappable times in the chat instead of sending the link — the hint reads In-chat shows tappable times on WhatsApp/Messenger/Instagram and automatically sends a booking link on SMS. A paid service always uses the hosted page, whatever you pick. There’s also a separate Send Booking Link node, which sends the attributed link but doesn’t wait for the booking.
3

Put it on your website and your profiles

It’s an ordinary public URL. Use it as your Instagram bio link, your Google Business Profile booking link, or the button on your site. Set a Redirect URL under Settings → Appointment → Branding and the confirmation page carries a ← Back to website link back to you.
Book a slot on your own page once, from your phone, before you share it. It takes a minute and it’s the fastest way to catch a service with no staff attached, a missing price, or hours you never set.

When something looks wrong

The page only fails outright when the workspace has no publicly visible, active services at all. Publish one service and it comes back. If it loads but looks empty, you’re probably looking at a filtered view — a category with nothing in it, for example.
Nothing is wrong with the page — the availability rules are eliminating every slot. The usual causes: the staff member has no working hours set, no staff is attached to the service, your minimum notice rules out today, or your booking horizon rules out the date they’re looking at. Work through Staff and availability.
Two people picked the same slot seconds apart and the other one landed first. DMLY refuses the second rather than double-booking your staff. The contact just picks another time — no action needed from you.
A link without contact identification matches on the email typed in: an existing contact with that exact email is reused, otherwise a fresh Contact is created. So a WhatsApp contact with no email on file, or a client who types a different address, gets a duplicate. Send it from a Flow’s Book Meeting node (in Send hosted booking link mode) or a Send Booking Link node instead — both attribute the link to the contact.

Services

What appears on the page, and the booking rules behind each one.

Staff and availability

Working hours, time off and buffers — where the open slots come from.

Appointment payments

Pay before, pay after, and holds.

Custom domain

Serve the page on your own branded address.