Skip to main content

Overview

The Product shop (sometimes called a product store) lets your clients buy products directly through your online booking page. Orders placed online are paid online, and you fulfil them from the Sales → Client orders screen - there’s no extra integration to maintain. Your team can also take an order for a client, by phone for example, and the client pays when they collect it: see Phone orders paid at pickup. Two fulfilment modes are supported:
  • Collect in business - the client pays online and pops in during opening hours to pick up.
  • Reserve for next appointment - the client buys the product and reserves it against an upcoming appointment, so it’s ready at the front desk when they arrive.
With Reserve for next appointment on, clients can also add products while they book an appointment - see Products added during booking. Online payments must be set up before clients can buy online - online orders are paid online. You can turn the shop on beforehand, but purchases are refused until payments are ready, so finish that first. See Payments. Phone orders your team takes need neither the shop nor online payments.

Turn the shop on

  1. Open Settings → Product shop.
  2. Toggle Enable product shop on.
  3. Under Fulfilment modes, choose which options you support - leave at least one enabled.
  4. Optionally add Pickup instructions (e.g. “Ask at the front desk on arrival”). These are surfaced on the order confirmation page and in the ready-for-collection notification.
  5. Save.
Once the shop is on and you have at least one product clients can actually buy - marked Available online, in stock if you track inventory, and offered through a fulfilment mode you support - your booking page changes in three ways:
  • A Shop products strip appears on your landing page, showing your product photos with a Shop all button.
  • The hero gains a Shop products button beside Book now.
  • Want products to lead your page? Drag the grip on the Products row above Services in Settings → Online booking → Section order. The strip grows into a full product grid - photos and prices right on your landing page - and Shop products becomes the main hero button, with Book now beside it. Services always stay on the page.
Until a product is buyable, the strip and the Products link stay hidden, so nobody lands on an empty shop. Your Online booking page tells you when that’s why they’re missing.

Make a product available online

Each product opts in individually. From Products:
  1. Edit a product.
  2. In the Online availability section, turn on Available online.
  3. By default the product inherits your business fulfilment settings. To set per-product behaviour, turn on Override per-product defaults and pick which of Collect in business / Reserve for next appointment apply to this product.
  4. Add a product image - clients see this on the shop page and in the product detail sheet.
  5. Save.
Products with Manage inventory disabled always appear in the shop regardless of stock. Products with inventory tracked are hidden when stock hits zero. To see which products are in the shop, set the Online shop filter on Products to On online shop, then use Export CSV for a spreadsheet of that list. To add several at once, set the filter to Hidden from shop, tick the products, and choose Make available online. Importing a product list from a spreadsheet? Include an Available online column and set it to Yes for the products you want in the shop, so you don’t have to open each one afterwards. See Importing Products from a CSV.
Use Product categories to group what shows on the shop - categories with no available products are hidden automatically.

How the client journey works

  1. Client visits your online booking page and clicks Shop products.
  2. They browse by category, open a product, pick a quantity, and add it to the cart.
  3. In the cart they choose How will you collect this? - Collect when you visit or Reserve for my next appointment. Reserve mode also asks them to pick the appointment to attach the order to.
  4. They check out securely online (logging in or signing up if they haven’t already).
  5. On payment success they land on the order confirmation page and receive an Order received email/SMS (configurable in Automated messages).

Promoting one product? Share a link that opens that product, rather than sending clients to your shop to find it.
  1. Open Products from the sidebar.
  2. Find the product and open its ⋯ menu.
  3. Choose Copy product link.
The link opens a page for that product alone: photo, brand, name, price, description, quantity and Add to cart. From there the client checks out exactly as they would from the shop. Because it is a page of its own, pasting it into Instagram, WhatsApp, an SMS or a Google Business post previews the product - its photo, name and price. A link to the whole shop can only ever preview your business banner, which is the difference this makes. Your booking page’s featured products link the same way: a client who taps one lands on that product.

When the option isn’t there

Copy product link only appears when a client could actually open the product, so a link you copy always works. It is hidden when:
  • your product shop is switched off, or online booking is off
  • the product isn’t marked Available online
  • the product is archived
  • you track inventory for it and it is out of stock (it is hidden from the shop too, even though you can still sell it at the till)
  • neither of the fulfilment modes you offer applies to the product
Turn the shop back on, restock, or mark the product available online, and the option comes back.
If you have more than one location, copy the link at the location that stocks the product. Each location has its own booking page, its own shop and its own products, so the link is always for the location you copied it from.

Products added during booking

Clients don’t have to visit the shop separately - when the shop is on and Reserve for next appointment is enabled, they can add products to collect at their appointment while they book. How that looks depends on how many products are available to reserve: with four or more, a Products step appears in the online booking flow between picking a time and confirming; with one to three, there’s no separate step - the same products appear in an Add products list on the Review & book step instead. If the client is signed in and their membership covers a product, the review shows the membership saving on the products before they book, exactly as the shop does; a product the membership covers in full is simply reserved for them with nothing to pay. How those products are paid is up to you. Once Reserve for next appointment is on, Settings → Product shop shows a Products added during booking setting with two options:
  • Full payment when booking - products are paid online in the same booking journey, exactly like a shop purchase. On businesses that take a deposit or save a card at booking, the client makes one combined payment covering both. The paid order lands in Sales → Client orders as a reserve order, and the appointment shows the usual Reserved products card so your team knows to have the items ready at handover.
  • Pay at the appointment (the default) - products ride the appointment unpaid. The client sees “Pay at your appointment”, the appointment shows the lines with a Stock secured chip, and they pre-fill at the till checkout to settle with the rest of the bill.
