Loading...


A good booking page lets a visitor see what you offer, what it costs and when you're free, then book and pay in a few taps on their phone. Lead with a clear promise, show your prices, keep the form short and add real proof from past clients. Everything else is polish.
That's the whole game, really. A booking page doesn't need fancy animations or a perfect colour palette. It needs to remove doubt at every step between 'I like this person's work' and 'I've paid and I'm booked'. Below, I'll walk you through how, with examples for South African hairstylists, photographers, personal trainers, tutors, consultants and therapists who get most of their clients from Instagram, WhatsApp and word of mouth.
Picture this. You post a lovely set of photos on Instagram, someone replies 'how do I book?', and you send your link on WhatsApp. They tap it. And then... nothing. No booking, no message, no 'sorry, found someone else'. Most of us have lost clients this way without ever knowing why.
The reasons are surprisingly predictable:
Ecommerce offers a useful benchmark here. The Baymard Institute puts the average online shopping cart abandonment rate at about 70%. That's about shopping carts, not appointments, so please don't read it as your abandonment rate. It simply shows how easily people drop out of any online flow that feels like effort.
Now let's put it in rand. As an illustration, say your average session is R450, and five people a month tap your link and leave. That's R2,250 gone before you've even said hello, or R27,000 over a year. That's a decent laptop, or a very nice trip to the Garden Route. 😬
To estimate your own number, take the visits to your page, work out how many start booking and how many abandon, then multiply the lost bookings by your average booking value. It's an estimate, not gospel, but it tells you where to look first.
Most visitors make up their minds quickly, so booking page design is about removing doubt, not adding decoration. Next up: first impressions, pricing, the booking flow, payments and policies, trust signals, mobile, and a quick checklist to pull it all together.

The top of your page has one job: answer 'what is this, who is it for and what do I do next?' in about five seconds. If a visitor has to scroll or think to work that out, you've made them work too hard.
Choose the one action you want and make it the hero. Secondary links can stay, but they should whisper, not shout.

Short answer: in most cases, yes. A visible price tends to attract people who are ready to book and cuts down the 'how much?' DMs that eat your evenings. Those who can't afford you will often self-select out, which saves you both time.
The exception is genuinely custom work. Wedding photography, for example, rarely has one fixed price. Even then, don't hide the number. Show 'from R3,500' and say what's included and what moves the price (hours, location, number of edited images). A starting price plus the factors that change it is far better than 'contact for a quote'.
For every service, write five things:
For example: '60-minute personal training session. One-on-one, for beginners or anyone returning after a break. Includes a movement assessment and a take-home plan. R600.'
Salons often do this well. A haircut and a colour treatment are listed separately, each with its own duration and price, plus a note that colour may need a consultation or vary by hair length. The bookable option is clear without pretending a variable service is a fixed quote.
Three is a good starting point. Too many choices can lead to decision paralysis, and a tired visitor on a phone may simply close the tab. A tidy example for a consultant or tutor might be:
VAT in South Africa is 15%, and registration becomes compulsory once your taxable turnover exceeds R1 million in any 12-month period. If you're registered, show clearly whether your prices include VAT. If you're not, don't add it. The SARS VAT pages explain the rules, and an accountant can confirm where you stand.
The Consumer Protection Act (CPA) requires honest, clear pricing and prohibits misleading marketing, so avoid surprise extras at checkout. Baymard's research shows why this matters in ecommerce: in its survey of US shoppers who abandoned orders, 39% cited extra costs like fees as too high and 14% said they couldn't see the total upfront. That's shopping, not appointments, but the lesson carries over. If there's a travel fee, a booking fee or a materials charge, say so before the client picks a time.
Both have a place.
Whichever you choose, label a deposit as a deposit, show the remaining balance and when it's due, and don't make it look like full payment.
As few as you can reasonably manage. Ideally: pick a service, pick a time, enter details and pay, all in one simple flow. Every extra page or field is another chance for someone to drop out, and you'll never see them leave.
Here's what a smooth booking flow looks like:
Making someone create an account before they can book adds effort at the worst moment. They don't want another password. They want a haircut on Saturday. Guest checkout lets them book and move on.

