Skip to main content
Your booking page is a public web page where anyone can pick a service, choose a time and book it, without an account. You design it in the Booking Page Designer, and it goes live at /book/ followed by your page slug.

What you’re looking at

The page is headed Booking Page Designer — “Create and customize your online appointment booking page”. Above the editor sits the Booking Page URL card, showing the live address with a Live or Draft badge and Copy and Open buttons. The header carries Preview (which becomes Edit), a save button reading Save Changes when you have unsaved work and Save when you do not, and Publish / Unpublish. Unsaved work shows the banner “You have unsaved changes. Don’t forget to save your work!” The editor has five tabs, with a live preview beside them: The preview switches between Mobile, Tablet and Desktop; it opens on Mobile, which is how most people will see it.
Opening hours are not in the designer. They live in Settings → Booking Settings under Clinic Availability and Special Dates. That is why a page can be published, correct and still show no times to book.

Two things make bookings possible

Everything else is presentation. Online booking works only when both of these are true:
  1. Allow Online Booking is on, on the Settings tab.
  2. At least one service has been added on the Services tab.
A page with neither loads for the visitor and offers them nothing to book. The page must also be published. All three are checked again whenever a client books — as is the time, against your hours and diary — so a page left open in a browser cannot book a service you have since taken off it, a time you have closed, or a date past Advance Booking Days.

Choosing a location

If your practice has more than one active location, a visitor is asked to choose a location before they see the service list. Picking a site narrows everything that follows to it: only the services that site offers, only the providers who work there, and only that site’s own open times. The confirmation page and confirmation email name the site and its address. The step is skipped — the page behaves exactly as a single-site practice — when:
  • your practice has only one active location,
  • the link already names one (a ?location= link you shared for that specific site), or
  • your plan doesn’t include more than one location (see Locations).

Add the services

The Services tab is headed Services Management — “Select services from your clinic to display on the booking page”. Each service card carries one button: Add to Page, which becomes a disabled Added to Page once it is on. There is no visibility switch, and nothing is on the page until you add it.
1

Find the service

Use Search services… or the Category: filter. If nothing is there at all you get No Services Found — “You haven’t added any appointment services yet. Create them first, then add them to your booking page.” — with Manage Appointment Services.
2

Select Add to Page

The toast reads Service Added. A second card, Services on Your Booking Page, now lists what the public will see.
3

Order and feature them

Make Featured promotes a service; Remove takes one back off the page.

Booking several services in one visit

At the top of the Services tab, the Several services in one visit card lets a client book more than one service for the same appointment — a facial and a brow tint, say. Turn on Clients can book several services in one visit and choose Most services in one booking, from 2 to 10. The card saves as soon as you change it; there is no need to select Save. When it is on, a client who picks a service sees Add to this visit beside the calendar, with each other service on the page, its time and its price. They tick up to your limit, and a running total shows the combined time and price.
  • One appointment. The visit is booked as a single appointment that lists every service in the order the client ticked them.
  • Times are added together. Only start times with enough free time for the whole visit are offered, and the appointment ends when the last service would.
  • Prices are added together. A client who pays at booking pays the total of the services’ prices as they stand in your catalogue at that moment. A later price change does not alter a visit already booked.
  • One provider. The visit goes to one provider who offers every service chosen. If the client picks a provider who does not offer all of them, they are asked to choose another provider or Any available provider. If nobody offers the whole combination, no times are shown.
  • Rooms and equipment. A room or piece of equipment a service needs is held for the whole visit.
  • Everywhere else. Your diary, the appointment details, the invoice lines, the confirmation and reminder emails, and the client portal all show the visit as its services joined together, for example Facial + Brow tint. Documents set to go out for any of the chosen services are sent once each.
Turning the card off does not change visits already booked; new bookings go back to one service each.

Options, add-ons and who can book online

