Help centre

Building your Dive Menu

Last updated Wed Sep 02 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

The Dive Menu is everything a customer can book or buy: courses, course bundles, activities and dated trips. It feeds your booking page and gives your bot the prices and details to quote.

When you'd use this

  • Adding a new course, activity or bundle.
  • Updating a price or how something is booked online.

Adding a service

  1. Open Dive Menu from the sidebar and press to add a service.
  2. Pick the Type and set the Category (see below), then name, description, price and duration.
  3. Choose how the price is chargedPer person or Flat fee (see below).
  4. Fill in Bot Tips (customer notes) with any routing or selling guidance for the bot.
  5. Save.

Per person or flat fee

Under the price you choose how it is charged:

  • Per person — the price is multiplied by the number of guests. A £1,000 course booked by 3 people comes to £3,000. This is the default and suits most courses and dives.
  • Flat fee — one price for the whole booking, no matter how many guests. A £9,000 private boat charter stays £9,000 whether 1 or 10 people come. On the booking page it shows as "whole booking", and the guest count is still asked (so you know how many are coming).

When you choose Flat fee a Price per person box appears underneath. Use it when a private booking is "a fixed fee for the boat plus an amount for each guest" — for example a boat at a flat £8,000 plus £500 for every person aboard. The per-person amount is added automatically for each guest in the party, so a party of 2 comes to £8,000 + £500 × 2 = £9,000. Leave it blank if your flat fee covers everyone. Because it follows the guest count, you never have to add a separate "extra person" option and it can never be missed.

Add-ons

Under the price you can add optional extras a customer can choose when booking this product — for example a gear upgrade or an added dive that only some guests take. (To charge for extra people on a flat-fee booking, use Price per person above rather than an add-on — that way it follows the guest count automatically. For something the customer must pick, use a Choice group below.)

  • Give each add-on a name and a price (0 for a free extra).
  • Set whether it is charged per person or as a one-off.

On the booking page the add-ons pop out inside the product when the customer selects it, each with a − / + quantity picker, and the running total shows in the bar at the bottom of the screen. The guest count on the next page pre-fills from the quantities they chose. When the booking comes through, you see an Order breakdown on the booking showing the product plus every add-on and the final total.

Choice groups (customer must pick one)

Sometimes you don't want an optional extra — you want the customer to choose one option and they can't book without choosing. That's a choice group, in its own card under Add-ons. Two common cases:

  • A question with set answers — for example "What food would you like?" with the answers Meat, Vegetarian, Vegan.
  • Which departure — for example a trip that runs a morning boat or an afternoon boat, and the customer must pick one.

To set one up:

  1. Press Add a choice group and give it a question (this is what the customer sees, e.g. "Which boat?").
  2. Add the options underneath. You need at least two. Each option has a name and a price — leave the price at 0 for a free choice like a meal preference.
  3. Choose whether each option is charged per person or as a one-off, the same as add-ons.
  4. Save.

On the booking page a choice group shows as a set of buttons where the customer picks exactly one, and they can't move on until they have. The chosen option appears on the Order breakdown with its question, so you can see at a glance what each customer picked (e.g. "Which boat?: PM boat"). A free choice still shows, priced at 0.

Add-on or choice group? Use an add-on when the extra is optional or applies to only some guests (they pick a quantity). Use a choice group when the customer must pick one option from a set.

Choosing a type

The Type picker is how the service works. There are four standard choices, each explained on the form (hover the ⓘ for more):

  • Course — a single certification course (e.g. Open Water). One instructor signs the student off.
  • Course bundle — two or more courses sold together at one price (e.g. Open Water + Advanced). When the customer arrives, the desk splits it into its separate courses so each can be taught and signed off on its own. A bundle can include activities too.
  • Activity — a dive or session that isn't a course: fun dives, snorkelling, a night dive, a refresher. Pay follows whoever guided it.
  • Activity bundle — a multi-session pack (e.g. a 10-dive package). It's saved as an Activity with a session count; the system counts the sessions down as they're used. It never splits into separate bookings.