In both modes, stock for inventory-tracked products comes off the moment the booking is made, so the items can’t sell elsewhere in the meantime. Deposits and cancellation or no-show fees are always calculated on the services only - products on the bill never inflate them. If the appointment is cancelled. Products the client hasn’t paid for are released back to stock and never charged; the cancellation message tells them so. Products they have paid for (Full payment when booking) stay theirs - the order is not cancelled with the appointment, and the message says they’re still there to collect. Because that’s real money either way, cancelling an appointment that carries a paid product order asks you first: keep the order (the client collects) or cancel and refund it. Bulk cancels - including the sweep that runs when you archive a team member, service or bundle - ask the same question once for the whole batch, and report back which appointments were left with an order to chase.
Gift cards behave differently between the two modes. With Full payment when booking, products are charged in full - a gift card applied at booking covers the services side, not the retail. With Pay at the appointment, products settle at the till, where a gift card can cover them like any other part of the bill.
The standalone paid reserve is unchanged - clients can still buy a product through the shop at any time and reserve it against an upcoming appointment.

Member pricing in the shop

If a client is signed in and their membership includes a product - free or at a discount - the shop shows their price on the product card, with the list price struck through, before they order. The discount is locked in when the order is placed, so a plan change between ordering and paying never changes what they were quoted. An order a membership covers in full has nothing to pay, so it completes straight away with no payment step: the client lands on the confirmation and the order appears in Client orders ready to collect. Cancelling or refunding an order returns the stock and the client’s included item, so they can use it again in the same cycle.

Promo codes in the shop

Clients can enter a promo code in the shop cart, under Have a promo code?. The code has to be one you set up in Settings → Discounts with Applies to set to Products or Services and products - a services-only code is told it can’t be used on products. A code limited to Specific products works only on those, and a cart holding none of them is told the code doesn’t apply to its items. There is no separate switch to turn promo codes on for the shop: creating a code that applies to products IS the switch. When a code is applied, the cart shows the whole calculation rather than just a new number: Membership benefits come off first, and the code then applies to what is left - so a percentage code never discounts an item the client’s plan already gave them. A code that takes the total to exactly zero completes with no payment step, like a fully covered membership order. A code that takes it below the minimum card payment your provider accepts (but above zero) is refused, with a message asking the client to add another item. Cancelling an unpaid order, or fully refunding a paid one, gives the code back - including its “max uses” slot - so an abandoned cart never quietly burns a limited offer.
Products added during booking are a separate order. When a client buys products in the booking wizard and pays in the same journey, those products are their own order. A promo code entered in that wizard prices the appointment, and the products group says it isn’t applied to them.

Phone orders paid at pickup

When a client calls (or messages) to order products and wants to pay when they pick them up, take the order in Bella so the stock is held for them.
  1. Open Sales → Client orders and click New order.
  2. Choose the client, or create them.
  3. Add the products and quantities. The list shows how many of each you have in stock.
  4. Click Create order.
Bella sets the stock aside straight away, so it can’t be sold to anyone else, and prices each product at its current price less any membership benefit the client has. That price is kept even if the product’s price or the client’s membership changes before they collect. The order waits in Awaiting pickup, badged Awaiting payment. If you want to tell the client it’s ready, click Mark ready for collection. They get the usual “Order ready to collect” message, which ends with “Pay when you collect.” while the order isn’t paid. The order moves to Ready and still shows Awaiting payment. When the client comes in, open the order and click Take payment. The till opens with the client and the products already on it (marked Stock secured, because the order already holds them), so all you choose is the Team member the sale is credited to and how they pay: cash, card, a saved card, a gift card, or split across several. Paying records a normal sale (with its receipt and loyalty points, as for any sale at the till). Client is collecting now is on by default, so the order is marked Picked up with the payment. If the client is paying ahead and collecting later, turn it off: the order stays in its queue as paid, and you mark it picked up when they come in. Changed their mind? Cancel order puts the stock back. Nothing was paid, so nothing is refunded and no message is sent.
A phone order holds products only. Sell a package, a gift card or anything else on a sale as usual. A phone order that hasn’t been paid, including one cancelled before payment, is never shown to the client on My orders on your booking page. Once it’s paid, and while your shop is on, it shows there with its status: Awaiting pickup or Ready for collection while the client has paid ahead, and Picked up once they’ve collected.
Seeing Client orders needs the Products → View permission. Taking an order and taking its payment also need Sales → Create, marking an order ready needs Products → Fulfil client orders, and cancelling it needs Products → Manage.

Fulfil orders in the dashboard