Taking payment upfront can help reduce no-shows, because clients who've paid have more reason to turn up. It won't eliminate them, though. Add a reminder message the day before and a clear, fair rescheduling policy, and you'll cover most of the gaps.
Trust at the payment step matters too. Baymard's survey found that 18% of US shoppers who abandoned an order didn't trust the site with their card details. Again, that's ecommerce, but a recognisable, secure payment step helps wherever people hand over money. A reputable payment provider means you aren't handling card numbers yourself, but POPIA still applies to the rest of the personal information you collect and store.
Write your cancellation and rescheduling policy where clients can see it, ideally right next to the pay button, with a link to the full version. Something like: 'Free rescheduling with 24 hours' notice. Cancellations within 24 hours forfeit 50% of the session fee.'
A few South African points worth knowing (this is a simplified summary, not legal advice):
Requirements can differ by industry (health practitioners, for example, may have extra professional rules), so double-check the specifics for yours.
Very likely, though the evidence we have is general rather than specific to South African appointments. BrightLocal's survey found that most consumers read online reviews for local businesses at least occasionally, and Northwestern University's Spiegel Research Center found that displaying reviews was associated with a large lift in purchase likelihood in online retail. Treat both as directional. They point the same way as common sense: when you can't try a service beforehand, people look for reassurance.
'Great service!' tells a new client nothing. 'Thandi did my matric farewell hair in Pretoria and it lasted all night' tells them everything. Add a first name, a suburb or city, and ideally a photo.
Ask for permission first. Publishing a client's name, photo or story involves their personal information under POPIA, so get clear consent, explain where it'll appear and be ready to remove it if they ask.
Most of your clients will land on your page from a phone, usually from Instagram, TikTok or WhatsApp. DataReportal's Digital 2024: South Africa report counted around 112.7 million cellular mobile connections at the start of 2024. That includes multiple SIMs per person, so it isn't 112 million unique users, but it makes the point: mobile is the main way people reach you.
So design for thumbs first.

Here's the whole guide on one screen:
| Page that loses clients | Page that books clients | |
|---|---|---|
| Headline | Vague welcome message | Specific service and location |
| Pricing | 'DM for rates' | Clear rand prices and what's included |
| Booking | Email-only enquiry | Choose a time and pay in one flow |
| Form | Eight fields | Name, number, email, one note |
| Proof | None | Three specific reviews near the button |
| Mobile | Tiny text and a long scroll | Big buttons and fast loading |
| Policies | Hidden | Plain-language cancellation terms |

Everything above applies on any platform. If you'd like one place to handle it, here's how it works on Shopstar, the platform I work with. With one link in bio, you point your Instagram, TikTok and WhatsApp Business profiles to a single page that holds your services, bookings and extras (like a digital download such as a meal plan or study guide) in one checkout, without building a full website. You can use a custom shopstar.page URL or connect your own domain. Shopstar Go supports card, Apple Pay and Scan to Pay, and payouts go to your South African bank account. Check Shopstar's pricing page for current payout timing and plan details, as these can change.
On social proof: Shopstar sellers have processed over R250 million in paid orders and the platform holds a 4.9-star Google rating from 120+ reviews (figures as at the time of writing).
Shopstar has two plans.
The difference between the plans is 3.1% of your sales. To find your break-even point, divide the Lower Fees monthly price (see the current figure on Shopstar's pricing page) by 0.031. Purely as an illustration, a R310 monthly fee would break even at R10,000 in monthly sales. Below that, Start Free costs you less. Above it, Lower Fees does. If you're just starting out or your bookings are irregular, Start Free means you pay nothing until someone books.
How long this takes depends on how much you've already set up, so treat it as a first-draft pass rather than a stopwatch challenge. Here's the order I'd tackle it in:
If you're not technical, Shopstar offers hands-on onboarding support, and the same store can later hold digital downloads, a membership site or event ticketing, so you won't have to start over.
One last thought. A booking page is never really finished. Treat it like your front door: keep it tidy, keep it welcoming, and fix the squeaky hinge when someone mentions it.
Usually uncertainty: unclear prices, unclear inclusions, doubts about availability or whether it's safe to pay. Long forms, forced sign-ups, slow loading on mobile data and surprise extras make it worse. Fix clarity first, then friction.
In most cases, yes. If your work is custom, show a 'from' price and explain what affects the final quote. If you're VAT-registered, say whether prices include 15% VAT.
As few as possible. A good target is choosing the service, picking a time, entering basic details and paying in one smooth flow, asking only for what you truly need.
The research we have is mostly general or retail-focused, but it suggests reviews matter, especially for services you can't judge beforehand. Use specific, recent reviews near your button, and get permission before publishing client details, in line with POPIA.
No. A single, well-designed page with your services, availability, reviews and payment can do the job, and you can share it as your link in bio.
It depends on the service. Deposits suit higher-priced or time-intensive work, while full payment suits shorter, lower-priced sessions. Either way, state your cancellation and refund terms clearly.