Booked Help centre
← Back to home

Same-visit add-ons and product upsells

Let customers stack appointments into one trip, and recommend products afterwards.

Booked has two separate ways to add something to a booking, and they behave very differently. Appointment bundles let a customer stack extra appointments onto the same visit, back-to-back. Upsell products recommend items from your WooCommerce shop once the booking has gone through. One books time; the other sells product.

Bundles and upsells at a glance

Read this table before you switch either on — the difference in how the money is handled is the part that catches people out.

Same-visit bundlesProduct upsells
What it addsAnother appointment, booked immediately after the first oneA product from your WooCommerce shop
When the customer sees itDuring booking, as an Add-ons step after they pick a timeAfter booking, as a pop-up on the confirmation screen
NeedsNothing extra — it is built inWooCommerce active on the site
Switched on atSettings Bookings › Appointment bundlesPer service, in the service editor
Paid howNot charged online — only the main service's deposit is takenA second, separate purchase through your WooCommerce checkout
Shows up inBooked — as linked appointmentsWooCommerce only — never in Booked

Switch on same-visit bundles

Bundles are off until you turn them on. There is one global switch, and then a per-form switch that can hide the step on a particular booking form.

  1. Go to Booked › Settings › Booking rulesThe Settings tabs run down the left of the panel. Bookings is the third one.
  2. Turn on Appointment bundlesThe description reads "Let customers add other appointments to a booking — done in the same visit, back-to-back (e.g. add a Typhoid jab to a Yellow Fever appointment). Each is charged at its own price."
  3. Press Save settingsNothing is stored until you do. The button sits at the top right of the Settings screen.
  4. Check the formCustomisation › Booking Form › Convert › Add-ons & upsells holds "Offer same-visit add-on appointments (bundle step)." It is on by default — use it only to make one particular form skip the step.
Booked
Manage
Dashboard
Calendar
Bookings
Customers
Analytics
Business
Customisation
Settings

Settings

Save settings

Configure how Booked works.

Your business
Company details
Region & currency
Taking bookings
Booking rules
Money
Payments
Add-ons
Your plan
Reminders & calendar
Emails & texts
Calendar sync
Advanced
Tracking & pixels
Activity log
Appointment bundles
Let customers add other appointments to a booking — done in the same visit, back-to-back (e.g. add a Typhoid jab to a Yellow Fever appointment). Each is charged at its own price.
Group bookings
Let one person book for several people in a single appointment (e.g. book your own flu jab and your partner’s together). The appointment just runs longer, and each extra person is charged the service price. This is the default for all services — you can override it per service.

Settings › Booking rules, with Appointment bundles switched on.

  • 1Bookings tab — the Settings tabs are a vertical rail. Appointment bundles, Group bookings, Deposits and the booking rules all live on this one tab.
  • 2Appointment bundles — the master switch. With it off, no booking form will ever show the add-on step, whatever the per-form toggle says.

What the customer sees in the add-on step

Once a customer has chosen their service, branch, date and time, an Add-ons step appears with the line "Want to add anything to this visit? We'll book it right after your appointment — one trip." Each option is a card showing the service name, its duration and its own price, with a + Add button that changes to Added.

Before the cards appear, Booked asks the schedule which services genuinely fit straight after the slot the customer picked. While it checks you see "Checking what we can add to your visit…", and only the appointments that really fit are offered. If nothing fits, the step says "Nothing can be added right after this appointment at the time you picked. Just continue."

bramhallpharmacy.co.uk/book
Location
Service
Time
4Add-ons
5Details

Want to add anything to this visit? We’ll book it right after your appointment — one trip.

AddedTyphoid vaccination20 min · £30.00
AddedMalaria tablets consultation15 min · £20.00
+ AddHepatitis A vaccination20 min · £45.00
+ AddBlood pressure check10 min · £15.00
Total£120.00
Continue with 2 added

The Add-ons step on a Yellow Fever appointment at the Bramhall branch.

  • 1Add-ons step — it sits after Time, because Booked can only work out what fits once it knows when the first appointment starts.
  • 2An added appointment — tapping the card switches it between + Add and Added. Each add-on is placed at the end time of the one before it, preferring the same member of staff and otherwise any free one.
  • 3Total — one line, adding the main service to every add-on at its own price. It is a total for the visit, not the amount taken from the card.
  • 4Continue — reads "Continue with 2 added", or "No thanks, continue" if nothing is selected. The step is never compulsory.