What you set on a service under Appointment services is what the booking page offers.
  • Options. A service with options — Short and Long, say — shows Choose an option for the service beside the calendar, each with its time and price. The client must pick one before any times appear, and the option’s time and price replace the service’s own.
  • Add-ons. A service’s add-ons are listed under it as ticks, each with its extra time and price. A service marked Add-on only is never listed on the page by itself.
  • Running total. A summary names the visit — for example Facial — Long + Add-on: Mask — with its total time and price. The price is always the one in your catalogue when the client books; nothing typed on the page can change it.
  • Buffer after and processing time. Only start times that leave room for the buffer after the visit are offered, and the time between offered starts includes it. While a service’s processing time runs, the provider can be booked for another visit that fits inside it.
  • Who can book online. Not bookable online services are not shown on the page. New clients only services are refused for a client who confirmed their email as an Existing client. Existing clients only services ask the visitor to confirm they are a client — the same email code as Existing client — before any times appear; someone who continues as a new client is told the service is for existing clients and can go back to your services.
  • Minimum notice and booking horizon. The calendar only offers days and times after the notice and up to the horizon, and says so beside the service — for example “Book at least 2 days’ notice, up to 30 days ahead.” The same limits are checked again when the client books and before they pay, so an old page left open cannot get round them. A client who has already paid is never refused for notice.
The appointment keeps the option, the add-ons and the prices as booked. Your diary, the invoice, the confirmation and reminder emails and the client portal name them the same way.

Repeat visits

A service with Repeat bookings on (under Appointment services) asks Repeat this visit? after the client picks a time. They can choose Just this visit, or Repeat — how often (Every week, Every 2 weeks…) and how many visits, up to the most you allow.
  • Every date is checked before they book. The client sees each date at the same time. A date that is free shows as booked with the same provider, or says with another provider when only someone else is free then. A date that is not free at that time offers up to three other times that day, and is skipped unless the client picks one. They can also skip any date they don’t want.
  • All of it books at once, or none of it. When the client books, every date is checked again. If one was taken in the meantime, nothing is booked and the page names that date, so they can pick another time or skip it.
  • Payment. When your page takes payment at booking, the client pays for the first visit only. Each later visit is marked Pay later and is paid at the clinic — also when a membership covers the first visit.
  • Advance Booking Days applies to the first date. Later dates follow the service’s own booking horizon.
  • Minimum notice and booking horizon apply to every date, not only the first.
  • One confirmation. The client gets one email that lists every visit, each with its own Cancel this visit link and a Cancel all of these visits link. You get one notice that says how many visits were booked and how often.
  • Cancelling. From a visit’s cancel link, a client can cancel only this visit or this visit and the later visits. Cancelling the rest sends one email that lists every visit cancelled, and you get one notice. Two kinds of visit are left booked, and the client is told why: a visit already paid for (they cancel it on its own), and a visit too close to its time to cancel online (they contact you). Clients who sign in to their client portal can do the same there.
  • In your diary. Each visit is its own appointment. Opening one shows Visit 2 of 4 in a repeating booking, how many are still booked, and whether the client booked it online. A repeating booking made online can’t be re-planned from the appointment’s edit screen: cancel the later visits and book them again.

Set the booking rules

On the Settings tab, the Booking Settings card holds four controls:

Take payment at booking

The Payment Settings card is hidden until Accept Payments is on. Then: Connect the provider first under Settings → Online Payments. Until you do, the provider select is replaced by Stripe not connected or Paystack not connected and a link to those settings. While your account is not connected and ready, clients cannot pay online: they book without paying, and a payment is never taken anywhere but your own account.

When a client pays

  • The booking is made even if they close the page. Once the payment provider confirms the payment, the appointment is booked whether or not the client comes back to the confirmation page. A payment always makes one appointment, however many times the page is refreshed.
  • The payment method is recorded. A paid online booking shows how the client paid — for example card or bank transfer — on the appointment. A booking nobody paid for yet shows Pay later, and a visit a membership covers shows Membership.
  • If the booking cannot be made, the payment is refunded. When the time was taken while the client was paying, or they paid after their booking time ran out, the payment is refunded automatically and no appointment is created. The client is told on the page, and you get a notice. If an automatic refund does not go through, the notice says so: refund the payment from your payment provider’s dashboard and contact the client.
  • A booking that stalls after payment is finished for you. If something goes wrong on our side after a client has paid, the booking is tried again automatically over the next hour or so. If it still cannot be made, the payment is refunded once and you get a notice. If an appointment matching the payment already exists, nothing is refunded and the notice asks you to check it.

