Skip to main content
Appointments is where you take bookings. It covers one-to-one appointments — a haircut, a consultation, a viewing — and classes, where several people share a seat pool in the same session. Clients book themselves on your public booking page, or you add a booking by hand from the calendar. Either way you end up with the same kind of booking record and the same reminders on WhatsApp. Payment is a booking-page thing only — a booking you add by hand takes no payment and sends no pay link, whatever the service’s payment mode.
Services are set up under Offerings, not under Appointments. This trips up almost everyone. The Appointments hub manages bookings, staff, availability and the booking page. The service itself — its duration, buffers, price, payment mode and reminder times — is edited at Offerings → Services. See Services for what each setting does and Offerings for the wider catalogue.

The pieces

Services

What you sell time for. A service carries the duration, buffers, notice rules, price and payment mode. Edited under Offerings.

Staff and availability

Who can be booked, their working hours in their own timezone, and one-off time off or blocks.

Booking page

Your public page. Clients pick a service, a staff member and a time without logging in.

Classes

Fixed sessions with a capacity and an optional waitlist. Each seat is still a booking.

Payments

Charge nothing, charge after the appointment, or hold the slot until the client pays.

Calendar and Zoom sync

Push bookings to Google Calendar, pull external events back as busy time, and mint Zoom links.

Custom domain

Serve the booking page on your own domain. Plan-gated — see below.

Meetings

The older scheduler. Same bookings underneath.
The Appointments hub itself has three working views — Bookings (an upcoming and past list), Calendar (View and manage all bookings, classes and blocked time in one place) and Staff (Manage staff members, their hours and the services they offer) — plus its settings, where the booking page branding, the booking form and the custom domain live.

How a booking comes together

A service says how long it takes and how far ahead you will accept it. A staff member says which hours they work and which services they offer. DMLY combines the two and shows only the times that survive every check:
  • The service’s minimum notice and booking horizon. Your workspace settings can tighten both — minimum notice is a floor, the booking horizon a ceiling — but never loosen them.
  • Busy time on the connected calendar.
  • The staff member’s existing bookings, plus the service’s buffers either side.
  • Any block or time off, whether it belongs to one staff member or to the whole workspace.
If a service is offered by more than one person and the client doesn’t choose, DMLY offers the union of everyone’s free times and picks an available staff member for them. Two people can hit Book on the same slot at the same time. Only one wins; the other sees Sorry, that time was just taken — please choose another. The slot is locked while the booking is written, so a double booking can’t slip through.
Working hours are wall-clock times in the staff member’s own timezone, not yours. If someone works 9:00–17:00 in Lagos and your workspace is in London, set 9:00–17:00 on their record and let DMLY do the conversion.

What happens after the booking

Once a booking is confirmed, DMLY does the rest on its own:
  • Confirmation and reminders. Reminders are seeded from the service’s reminder times (for example, a day before and an hour before) and go out on the client’s channel. A reminder is skipped — not retried — if the booking is no longer confirmed, or the contact has opted out or has the bot paused. The meeting time is fixed, so a missed window can’t be caught up later.
  • Your team is told too. The assigned staff member gets their own message, and the rest of the active team gets a heads-up. Reminders never notify the team.
  • The calendar event. The event is pushed after the booking is saved, so a Google or Zoom failure can never lose you the slot. If nothing is connected, the booking simply lives in DMLY.
  • Automations fire. Appointment booked, cancelled, rescheduled, completed and no-show all work as triggers. Classes fire their own class events instead. See Triggers.
Clients manage their own booking from the link they were sent: they can cancel, and — for a one-to-one appointment — reschedule, each within the deadline set at Appointments → Settings → Booking policy. Cancellation deadline (hours) and Reschedule deadline (hours) are workspace-wide, not per-service — Hours before the start time. Set to 0 to allow up until the appointment. Both start at 0, so out of the box a client can cancel or reschedule right up to the start time. A class seat can be cancelled but not rescheduled to another time. Confirmed, upcoming bookings also get Add to calendar links.
Outside WhatsApp’s 24-hour window — which is where most reminders land — a message only goes out on an approved WhatsApp template. If the template isn’t approved yet, the message is dropped rather than sent as plain text; inside an open 24-hour window it still goes out as plain text. Check WhatsApp before you rely on reminders.

When you charge

Each service has a Payment mode: No payment required, Pay after the appointment, or Pay before booking. All of it hangs off the price — Set a price above 0 to require payment. A payment mode on a free service does nothing. Pay-before is the one to understand: the slot is held for 15 minutes while the client pays, and nothing else happens until the money clears — no confirmation, no reminders, no calendar event, no booked automation. If they don’t pay, the hold is released and the slot goes back on sale. Pay-after confirms the booking first and sends a pay link afterwards. If no payment gateway is connected, a pay-before service can’t be booked at all: the client is turned away with Online payment isn’t available right now. Please contact us to book this service. The Payment mode field warns you about this — No payment gateway is connected, so clients won’t be able to pay. Connect one in settings. Connect one first: see Payments and gateways.

Appointments vs the Meetings hub

They are not two systems. Meetings came first; Appointments is the same thing grown up. A meeting type is a service now, and a booking made either way is the same record — so everything shows up in the Appointments calendar, in reports and in the client’s profile regardless of where it started. Use Appointments for new work. It is the one that has staff, per-staff hours, classes and waitlists, payment modes, the branded booking page and calendar sync. The one thing worth knowing about the older setup: if a service has no staff member with working hours of their own, DMLY falls back to the weekly hours and timezone stored on the service itself — the single-host way. Existing meeting types keep taking bookings; you don’t have to migrate anything to keep the lights on. Add staff when you need more than one bookable person or per-person hours. See Meetings for the older hub.

Before you start

1

Connect a channel

Reminders and confirmations go out over a channel. Connect WhatsApp first — see Connect WhatsApp.
2

Create your services

Go to Offerings → Services and add what you take bookings for, with the duration, price and reminder times. See Services.
3

Add staff and their hours

Add each bookable person, tick Accepts bookings, set their Working hours, and assign the services they offer. See Staff and availability.
4

Connect a gateway if you charge

Do this before switching any service to Pay before booking, or nobody can book it. See Payments.
5

Share your booking page

Preview it, brand it, then send the link on WhatsApp. See Booking page.
A reports screen. There is no appointments report view in the app. Bookings is a plain upcoming-and-past list, not a dashboard.A custom domain on every plan. Serving the booking page on your own domain is plan-gated: Custom domains aren’t included in your current plan. Upgrade to connect your own booking domain. Until a domain is added, verified and its SSL certificate is live, every booking link you share — including links sent by automations — uses the standard DMLY booking address, so nothing breaks while you set it up. See Custom domain and Plans.A staff member who can log in. A staff member is a bookable person, not a user. Linking them to a team account is optional — use Link team member if they should manage their own bookings.