On the confirmation screen the extras are listed under Also in this visit, each with its time and price, followed by a combined total. In your Bookings list each add-on is saved as its own appointment at its own price, linked to the first one.

What bundles will not do

Bundles are deliberately simple, and there are a few limits worth knowing before you rely on them.

  • You cannot choose which services pair with which. Any other active service offered at that branch, in any category, is offered as an add-on. There is no per-service list and no way to exclude one — your only levers are the service's Status and which branches it is available at.
  • Video consultations are never offered as add-ons. They are filtered out of the list, so a video appointment can never be stacked onto an in-person visit.
  • Bundles and courses do not combine. If a customer picks add-ons on a service that is set up as a course of repeat visits, those add-ons are silently dropped when the booking is made.
  • Only the first appointment sends a confirmation. The add-ons are created quietly. The customer sees them on the confirmation screen, but the email only names the main appointment — worth mentioning on the phone or in your notification text.
  • Add-ons look like course visits in your Bookings list. They reuse the same machinery internally, so a visit with two extras tags all three rows — "Visit 1/3", "Visit 2/3", "Visit 3/3" — each with the tooltip "Part of a course of visits". It is not a course.
  • Bookings you add by hand ignore bundles. Adding an appointment from the Calendar or Bookings screen gives you one appointment of that service's duration — add the second yourself.
Nothing is charged online for add-ons

Only the main service's deposit is taken at booking. The confirmation screen shows a combined total, but the added appointments are effectively pay-on-the-day — collect the balance in the pharmacy.

One more thing can go wrong at the last moment. If somebody else takes the slot while your customer is filling in their details, the booking is refused with a message such as "“Typhoid” isn't available straight after your appointment. Please remove it or pick another time." Nothing is booked, so they can go back and try again.

Recommend products with WooCommerce

Product upsells are set per service. Open Booked › Business › Services, click the service, and on the General tab look for Upsell products (WooCommerce). The whole section is hidden if WooCommerce is not active on your site — if you cannot find it, that is why.

Yellow Fever vaccination

CancelSave service

Services

General
Availability
Repeat visits
Staff
Locations
Eligibility
Name *
Yellow Fever vaccination
Price
£ 70.00
Upsell products (WooCommerce)

Offered to the customer after they book this service — “for your appointment, try these”. They’re added to your WooCommerce basket at checkout.

Mosquito repellent 50% DEET — £8.99 × Travel first aid kit — £12.50 × Rehydration sachets, 12 pack — £4.25 ×

Three products attached to the Yellow Fever service.

  • 1General tab — upsells live with the name, price and duration, not on a tab of their own. Remember that all six tabs share one form: switching tabs does not save, only Save service does.
  • 2Chosen products — they sit above the search box, each showing its name and price with a × to remove it. You can attach up to 20 products to one service.
  • 3Search products to add… — starts searching your published WooCommerce products once you have typed two characters. Click a result to attach it; one already attached is greyed out.

Only published, purchasable products reach the customer. Anything else is dropped without a warning, so a product sitting in the picker is not a guarantee it will be shown. If an upsell never appears, check the product in WooCommerce first.

The upsell is a separate purchase

When the booking is confirmed, a pop-up opens by itself headed For your appointment, with the line "Customers often add these — pick any you'd like and check out in a couple of taps." Every product is ticked already, so the button reads something like Add 3 & check out. No thanks dismisses it, and Add recommended extras reopens it. You can hide the pop-up on a given form with the toggle "Show the product upsell pop-up after booking." at Customisation › Booking Form › Convert.

Products are bought separately from the appointment

Choosing products sends the customer out of Booked to your WooCommerce basket and straight on to the WooCommerce checkout. That is a second, entirely separate transaction: it does not go through Booked Payments, it is not part of the appointment's deposit, and it appears only in your WooCommerce orders — never in your Booked bookings or Analytics revenue.

So the customer pays twice and may see two confirmations, and when you reconcile takings the appointment money and the shop money come from two places. Refunding a product is a WooCommerce job; refunding an appointment is a Booked job. If the customer abandons that checkout nothing is lost — the appointment is already booked and confirmed.