Help centre

Managing customers

Last updated Sat Aug 01 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

The Customers area holds a profile for every diver and enquiry: contact details, dive profile and certification, medical status, booking history and purchase history.

When you'd use this

  • Looking someone up before they arrive.
  • Adding a new contact.
  • Checking what someone has bought or booked.

Finding customers

  1. Open Customers from the sidebar.
  2. The page has three tabs at the top:
    • Customers — anyone who has signed up through your registration link (Registered) or made a real booking (confirmed or already dived). These are your warm leads and paying customers.
    • Contacts — people who reached out (usually on WhatsApp) but have never registered or booked. They're kept here, out of the way, so the Customers list stays clean. Anyone who registers or books moves across automatically.
    • Duplicate review — finds and merges the same person entered twice (see below). The number beside it is how many possible duplicate groups were found.
  3. On the Customers tab, filter pills let you narrow the list: All, Registered (signed up through your registration link but not yet booked), Booked (booked but not yet dived), Dived (has been out with you), Inactive (a past customer who has lapsed), and Not fully paid (still owes money on a booking).
  4. Columns include Name, Phone, Country, Status, Certification, Source, Last Contact and a profile-completeness bar. You can also filter by certification, search by name/email/phone, or show Archived.

Reviewing and merging duplicates

Sometimes the same person ends up in your list twice — for example they message on WhatsApp and later book online without their phone number matching. The Duplicate review tab helps you tidy these up safely.

You'll only see this tab if your role can edit customers (the same permission needed to add or archive a customer — usually owner, manager, reception). Staff who can only view customers won't see it.

  1. Open the Duplicate review tab. It automatically looks for the same person entered more than once (same name + birthday, or the same email + birthday). People in the same family sharing one email — and a parent and child with the same name but different birthdays — are not flagged.
  2. Each group shows the records side by side with their email, phone, number of bookings and payments, so you can see which is which.
  3. Pick which record to keep (it defaults to the one with the most bookings), then press Merge into kept. All the other record's bookings, payments, medical forms and details move onto the one you kept, and blank fields are filled in from the other. Nothing is ever lost — a certification, a medical form, a dive count or notes on either record are always carried over, and the duplicate is archived, never deleted.
  4. You have 10 seconds to Undo if you merged the wrong ones — that brings the other record straight back exactly as it was.

If the two records are both on the same trip sheet (the same boat on the same day), the merge will stop and ask you to remove one of them from that trip first — otherwise the same person would be on the boat twice. Remove one placement, then merge.

If you come back to undo a merge much later and the kept record has been edited since, it will tell you it can't be cleanly undone and change nothing (so your later edits are never wiped) — sort it out by hand instead.

New bookings and registrations now also try to reuse an existing person automatically, so fewer duplicates are created in the first place.

Finding customers who already have an SSI record

If your centre is connected to SSI, the Agency sync tab shows the customers most likely to already have an SSI membership you haven't linked yet — so you don't have to guess who to look up.

You'll only see this tab if your centre is connected to SSI and your role can edit customers.