After a client books

The screen that says You are scheduled has Confirm and Cancel booking buttons for that appointment, so a client can manage the booking straight away as well as from their email. The buttons only work for the booking just made. The confirm and cancel pages show the price the visit was booked at, not today’s price. Once a visit has been completed, marked as a no-show or started, its links can no longer confirm or cancel it — the client is asked to contact you. Your own cancellation policy is what the client reads. The cancel page shows the real window and fee from the service they booked, together with the wording you wrote under Settings → Booking policy in the designer. If you have not set a policy on that service, it says so plainly rather than showing a figure.

Letting clients move their own appointment

A client opening their cancel link can be offered Reschedule instead, which takes them to a page showing your live availability so they can pick a new time themselves. They keep the same appointment — it moves, rather than being cancelled and rebooked, so nothing is refunded, re-charged or lost. You control this in the booking page designer, under Cancel & reschedule links:
  • Allow online cancellation — clients can cancel from the link in their emails.
  • Allow online rescheduling — clients can move the appointment themselves. Turn it off and the button never appears; they are asked to contact you instead.
Two limits apply, and a client is always told the real number:
  • A notice period. A client trying to move a visit too close to its time is refused and asked to call you. They are not charged a late cancellation fee for trying, and the appointment is not cancelled — it stays exactly as it was. The notice period is the Reschedule notice under Settings → Client portal.
  • How many times. Self-service reschedule limit (also under Settings → Client portal) caps how many times one appointment can be moved online — 2 by default. After that the client is asked to contact you, which is there to stop one visit being shuffled around your diary indefinitely.
Clients signed in to their client portal have had this for longer, and it is the same behaviour, the same limits and the same availability — the booking link simply gives it to clients who never signed in.
A client who cancels a visit they paid for in full without a deposit or cancellation policy on the service is not refunded automatically: you get a notice to refund the payment or keep it under your policy, and the client is told the clinic has their payment to refund.

Deposits, cancellations and missed visits

A service can take a deposit or be paid in full when booking, and can have a cancellation window with a late cancellation fee and a missed appointment fee. You set these on each service — see Deposits and cancellation fees — and write the wording in the designer under Settings → Booking policy. They need the Essential plan or above and a connected Stripe account. When a client books a service with any of these, the page shows what they pay now and what the rules are, with your policy, and they must tick I have read and agree to this booking policy before they can book. The pay button says what is taken now — for example Pay $20.00 deposit & Book — and the payment page shows the deposit beside the price of the visit. The amount is worked out by ClinikEHR from your prices and rules, never from the page. If you change the policy while a client has the page open, they are asked to review it and agree again. Clients booking from their client portal see the same policy, agree to it the same way and pay the same deposit before the visit is booked. The deposit is on the invoice. The appointment’s invoice shows the deposit as paid and the rest as still owed, so it is never charged twice. With Auto Pay on, Auto Pay charges only the balance. Repeat visits. For a repeating booking, only the first visit’s deposit (or full price) is taken when booking; the later visits are paid at the clinic. Each visit carries the same cancellation rules. When a service in a repeating booking has a cancellation or missed appointment fee, the client needs to save a card on file to book it. When a client cancels in time — before the window — the payment they made when booking is refunded to their card automatically, once, and you get a notice. When a client cancels late, or you mark a visit as a no-show, nothing is charged automatically. The payment they made when booking is kept and counts towards the fee, and the appointment shows the fee to review with a notice under Billing. Open the appointment and choose:
  • Charge and the amount (for example Charge $30.00), then Charge fee — charges what is left of the fee to the client’s card on file. The client gets an email receipt, and the fee is recorded on its own invoice. If the card is declined or needs the client to confirm it, you are told, and the fee stays on an unpaid invoice. If the client has no card on file, the fee is added to an unpaid invoice instead.
  • Waive fee — the client is not charged. Waive and refund with the amount (for example Waive and refund $20.00) also refunds the deposit you kept.
Only the owner, a manager or an accountant can charge, waive or refund. If a refund does not go through automatically, the appointment offers Refund with the amount and now (for example Refund $20.00 now); if that fails too, refund it from your payment provider’s dashboard. If you put a cancelled visit back on the diary, a fee you have not charged is dropped.