Open Sales → Client orders to manage the fulfilment queue. It’s there whether or not your online shop is on. The page is split into four tabs:
  • Awaiting pickup - new paid orders, phone orders badged Awaiting payment, and the rare order badged Confirming payment (see below).
  • Ready - orders you’ve marked ready for collection.
  • Picked up - collected, archive view.
  • Cancelled / refunded - cancelled orders (full refunds go here too).
Search and filters choose which rows are listed. They do not change the order. To change the order, click a column heading that sorts. Unless the page says otherwise, the first click sorts text A to Z, and numbers and dates highest or newest first. Click the same heading again, or the heading the list already opens on, to reverse it. The arrow beside the heading shows the direction: up is A to Z, oldest first or lowest first, and down is Z to A, newest first or highest first. A heading that sorts by name ignores capital letters: “anna” and “Anna” sort together. Each tab opens on Ordered, arrow down (newest first). Order #, Status, and Total sort as well. Status sorts by stage rather than A to Z: orders still confirming payment come first, then awaiting pickup, ready, picked up, cancelled and refunded. Client, Items, and Fulfilment do not. The tabs are the filter.
“Confirming payment” orders. Very occasionally a client’s card is charged but the payment doesn’t finish recording. Those orders appear in Awaiting pickup badged Confirming payment rather than “Pending payment”, because the money has been taken. Don’t ask the client to pay again and don’t hand the goods over yet - the order’s actions stay unavailable until the payment finishes recording, which usually resolves on its own. If one sits there, contact support to reconcile it.
Click an order to open the detail page. From there you can: None of these actions are available on an order badged Confirming payment: its payment hasn’t finished recording, so it can’t be handed over or refunded until it has.

Notifications you can customise

Three notification types power the order flow. Edit them in Settings → Automated messages → Product shop:
  • Order received (client) - sent when an online order’s payment succeeds. A phone order paid at the till gets the sale receipt instead. Variables include {{OrderNumber}}, {{LineItems}}, {{TotalPrice}}, {{FulfilmentMode}}, {{PickupInstructions}}.
  • Order ready for collection (client) - sent when you click Mark ready for collection, on online and phone orders alike, so you can edit it while your shop is off. Variables: {{OrderNumber}}, {{LineItems}}, {{PickupInstructions}}. On a phone order that isn’t paid yet, Bella adds “Pay when you collect.” after your wording, in the email and the text.
  • New product order (business) - sent to the business and assigned team members when a paid online order comes in, so the team knows to prep it.
All three respect the recipient’s contact preferences and your SMS quota.

Auto-send a form when a product is purchased

If a product needs intake details - a written plan prepared from a questionnaire, a programme that starts with an assessment - link a form to it and every paid online order sends it automatically:
  1. Open Forms and edit (or create) the form.
  2. In Settings -> Product linking, click Select and tick the products (several at once, or tick a category or brand heading to take the whole group).
  3. Make sure Auto-send is on and the form is Active.
When a client’s online order is paid, they receive the form link by email/SMS (the same notification used for appointment forms), and the order confirmation page shows a Start form button. The Once per client frequency is honoured - a client who has already completed the form, or already has it waiting, isn’t asked again. See Forms for the full auto-send rules.

Where shop revenue shows up in reports

Online product orders create Sales records the same way in-person sales do, so all the standard sales reports include them automatically. A paid order also appears on the client’s Products tab, labelled Product Shop or Phone order. A phone order’s sale is recorded when you take payment, like any sale at the till, and is credited to the team member chosen there.
  • Reserve-for-appointment orders are credited to the team member servicing the appointment.
  • Collect-in-business orders appear in a House / Online row on the Team member sales and Service & product sales reports - explicit “no team member attribution” rather than a misleading default.
  • The Sales summary always shows blended totals regardless of channel.

Common questions

Why isn’t my Shop card showing on my booking page? Because there’s nothing in it yet. The shop needs at least one product that is Available online, in stock if you track inventory, and offered through a fulfilment mode you support - with none, the card and the Products link stay hidden rather than sending clients to an empty page. Check the Online booking page: it names this as the reason when it applies. Can I disable the shop temporarily? Yes - toggle off Enable product shop in Settings. The promo card disappears and the shop URL returns clients to the landing page. What happens if the client doesn’t finish paying? The order’s stock comes off your inventory the moment the order is created, so two pending checkouts can’t oversell the last unit - and it’s released again automatically within a few hours when the checkout is abandoned. The unfinished order is cancelled at the same time; nothing reaches your fulfilment queue and no notifications are sent. Can clients return products? Use the cancel flow up until the order is picked up - that refunds anything paid and restocks automatically. After collection, process a refund from the linked Sale record. Can a client order now and pay when they collect? Yes, when your team takes the order: see Phone orders paid at pickup. Orders placed on the online shop are always paid online. Can I change an order’s fulfilment mode, or sell something online with nothing to collect? An order keeps the fulfilment mode it was bought with, and there’s no online or digital mode. For an online service or anything else with nothing to collect, use Collect in business and explain what happens next in your Pickup instructions. Reword the Order received and New product order messages under Settings → Automated messages → Product shop so they don’t mention collecting, then close each order with Mark picked up, which sends the client nothing.