Plus Dated trip (Organised Trip) for a one-off trip on a fixed date (see below). These choices cover everything a centre sells — there is no free-typed "custom type" option; if a service doesn't fit, it's an Activity.

Sessions included is required for every service — it's how many sessions the service includes: dives for fun dives and dive courses, classroom or pool days for a theory course (a first-aid course = 1; a plain single fun dive = 1). The system counts a customer's pack down as their dives are recorded on trip sheets, and course progress bars use it as their total.

Certifies the diver as (courses)

On a Course or Course bundle you'll see a Certifies the diver as dropdown. It tells the system what certification the course awards. When an instructor signs the student off, the diver's certification level is raised to this automatically, so the next morning's roster and trip sheet already show the new level — no need to edit the customer's record by hand.

  • Set it to the level the course awards (Open Water, Advanced, Rescue, and so on). If the name is a familiar one, the form suggests a level for you — just click Use it.
  • Leave it on Does not change their level for a course that doesn't change the diver's headline level: a specialty (Nitrox, Deep, Wreck), a professional internship, or a refresher.

It only ever raises a level, never lowers it — a Rescue diver taking an Open Water refresher stays Rescue. If a sign-off is undone, the level goes back to what it was (unless someone edited it in the meantime).

Pro / extended programme is a tick box under the type, available for any type. Tick it for a long professional programme that runs over weeks or months — divemaster training, an instructor internship, an IDC. Its bookings then show on the Pro tab in Dive Groups instead of the day-to-day Courses and Activities boards. It only changes where the booking shows — it never changes pay or how the service is booked.

Categories

Category is how services are grouped on your booking page and menu — it doesn't change behaviour. Pick a preset (Beginner, Advanced, Specialty, Package, Fun Dive, Kids, Conservation, Tech, Pro) or choose Add new category… for your own. Presets are always available even before you've used them.

Organised trips

An Organised Trip is a one-off dated event (a day trip, a liveaboard departure, a social dive). Pick Organised Trip as the Type and an Organised trip card appears:

  • Trip date — the fixed date the trip runs. On your public booking page the customer can't pick a different day; the date is locked to this and the trip disappears from the page once the date has passed.
  • Feature this trip — highlights the trip and flags it to your bot as a current offer.

Capacity is the Max Participants you set under Details — this is a real, enforced limit on this one trip: once it's full, customers see "Fully booked" and can't book, independent of your day-by-day booking calendar. Organised trips don't use the availability calendar (that's why the Online booking card is hidden for them) — each booking comes in for you to review.

Course dates

If a course or organised trip runs across more than one date — an orientation evening, pool sessions, open water dives, each possibly at a different venue — add them under the Course dates card:

  1. Press Add a date for each session.
  2. Set its Date, Start time, End time and Venue (e.g. "Our dive centre", "BCP Dolphin Leisure Centre", "Vobster Quay"). Each date can have its own time and venue.
  3. Save.

Customers see the full list of dates on your booking page before they book, and again in their confirmation email — so they know exactly what they're committing to. Every date is editable at any time; change one and it updates everywhere it's shown.

Once a course has dates, Max Participants (under Details) becomes a real cap on this intake — customers see "X places left" and can't book once it's full. This is separate from your day-by-day booking calendar spaces.

This is for courses that run to a fixed, published timetable. If you're happy to adjust a customer's individual schedule before they book, handle that as a conversation and book them onto the standard dates — per-customer date changes aren't supported online yet.

Course dates override the Meeting time field below. A single meeting time can't describe a course with different times per session, so once you've added dates, the confirmation email drops the Meeting time line and shows your course dates instead. You can still fill in Meeting time for the WhatsApp bot's use — the override only applies to the email.

Booking questions (medical and dive details)

Each service has a Booking questions card with two switches that control what customers are asked when they book this service online. Both are on by default.

  • Medical questionnaire — when on, the customer completes the standard diver medical questionnaire before finishing the booking. Turn it off for a non-diving activity (for example snorkelling, climbing or boat handling) so those customers aren't asked medical questions that don't apply.
  • Dive details — when on, the customer is asked for their certification level, certifying agency and last dive date. Turn it off for non-diving activities.