Returning clients

After picking a time, the visitor chooses New client or Existing client.
  • New client goes straight to your booking questions, as before.
  • Existing client asks for their email address and a quick security check, then Send code. The page always answers “If you’re a client here, we’ve sent you a code.” — whether or not the address is on your books — so it never reveals who your clients are. Anyone who does not receive a code can select Continue as a new client.
A client who enters the six-digit code from the email sees their name, email, phone and date of birth already filled in. Every field stays editable, your booking questions are still asked, and a notice reads Booking as their first name, with Not you? to start again. The booking goes on their existing record, so a returning client no longer turns up in your client list twice. What they type on the form is kept with the appointment; it does not overwrite the details on their record. A code lasts 10 minutes and allows five tries. Asking for codes too often, for one address or from one device, is paused for a few minutes.

A new-client booking with an email you already have

If a visitor books as a New client — or never confirms their code — with an email that matches one of your clients, the booking still goes on that client’s record, so you do not get a duplicate. Because nobody proved the email is theirs, the appointment shows Email not confirmed, and the new booking notice asks you to check the client before the visit. Nothing from the record is shown to the visitor, and what they typed is kept with the appointment rather than written over the record. An email that is on file only at another practice is never linked to yours; it starts a new record. Membership prices, and visits a membership covers in full, apply only to a client who confirms their email as an Existing client, and only to a visit of one service with no option or add-ons. Anybody else is charged the service’s listed price. The appointment records the price the member was given — nothing owed for a covered visit — so its invoice and emails match. A card added on the booking page is saved only for a new client or a client who confirmed their email. A card added by someone whose typed email matched an existing client is not saved to that client’s record, and the new booking notice says so.

Promo codes, gift cards and package sessions

Clients can use your packages, gift cards and promo codes while they book. Beside the booking policy, on the step that books or pays:
  • Promo code and Apply appear while you have at least one active promo code.
  • Gift card and Apply appear while you have at least one active gift card.
  • Use a session from your package, with each package and how many sessions are left, appears only for a client who chose Existing client and confirmed their email, and only when a package covers a service they picked.
A summary shows what each took off and what is due now or left to pay at the clinic, and the pay button shows the amount after them — for example Pay $80.00 & Book. If nothing is left to pay now, the client books without a payment step. A package session covers its service first, then the promo code comes off, then any deposit is worked out on what is left, and the gift card pays before the card. These are not offered on repeat visits (“Book one visit to use them”) or with a membership price. A code that can’t be used gets one sentence, whatever the reason, and too many wrong tries pause code entry for a few minutes. If a client cancels before the visit, the promo code’s use is given back, the gift card amount returns to the gift card rather than to their bank card, and the package session returns to the package.

Card on file

With Card on file set to Optional or Required on the Settings tab, the page adds a card step after your booking questions. Clients type the card into the payment provider’s own secure fields; the card number never passes through ClinikEHR. The saved card appears on the client’s record under Edit client, where Auto Pay can use it, and nobody is charged when they save it.
  • Optional — the client can Add a card or Skip and book.
  • Required — the booking cannot be completed until a card is saved. A returning client who confirmed their email sees the card already on their record (brand and last four digits) and can Use this card or Replace card.
Card on file needs a connected, ready Stripe account, and is not offered to practices that bill in Naira. If it cannot run, the page simply does not ask for a card.

Publish and share

Set the Page Slug on the Design tab — “This will be part of your booking page URL”. A live check tells you whether it is free, and Save and Publish stay disabled until it is. Then Publish, and use Copy on the Booking Page URL card to take the link.
The slug is the link. Changing it after you have shared the page breaks every copy already out there — your website, your email signature, printed cards, listings and any link a client has kept. Choose it once, before you publish.

Who can do this

