Skip to main content
The client portal is a small self-service page attached to your booking page: a client enters their phone number, gets a one-time code on WhatsApp, and signs in to see every booking they’ve made with you. There’s no password to set or forget: the code is the login. It’s off by default; turn it on when you want returning clients to check their own history instead of asking you.
The portal shows booking history only: a list of appointments and their status. It doesn’t show invoices, payments or gift card balances. For those, point a client at their invoice or pay link directly.

Turn it on

1

Open Appointments settings

Go to Appointments → Settings, staying on the Appointment sub-tab, and find the Client portal panel.
2

Enable client portal

Switch on Enable client portal. This immediately adds a Log in link to your booking pages, visible to every visitor from the moment you flip it on, whether or not you can actually deliver a code yet.
3

Make sure you can actually deliver a code

If the panel shows No way to send login codes yet, connect WhatsApp and get the login-code template approved, or connect an SMS gateway, before real visitors see that link. DMLY doesn’t hide Log in just because there’s nowhere to send a code yet: a client who clicks it before you’ve connected a channel lands on an error page instead of a login form. Turn the portal on right before, or right after, connecting a channel, not days ahead of it.
4

Decide whether booking should require it (optional)

Require login to book hides the whole booking flow behind sign-in: a visitor has to enter a phone number and verify a code before they can pick a service or a time. Leave it off (the default) to let anyone book without an account, same as today, and offer the portal purely as an extra for people who want to check their history.
Require login to book only takes effect while Enable client portal is also on; turning the portal off turns this back off too, so a booking page can never be stranded behind a login nobody can complete. The same fail-safe applies if your WhatsApp template stops being approved and no SMS gateway is connected: DMLY lets visitors book without signing in rather than lock them out.

What a client does

1

Selects Log in

From your booking page (the landing page or a single service’s page), they select Log in in the top corner.
2

Enters their phone number

Any phone number works here, not only one you already have on file; signing in through the portal is how a brand-new visitor can get an account too. A submitted number always gets the same response, “If that number can receive messages, we’ve sent a 6-digit code.” This is deliberate, so the login page never reveals whether a number belongs to an existing client.
3

Gets a 6-digit code on WhatsApp

Sent as a WhatsApp authentication message with a Copy code button, or by SMS if you don’t have WhatsApp connected. The code expires after 10 minutes, and they can request a fresh one if it lapses; DMLY makes them wait briefly between requests so the number isn’t spammed with codes.
4

Enters the code and is signed in

A wrong code just asks them to try again; too many wrong guesses burns that code and they need to request a new one. Once verified, they land on My bookings.

What’s on the portal page

Signed in, a client sees:
  • My bookings: every booking on their record, most recent first, each with the service name, date and time, and a status badge (Upcoming, Past or Cancelled).
  • View, on each booking: opens that booking’s own manage page, where they can cancel or reschedule within your cancellation and reschedule deadlines, exactly as if they’d followed the link from their confirmation message.
  • Book a new appointment: takes them straight back to your booking page.
  • Log out.
A client with no bookings yet sees an empty state instead, and can still book from there.
A booking only shows up if it’s linked to the same Contact record the phone number resolves to. A client who always books with the same phone number is fine; one who’s booked before under a different number or a typed email won’t see those older bookings until a booking is made on the number they log in with.

Troubleshooting

Enable client portal is on, but there’s still no way to deliver a code: no approved WhatsApp login-code template and no connected SMS gateway. DMLY doesn’t hide the Log in link while that’s true, so a client who clicks it lands on a generic error page rather than the phone-entry form. Connect WhatsApp (with the login-code template approved) or an SMS gateway and the same link starts working immediately. Nothing else to change.
This is different from the link itself erroring (above): reaching the phone-entry form means a channel was connected at that moment. A code can still fail to arrive if they’ve hit DMLY’s built-in limit on how many codes one number can request in a day, a guard against a number being spammed with codes; the page answers the same either way, “If that number can receive messages, we’ve sent a 6-digit code,” so it won’t look like anything went wrong. If your WhatsApp login-code template stops being approved or your SMS gateway disconnects, they’ll see an explicit “Login is temporarily unavailable” message instead. Either way: wait a few minutes and try again, and check that WhatsApp or your SMS gateway is still connected.
A client asked for a second code too soon after the first. This is a short, deliberate cooldown to stop a number being flooded with codes. Ask them to wait a minute and try again.
Their booking is very likely attached to a different phone number, or to an email-only Contact created from the booking page (a stranger who books without WhatsApp attached gets a lightweight Contact from their name and email; see Booking page). The portal matches purely on phone number, so it won’t surface those older bookings until one is made against the number they’re signing in with.

Booking page

Where the Log in link lives, and how a booking’s own manage page works.

Connect WhatsApp

Needed to deliver the one-time login code as a WhatsApp message.

SMS

A fallback way to deliver the code if WhatsApp isn’t connected.

Appointments overview

How services, staff and bookings fit together.