Selling
Appointments: Sell Services by the Hour
Let customers book services from your storefront: staff calendars, opening hours (late nights included), repeat bookings, deposits taken through your own Stripe account, automatic reminders, emails to your staff, and changes and cancellations that follow your rules.
Overview
Appointments lets customers book your time the way they buy your products: a haircut, a consultation, a lesson, a repair slot, or a place in a class. Your storefront gets a booking page at /book, each service gets its own page, and every booked time lands on a calendar in the dashboard.
- Times are always right. Everything is scheduled in your store's time zone (or a location's own zone), including on the days the clocks change and for appointments that run past midnight.
- Repeat bookings. A weekly lesson or a monthly treatment can be booked as a series in one go, by you or, if you allow it, by the customer.
- No double bookings. Two customers can never take the same time. The check happens in the database the moment a booking is saved, not just on screen.
- Deposits go to you. When a service takes a deposit or full payment, the customer pays through your own connected Stripe account, exactly like a product order. BestWebby never holds the money.
- Reminders and changes run themselves. Customers get a confirmation with a calendar file, reminders before the appointment, and a private link to change or cancel within your rules.
- Your staff are told. Each person can get an email when a booking with them is made, moved or cancelled, and a daily agenda of their bookings.
Who can use it. Appointments is included from the Growth plan up. Owners, admins and managers set up services, staff, hours and settings. Staff can book, move and cancel appointments and mark attendance. Refunds need finance access (owner, admin or accountant), and ask for a 2FA code if you have two-factor authentication on.
Step 1: Choose your time zone and hours
Go to Orders → Appointments → Settings.
- Pick your store time zone. If you have locations in other zones, set each location's zone underneath.
- Tick Limit bookings to store opening hours and enter your weekly hours. Online bookings stay inside these hours as well as each person's own hours. For a late opening, enter an end time earlier than the start (for example 18:00 – 02:00): it runs into the next morning and the editor shows next day.
- Add closures for holidays and days the whole store is shut. Nobody can book on those days.
- Choose how often start times are offered (every 15 minutes, every hour, and so on) and how long a time is held while a customer pays.
- Choose your reminders: for example 24 hours and 2 hours before.
- Decide whether customers may cancel and pick a new time online.
Click Save settings.
Step 2: Add the people customers book
Go to Staff & hours and click Add staff.
- Link a team member so their name and email fill in, or add someone who does not use the dashboard.
- Enter their working hours and breaks for each day. Hours are in the store's time zone. A shift that ends after midnight is entered on the day it starts, with the earlier end time (for example Friday 20:00 – 03:00).
- Tick the services they perform.
- Use Time off on their row for holidays, training days or appointments of their own. Existing bookings are never cancelled automatically: you are told how many fall inside the time off, and you move or cancel them from the calendar.
- Under Emails to this person, choose whether they are emailed when a booking with them is made, moved, given to someone else or cancelled (on by default), and whether they get a daily agenda at an hour you pick, in their location's time zone. The agenda is only sent on days they have bookings. Emails go to the email on their staff record, or to the linked team member's email. They contain only what the person needs: the customer's name, the service, the time, places and the customer's own notes, never contact or payment details. Several changes at once (a whole repeat series, for example) arrive as one email.
A person who leaves can be made inactive. Their past bookings stay on the calendar.
Step 3: Create your services
Go to Services and click New service.
| Setting | What it does |
|---|---|
| Duration | How long the appointment lasts. |
| Buffer before / after | Setup and clean-up time kept free around each booking. Buffers may run outside opening hours. |
| Price | The price in your store currency. |
| Taken when booking | Nothing (pay at the appointment), a fixed deposit, a percentage deposit, or the full price. |
| Places per session | 1 for one-to-one appointments; more for a class or group session. |
| Where | In person at one of your locations, or online with a meeting link sent after booking. |
| Minimum notice | How soon before the start a customer may book online. |
| Book up to | How many days ahead customers may book. |
| Free cancellation until | Customers who cancel at least this many hours before get everything back. |
| Refund after the cutoff | Whether what they paid is still refunded when they cancel later. |
| Repeat bookings online | Let customers book a series (every week, every 2 to 4 weeks, or monthly) up to how far ahead the service can be booked. Off by default, and not available when the full price is taken online. |
A service can also be linked to a product: that product's page then shows a Book now button.
Services are archived, never deleted, so bookings keep their history.
What customers see
- On /book they choose a service, then who (a named person or Anyone available), then a day and a time. Only free times are shown, already in your time zone.
- They enter their name, email, phone and any notes. If they are signed in to your store, their details are filled in.
- If the service takes payment, their time is held for a few minutes while they pay through your Stripe account, by card or any other method your Stripe account offers. If they do not finish, the hold ends and the time is free again.
- They get a confirmation page and an email with a calendar file and a private link to manage the booking.
If the service allows repeat bookings, the details step also asks Repeat this booking: just once, every week, every 2, 3 or 4 weeks, or every month on the same date, and how many visits. They also choose what happens if a date is taken: book the dates that are available (they are told which were skipped) or book nothing unless every date is available. Every date is checked exactly like a single booking. Only the first visit's deposit is taken online; each later visit is paid at the visit, and the booking page says so before they confirm. One confirmation email lists every date, with a calendar file containing each one, and each date gets its own reminders.
From that link they can cancel, or pick a new time up to your free-cancellation cutoff, if you allow it. For a repeat booking the page lists every date, and they can cancel just this date or this and all later dates (dates that have already started are left alone). New times are picked one date at a time. Refunds follow the service's rules and are issued automatically to their original payment method. Changes closer to the appointment ask them to contact you.
In the rare case that a payment arrives after the hold ended and someone else has taken the time, nothing is double-booked: the customer is told and refunded in full automatically, and you are notified.
The calendar
Calendar shows a Week view (a column per day) or a Day view (a column per person), in your store's time zone. Filter by person with the staff menu. Striped areas are time off and closures. An appointment that runs past midnight is drawn on both days, and belongs to the day it starts. Repeat bookings show ↻.
Click a booking to see the customer, what they paid, their notes, and the rules they agreed to. From there you can:
- Reschedule to another free time, optionally with someone else. The customer is emailed the new time and an updated calendar file. For a repeat booking, choose This booking only or This and the later ones: every later date moves by the same number of days to the same new time. They all move, or, if one of the new times is taken, none do and you are shown which date is in the way.
- Cancel, with a reason included in the customer's email. For a repeat booking, cancel this date only or this and the later ones; the customer gets one email listing the cancelled dates. Refund per the cancellation policy is ticked by default for people with finance access: the refund the service's rules allow is issued in the same step (with a 2FA code if you use two-factor authentication), and the customer's email says how much is coming back. Untick it to cancel without a refund.
- Refund any amount up to what was paid online.
- Mark completed or No-show once it has started. If an appointment is left unmarked, you are reminded after it ends.
- Add a staff note customers never see.
Use New booking for walk-ins and phone bookings. The same conflict check applies, but the online booking window (minimum notice, days ahead) does not. Nothing is charged for bookings made here; take payment in person, for example at the register.
To book a series, set Repeat to weekly (every 1 to 12 weeks) or monthly on the same date, and end it after a number of visits (up to 52, this one included) or on a last date. If a date is taken, either book nothing, and show me which dates, or book the available dates and skip the rest; you see the skipped dates straight away. Months without the date (the 31st in April) are skipped, and a date whose time does not exist because the clocks go forward is reported rather than moved.
Money
An online deposit or prepayment is recorded as an order with the channel appointments, so it appears in your orders, revenue and reports like any other sale. Refunds, whether automatic or issued by you, go through the same refund process as orders and show on that order, and on the booking, whichever screen you refund from.
Tax is charged on what is taken online using your tax settings, the same way as on products: your tax rules (or Stripe Tax, if you use it), the service's tax class, and whether your prices include tax. The rate is the one for where the service takes place — the service's location, or your business address for online services and services without a location. The customer sees the tax before paying and on their confirmation, and the order records it like any product order.
The rest of the price is paid at the appointment.
For a repeat booking made online, only the first visit's deposit is taken (with its tax); every later visit is paid in full at the visit. The later dates are held while the customer pays and confirmed together once the payment succeeds. If the payment is not completed, they are released with the first date. A refund can only ever apply to the visit that was paid for.
Notifications
In Settings → Notifications you can choose how you hear about:
- A new booking (in the dashboard by default)
- A booking was cancelled (dashboard and email by default)
- A booking was moved
- Mark attendance reminders
- A booking refund needs you — when an automatic refund could not be issued. Refund it from the booking.
If you are bookable staff yourself (your team member is linked to a staff record), two personal emails appear there too: My bookings (a booking with you was made, moved or cancelled) and My daily agenda. They only ever go to you, and you can switch either off for yourself even when your manager has turned them on.
Privacy
Booking details are your customers' personal data. Emails to staff carry only the customer's name, the service, the time and the customer's notes. They are included in your account's data export and in a customer's own download from their account, removed when you erase a customer, and deleted with your account. When appointments are live on your store, your default privacy policy says so automatically.