Role decides whether the designer opens at all. It reaches the same settings screen the rest of your clinic configuration lives on. No per-action permission covers the booking page: on Solo and Team the lever is the role somebody holds. The Permissions sheet on a team member (“What they may do on the pages their role already opens”) carries only clinical-authority acts such as signing and countersigning, and there is no per-role navigation editor on these plans. Two behaviours surprise people:
  • Enforcement is opt-in, per person. A colleague never saved in the permissions sheet is unrestricted. The sheet warns “Saving starts enforcing”.
  • A denied action is recorded; an allowed one is not. Hiding a module from somebody’s sidebar is a convenience, not a security boundary.
See Staff permissions.

Check it worked

  • The Booking Page URL card shows a Live badge.
  • Opening that link in a private browser window shows your branding, your content and the services you added.
  • Picking a service offers real times that match Settings → Booking Settings.
  • Completing a booking creates an appointment on the calendar and shows your Booking Confirmation Message.

Common issues

No single provider offers every service they chose, or no free stretch is long enough for the whole visit. Check which providers offer each service in Appointment services. The client can remove a service from Add to this visit, or book the services as separate visits.
The service has options, and one must be chosen first. The page says Choose an option for your service to see available times.
It is marked Not bookable online or Add-on only under Online Booking or Options & Add-ons on the service. Add-ons appear under the service that lists them.
The service is set to Existing clients only. They confirm with the email code sent to the address on their record; if they are new, they can choose another service.
The page stops offering more once the limit in Most services in one booking is reached, and a booking with more is refused. Raise the limit on the Services tab if you want to take more in one visit.
Either Allow Online Booking is off, or no service has been added on the Services tab. Both are required, and a service card that still reads Add to Page is not on the page.
The page shows real availability, and opening hours are not in the designer. Providers need schedules under Settings → Booking Settings → Clinic Availability, no special date may be closing the day, and any resource the service needs must be free.
Clinic Timezone on the Settings tab is wrong. Every offered slot is calculated from it, so a mismatch shifts the whole day.
The Page Slug is taken or invalid. The availability indicator under the field says which; both buttons stay disabled until it clears.
The page only prefills a client who enters the code from the email, and the code goes only to an address that matches a client record in your practice. Check the email on their record under Edit client. If they booked as a new client with the same email, the booking is on their record marked Email not confirmed; with a different email, it is on a new record for the same person.
A client paid, but the booking could not be made — usually because the time was taken while they were paying. No appointment was created and the payment went back to them. Contact the client if you want to offer another time.
A client paid online, and an appointment matching that payment already exists, but the two were not linked. No automatic refund was made. Open the appointment to check it is right, then compare it with the payment in your payment provider’s dashboard. Refund the payment there only if the client did not get the visit they paid for.
It was booked online with an email that matches this client, without the email being confirmed with a code. The notice shows on the appointment in the calendar and in your schedule on the home dashboard. It is on the right record if it really was them — confirm with the client before the visit, and change the appointment’s client if it was somebody else.
Membership prices apply only when the member confirms their email as an Existing client before paying. Ask them to choose Existing client and enter the code next time; refund the difference from the payment if you need to.
Codes go only to addresses already on your books, and expire after 10 minutes. Ask them to check spam, confirm the address on their record matches, and select Send a new code. They can always Continue as a new client.
Card on file is set to Required. The client needs to save a card on the card step, or choose Use this card if one is already on their record. Set it to Optional if you would rather not make it a condition.
No payment provider is connected — you will see Stripe not connected or Paystack not connected in place of the select. Finish the connection under Settings → Online Payments.
“Custom domains are part of the Team plan and above.” See Custom domains and Change your plan.

FAQ

Every link already shared stops working — there is no redirect from the old address. If you must change it, publish the new link everywhere you published the old one, and expect enquiries from people holding the old one.
Unpublish takes the page offline entirely. Turning Allow Online Booking off leaves the page up with your details on it, and simply stops offering times. Neither touches anything already booked.
No. The page is public. A returning client can confirm their email with a one-time code so the booking goes on their existing record; nobody needs a password. Portal access is a separate thing you grant afterwards.
One page per practice. Use the Services tab to control what each audience sees, and Make Featured to put the service you most want booked at the top.
No. A service’s deposit is taken at booking and shown as paid on the invoice; the balance is settled at the visit like any other invoice, or by Auto Pay if you use it. Deposits are set on each service — see Deposits, cancellations and missed visits.