Skip to main content

Selling

Appointments: Sell Services by the Hour

Let customers book services from your storefront: staff calendars, opening hours, deposits taken through your own Stripe account, automatic reminders, 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.
  • 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.

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.

  1. Pick your store time zone. If you have locations in other zones, set each location's zone underneath.
  2. 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.
  3. Add closures for holidays and days the whole store is shut. Nobody can book on those days.
  4. 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.
  5. Choose your reminders: for example 24 hours and 2 hours before.
  6. 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.
  • 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.

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.

SettingWhat it does
DurationHow long the appointment lasts.
Buffer before / afterSetup and clean-up time kept free around each booking. Buffers may run outside opening hours.
PriceThe price in your store currency.
Taken when bookingNothing (pay at the appointment), a fixed deposit, a percentage deposit, or the full price.
Places per session1 for one-to-one appointments; more for a class or group session.
WhereIn person at one of your locations, or online with a meeting link sent after booking.
Minimum noticeHow soon before the start a customer may book online.
Book up toHow many days ahead customers may book.
Free cancellation untilCustomers who cancel at least this many hours before get everything back.
Refund after the cutoffWhether what they paid is still refunded when they cancel later.

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

  1. 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.
  2. They enter their name, email, phone and any notes. If they are signed in to your store, their details are filled in.
  3. 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.
  4. They get a confirmation page and an email with a calendar file and a private link to manage the booking.

From that link they can cancel, or pick a new time up to your free-cancellation cutoff, if you allow it. 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.

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.
  • Cancel, with a reason included in the customer's email. 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.

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.

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.

Privacy

Booking details are your customers' personal data. 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.