You can also check a single customer from the SSI panel under their contact card (on their profile and on any booking they're part of). It shows Check SSI and, where relevant, Create SSI Profile. Everyone who can open a customer sees these, but only staff who can edit customers can press them — view-only staff see them greyed out.

Once a customer is linked to SSI, that panel instead shows their SSI membership number with a View SSI profile button that opens their certifications, so you can see a diver's qualifications while looking at a booking. If you linked the wrong person, staff who can edit customers can press Unlink profile to remove the link and the SSI-synced certificate cards from DiveOps. This only affects DiveOps — the diver's SSI account itself is untouched (SSI has no delete) — and you can re-link any time with Check SSI.

  1. Open the Agency sync tab. The list is built from your own records, best first — nothing is sent to SSI just by opening it. Anyone you certified yourselves comes top: they almost certainly have an SSI record, because you issued it.
  2. Each person shows why they're on the list, for example Recorded as SSI certified or Certified, no certificate number on file, along with their birthday and how many times they've booked.
  3. Press Check SSI on someone. This is the only point anything is sent to SSI.
  4. If a match comes back you'll see their certification card, membership number and course history. Press Yes — link this profile to save their membership and certificates onto their profile, or No — not this person if it's someone else.

Checking a group in one go

If you have customers you certified yourselves, a button at the top offers to check them all — for example Check 40. It works through them one at a time, shows progress as it goes, and you can press Stop at any point. Any matches it finds are flagged SSI match found — confirm it for you to approve; it never links anyone on its own. If it reaches the daily limit it stops cleanly and tells you, and you can carry on the next day.

If nobody is found

SSI can only find a diver from an exact first name, last name, date of birth and email address. A different spelling, a shortened first name or a maiden name won't be found.

If the screen says SSI didn't give an answer, that is not the same as "no record" — it usually means the customer has no email address on file. Add one and check again. Anyone checked without a match moves to Checked, no match at the bottom of the tab — correct their details on their profile and press Check again to put them back on the list.

Why some customers don't appear

A customer can only be checked if you hold all four of first name, last name, date of birth and email address. In practice this means a good part of your list — especially people who only ever messaged you — can't be checked until someone adds the missing detail. The tab tells you how many that is, and which detail is missing for most of them.

The daily limit

There's a limit on how many SSI checks a centre can run per day, shown in the top right of the tab. It's set high enough that normal use won't reach it; it exists so a long session of checking can't overload SSI. If you do reach it, the allowance resets the next day.

Creating an SSI profile for a customer

If your centre is connected to SSI and a customer has no SSI membership linked yet, a Create SSI Profile button appears next to Check SSI in the SSI panel under their contact card. SSI needs a first name, last name, date of birth and email address to create an account — if any of those are blank the button is greyed out and tells you which one to add (for example "Add an email address to create an SSI profile"). Use it for a customer who needs an SSI account — for example someone you're about to certify who has never dived with SSI before.

When you press it, DiveOps checks SSI first, then does the safe thing automatically:

  • if they already have an SSI account, it links it to your centre;
  • if they're an SSI member but not registered with your centre, it registers them;
  • if they're new to SSI, it creates an account for them.

SSI accounts can't be deleted or undone, so a confirmation step explains what will happen before anything is created. Only create a profile for a real customer who needs one. Like Check SSI, everyone can see the button but only staff who can edit customers can press it.

If the button says creating profiles isn't switched on for your centre yet, that's expected — this is being rolled out gradually and will be enabled for your centre in due course. If SSI says the email address is already used by someone else, check the address is right, or use Check SSI to find the existing person instead.

Enrolling a course booking in SSI

When a customer books a course, you can enrol them in the matching SSI course from either the booking page or the customer's profile — look for the Course enrolment panel under the contact card. On a booking it shows that booking's course. On a customer's profile it lists every course they hold, one row each, with the course date beside the name, so you can enrol a student without hunting for the right booking first.

If it's the first time you've enrolled anyone in that course, you pick the matching SSI course once (from a search box) and it's remembered after. The diver must be linked to SSI first (do that from the SSI panel above it). Before you enrol, if you picked the wrong course you can press Undo mapping (the back arrow) or Change course to fix it.

If the same customer books the same course twice, it still shows as one row — SSI enrols a diver on a course once, not once per booking. Cancelled and no-show bookings don't appear.

Because SSI enrolments can't be undone, it's worth checking what the diver is already doing at SSI first. Press Check SSI courses to see their current SSI courses (each shown as In progress or Certified). If they're already enrolled in — or already certified for — this course, DiveOps tells you and switches off the Enrol button, so you can't create a duplicate. Once a diver is actually enrolled, changing or cancelling that enrolment isn't available in DiveOps yet — for now, use your SSI dashboard for that.

Adding a customer

  1. Press + Add Contact.
  2. Fill in the Identity, Dive Profile, Medical, Emergency Contact and Status & Tracking cards.
  3. Press Create Contact.

Four details are required on every new customer: First name, Last name, Email and Date of birth. They're marked with a red asterisk (*). If any are missing, Create Contact won't go through and a line at the bottom of the screen tells you which ones still need filling in.

The same four are required wherever a new customer is created by hand — the Add Contact screen, a walk-in at the till, an equipment servicing check-in, your public booking page and the self sign-up page.

Two things are deliberately not covered by this rule. Customers created automatically — someone messaging your WhatsApp bot for the first time, for instance — arrive with only a phone number, and you complete their details later. And customers already on your system from before this rule can still be edited and saved as normal, even if some of the four are blank, so you're never locked out of your own records.

Passport number sits in the Identity card, next to Nationality. It is optional when you or your team fill in a profile by hand — add it if you need it for liveaboard manifests, immigration paperwork, visa runs or insurance, and leave it blank if you don't. It is never shown to your WhatsApp bot, and it doesn't count towards the profile-completeness score, so leaving it empty won't mark a customer as incomplete.

Anyone booking through your public booking page, or signing themselves up through your customer sign-up page (the QR code), must enter a passport number, so those profiles arrive with it already filled in. A short line next to the field explains to the customer that it's for confirming their dive insurance covers them. If a customer signs up again later, their saved passport is kept — a repeat sign-up only fills in blanks, it never overwrites what you already hold.

Source (how the customer found you) offers the built-ins — WhatsApp, Email, Walk-in, Website, Self sign-up — or pick Other (type your own)… to add your own, e.g. Referral, Instagram or a hotel name.

On a customer's profile

  • Booking History — their bookings, with a + New booking shortcut.
  • Shop Purchase History — counter sales. Refunds show a red "REFUND" badge with a negative total; discounts show a "Discount: −{amount}" line; tax-inclusive totals are marked "(incl. VAT)".
  • Dive activity — a dated log of every dive they've actually done (boat or pool, dive sites, number of dives), pulled from your published trip sheets. Each line links to the booking it was part of. It fills in as you publish the trip sheets for the days they dived.
  • Age — their age today, from the date of birth on their record. If they're under 18 it shows as a violet U18 · 15 badge instead of plain text, and that badge then follows them onto every booking, the Dive Groups board and the trip sheet.
  • Medical — whether their declaration is completed (see booking-medical.md).
  • Notes — a running activity log. Type in the box and press Add note; each note is stamped with who added it and when, newest first. Use the trash icon to delete a note (you'll be asked to confirm).

The card beside these sections — photo, contact buttons, certification, medical, balance, the Profile complete bar and the SSI panels — is the same card you see on a booking, showing the same facts either way. On a booking, clicking the Profile complete bar jumps you to this profile's completeness list so you can fill in what's missing while the diver is still at the desk.

Archiving vs deleting

  • Use Archive customer to hide a contact without losing history. Delete is blocked for anyone with bookings — the page says "Cannot delete — this customer has booking records. Archive instead."
  • An archived record shows an "Archived" status pill (on the Archived list and its profile) so it can't be mistaken for a live enquiry. Its original status (enquiry, registered, booked or active) is remembered underneath and comes straight back if you un-archive it.
  • A record that was tidied away by a merge is archived automatically and carries a "Merged into [name]" label — on the Archived list and at the top of its profile — so you can tell at a glance it isn't a live enquiry. Click the label to jump to the customer it was merged into.

Related

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