Leave both on for anything in the water that involves diving. Turn them off per service for non-diving activities, and those questions simply don't appear on the booking page for that service.

Meeting time

Each service has an optional Meeting time field (in the Additional Info card, under Schedule). It's free text, so you can write a time ("08:30") or a time and place ("08:00 at the shop").

  • When set, the meeting time appears as a line in the customer's booking confirmation email.
  • When left blank, the email instead says the meeting time is subject to change and asks the customer to contact you (using your centre email) to confirm.
  • Your WhatsApp bot uses it too: if a customer asks what time to meet, the bot gives that service's meeting time, asks which course or dive when it's unsure, and points them to your email to confirm when it's blank.

Use it when a service has a reliable start time; leave it blank when the time moves with weather, tides or group size.

Online booking settings

On each service there's an Online booking card:

  • Calendar booking toggle — controls whether this service uses the live availability calendar.
  • Course length (days) — leave blank or 1 for a single-day activity; set 2+ for a multi-day course. The customer picks a start day and their seat is held across the whole span. (Only shown when Calendar booking is on.)

See booking-page.md for how these three behaviours appear to customers.

Payment (per-service)

At the bottom of each service there's a Payment card that decides how customers pay for this product online. It has four choices:

  • Use my booking-page default — no override. This product follows whatever you've set centre-wide in Settings → Booking Page. Leave it here unless you want this product to behave differently.
  • Full payment — customers pay the full price online when they book this product.
  • Deposit — customers pay a percentage online (you type the percentage, 1–100); you collect the balance when they arrive.
  • Pay at the centre — no online charge for this product; the page shows the price and customers pay on arrival.

Anything other than "Use my booking-page default" overrides your centre-wide setting for this one product. So you can, for example, take full payment on a cheap fun dive, a 20% deposit on an expensive course, and pay-at-the-centre on a package — all at the same time.

The balance and receipts work exactly as they do for a centre-wide deposit: the amount collected online is recorded against the booking, the rest shows as outstanding, and commission is worked out from the full price as usual.

Active, Inactive, Archived and Delete

The Dive Menu has two tabs: Active (your working menu) and Archived (services you've retired). There are three ways to take a service off your menu, for three different situations:

  • Inactive — the on/off switch on each row (and the Status toggle inside a service). Turn it off to hide the service from customers, your booking page and the bot, while keeping it in your Active tab so you can switch it back on later. Best for something you pause seasonally.
  • Archive — the Archive service button at the bottom of a service's edit page. This removes it from your menu and every booking screen, and moves it to the Archived tab. It stays on any past bookings and receipts, so your records still make sense. Use this for a service you no longer offer. You can Restore it any time from the Archived tab (it comes back switched off, so you decide when to reactivate it).
  • Delete — the Delete Service button in the red Danger Zone. This permanently removes a service. It only works for a service that has never been booked or paid against — anything with history can't be deleted (to protect your bookings and accounts), and the app will point you to Archive instead.

In short: pause it → Inactive · retire it → Archive · remove a mistake with no history → Delete.

Show on booking page

Inside a service, under Status, there's a Show on booking page switch. It's on by default, so every service you add is bookable online as normal.

Turn it off when you offer a service but don't want customers booking it themselves online — for example a business-to-business charter you arrange directly, or anything you only sell offline. When it's off:

  • The service disappears from your public booking page and can't be booked online.
  • It stays fully active — it still shows on your trip sheet and can be assigned to dive staff as normal, and it still counts everywhere in your records.

This is the difference between the two switches: Inactive hides a service from everyone, including your staff screens; Show on booking page → off hides it from customers only, while keeping it available for your team to run.

Tips

  • duration is free text for display ("2.5 days", "4–6 weeks"); it does not drive the calendar — the Course length (days) number does.
  • Use Bot Tips to tell the bot who to route a specialised enquiry to.

Related

Can't find what you need? Get in touch.