What we've shipped
Every DivePilot release, in plain English. New features, redesigns and fixes for your dive center, boat trips, courses and staff, written the way we'd explain them to you directly.
v1.16.0
Latest- Online payments: connect your own Stripe account under Settings, Online payments, in four guided steps. The tab asks whether you already use Stripe, so you sign in with your existing Stripe login, lists what to have at hand and sends Stripe your business details from Business & tax and Branding. Once connected, one status card shows whether guests can pay and what Stripe still asks for and by when, and the dashboard reminds you of a setup you have not finished. Guests then pay online by card, Apple Pay, Google Pay and the methods you switch on in Stripe. The money goes straight to your account and DivePilot never holds it. Online payments explains it.
- DivePilot's fee on online payments: 1 % of each payment, 0.75 % with a yearly subscription, at most 5 USD or the equivalent in your currency from weekly exchange rates, and nothing on payments taken during the free trial, also after you subscribe before it ends. In Brazil, Mexico, Malaysia and Thailand Stripe cannot take the fee from each payment, so DivePilot adds it up and bills it once a month in USD on a separate invoice next to your subscription, charged to the same card, with no invoice below USD 1.00, and an unpaid fee invoice never locks your account. The Online payments tab shows the fee before you connect, the bill shows it under each payment with what refunds and lost disputes gave back, and the Subscription tab shows the month so far and the fee invoices, with a Pay now notice and a dashboard chip for an unpaid one. Stripe's own card fees are separate, guests never pay a surcharge, and a refund to the card or a lost dispute lowers DivePilot's fee in proportion, whether Stripe takes it from each payment or it is billed monthly.
- Payment links and My bill: send a guest a personal link by email, as a link to copy or as a QR code, also from a booking's deposit row. It always opens the bill their charges land on, with what they booked, what they paid, what an earlier bill still owes and their documents, and they pay the balance or another amount. Each payment row says what it is, and a bank payment still on its way shows as such and is never asked for twice. Payments land on the bill by themselves, with a receipt where you make receipts automatically and a payment received email, and count in the cash-up under Online, outside the drawer, as do refunds to the card. Booking confirmations can carry the My bill link also while online payments are off, so guests can see their bill.
- Refunds to the card from the bill, shown as Refund pending until Stripe confirms, and refunds made in the Stripe Dashboard on the bill too. When a Dashboard refund leaves a closed bill owing, DivePilot tells you, and the amount stays off the guest's My bill until you ask the guest to pay it. A disputed payment is marked with its amount and its answer deadline in your time zone, the dashboard counts the disputes to answer and opens the bills list filtered to them, and a lost dispute reverses the payment on the guest's bill.
- Deposits for online bookings: a percentage, a fixed amount or the full price for fun dives and courses, with a deposit of its own per course. The payment form opens right after the guest books, or they pay later from My bill, the person who books paying for everyone, and a paid deposit confirms the booking when the trip has room. An unpaid one gets a reminder halfway and releases the seat at the end of the hold time, two hours before the start at the latest. DivePilot asks Stripe first, so a deposit that was paid is posted, never cancelled.
- Cancellation policy: fees by how many hours before the dive a guest cancels, started from a common policy and shown as a timeline, shown to guests in their language before they book, in the confirmation and on their bill. Where there are fees, the booking page says above Reserve that reserving accepts the policy. The cancel dialog asks whether the guest or the dive center cancelled (while a fee would apply, only staff who may waive the fee can pick the dive center), shows the fee and how much of it the guest's payments cover, and refunds the rest of the deposit to the card or keeps it as credit; the guest's email says who cancelled, the fee and the refund or credit. Course withdrawals use the same policy, and for a course booking not yet enrolled the dive center chooses between a fee on the course price and no fee until enrolled.
- Bookings show Deposit due and Deposit paid, needs confirmation, with a filter, a dashboard count and a Waive deposit action. Seating a guest whose deposit is unpaid asks first, as it ends the deadline and the amount stays owing on the bill.
- In France, Portugal, Italy, Spain, Greece, Croatia and Malta, connecting Stripe asks you to confirm your country's fiscal note first. Online payments get the same receipts and invoices as payments at the desk, and refunds and disputes never change a document.
- Six new permissions: seeing and connecting online payments, sending payment links, deposit settings, the cancellation policy and waiving deposits. Owners and the built-in Admin preset get them all, Manager all but connecting Stripe, and Staff sending payment links; apply a preset again to give them to your team.
- Notifications for online payments name the guest and the bill. New ones tell you about a late or overpaying payment, a payment Stripe reports for another amount than DivePilot asked, a bank payment that failed (the guest gets an email too), a Stripe Dashboard refund that leaves a bill owing, and Stripe closing your account or DivePilot being removed from it; connecting again then opens a new Stripe account.
- Setup guide: a new Invoices and payments step for your company details, payment methods and first prices, and Ready for invoices on the dashboard checklist lists what is still missing. A step you do not need can be set to Not needed, any other to Later, and a refusal for missing business details opens the field it needs.
- Updated terms of service, with a section on online payments and DivePilot's fee, and an updated privacy policy. Someone who manages the subscription is asked once to accept the new terms for the dive center; everyone else keeps working.
- A guest's data export now also holds their bookings, deposits, cancellations, bills, payments, refunds, disputes and documents, for staff who may see bills and payments. A party lead's export keeps to their own data.
- Smaller changes: staff behind one internet connection no longer share one request limit, sign-up starts on your device's time zone when it is one of your country's, bill lines leave out the season while you have a single one, and a menu with only one action shows it as a button on a phone.
v1.15.1
- Sign-up: signing up again with an email that was never confirmed now takes you straight to the code entry and sends a new code, instead of saying the email is already in use. Details stay as you entered them within ten minutes; after that the sign-up starts over, and one email gets at most three codes an hour.
v1.15.0
- Invoices: Settle & close now issues a numbered invoice for everything on the bill that is not invoiced yet, and Issue invoice makes one earlier, for example for a company that pays the first week of a stay, with a preview before you confirm. A bill can have several invoices, each with its own lines, and an invoiced line is locked and shows its invoice number.
- Credit notes: void, discount or lower the price of an invoiced line and DivePilot asks for a reason and issues a credit note at once. A price increase goes on the next invoice. A booking that changes after it was invoiced, and discounts worked out again, wait on the bill as To be credited and are credited with the next invoice or the close, one credit note per invoice. The money follows the bill as before.
- Receipts: a receipt for any payment, and if you switch it on, automatic receipts for payments taken before the bill is invoiced, such as deposits, emailed to the guest. A voided payment keeps its receipt, marked payment voided.
- Documents by country: tax invoices in Thailand, the Maldives, Japan, Sri Lanka and Australia when your business is registered for VAT or GST (a new switch in Business & tax) and your tax ID is entered (Japan: a tax invoice with the T-number, a plain invoice until then), plain invoices when it is not registered, invoices in the United Kingdom, the Netherlands, Cyprus, the United States, Malaysia and Indonesia, and everywhere else a numbered payment confirmation that says it is not a fiscal receipt or tax invoice. Where a certified fiscal system is the legal record, it stays so. Thai documents carry your 13-digit tax ID and branch, with every label in Thai as well; Business & tax gains the branch field.
- Invoice to: name a company or another person on a bill, with an address, tax ID and branch, until its first invoice. Correct buyer replaces a wrongly addressed invoice once, with a credit note and a new invoice.
- Every document in one place: the Invoices & receipts page lists every invoice, credit note and receipt, filtered by kind and date and searched by number, guest or company, to download or send again. Each bill has a Documents card, and the customer's Bills tab shows the newest documents of each bill, with a link to the rest on the Invoices & receipts page.
- Exports for your accountant: the documents, their lines with the tax per rate, the payments and the cash closes of any period as CSV files, and every PDF of a month as one zip file.
- Email: send any document by email, and switch on emailing the invoice when a bill is closed. Numbers run without gaps per year, with prefixes you choose under Invoices & receipts.
- The PDFs of bills, invoices, credit notes and receipts are now made by DivePilot itself, in the Classic, Modern or Compact design you chose, and every document is stored as issued and never changes.
- Ten new permissions for documents, from seeing them to issuing, crediting, exporting and their settings. Apply a preset again to give them to your team. Bills closed before this release stay without documents; open bills get their invoice when they close.
- Invoicing by country: a new page, Invoicing by country, lists for every country what DivePilot issues (a tax invoice, an invoice or a payment confirmation) and the official invoicing tool where the legal invoice must come from an official or authorised system. It is built from the same country rules the app issues its documents by.
- Country rules: Australia issues tax invoices once your business is registered for GST, with your 11-digit ABN, checked as a valid ABN, and asks for the buyer's name and address from AUD 1,000; Indonesia issues invoices, because a tax invoice there is the Faktur Pajak, which a business registered as a PKP issues to a business buyer in Coretax; Malaysia issues invoices, and the settings say when your turnover calls for MyInvois e-invoices; Thailand issues an abbreviated tax invoice when the bill names no buyer, needs the buyer's address when it does, and issues tax invoices in Thai baht only; Sri Lanka issues a tax invoice only to a buyer with a TIN under Invoice to, with the buyer's address, and an invoice to everyone else, numbered as Gazette 2481/22 sets out and with the date of supply; Singapore names the guest's address on file on a credit note; Spain issues payment confirmations.
- New countries: the United Arab Emirates, South Africa, Singapore and New Zealand issue tax invoices, and Grenada and the Seychelles VAT invoices, once you switch on Registered for VAT (GST in Singapore and New Zealand) in Business & tax and enter your tax ID, and plain invoices until then. Canada, Bonaire, Aruba (prices with tax included and no tax line), French Polynesia (with the franchise en base note while you are not registered for TVA), the Cayman Islands and the Turks and Caicos Islands issue invoices instead of payment confirmations. Dive centers already in these countries get the new document from their next one; documents already issued stay as they are.
- Official invoice number: in Mexico, Colombia, Ecuador, Peru, Chile, Brazil, Argentina, Costa Rica, Panama, El Salvador, the Dominican Republic, Kenya, Türkiye and Greece, where the legal invoice must come from an official or authorised system, in South Korea and Indonesia, where the official one is issued only for a business buyer, and in Italy, where it is issued when the customer asks for an invoice, the settings name the official tool and you enter its invoice number on the DivePilot document (in Italy the identificativo SdI, in Greece the MARK). The Invoices & receipts page of the menu (Payment confirmations & receipts where DivePilot issues those) filters the documents still missing one (outside South Korea, Indonesia and Italy), and the documents CSV carries both numbers, or the reason a document needs none. In Mexico the UUID of one CFDI global may be entered on every payment confirmation it covers, a Brazilian access key is taken without its spaces or a leading NFS label, and in Panama, Colombia, Ecuador and Costa Rica a document can be marked No official invoice required, with the reason, when your business need not issue one; the mark can be undone, which gives back a number it replaced.
- Issuing: a tax invoice billed in another currency also prints its tax total in the local currency in the United Arab Emirates, Singapore and the Seychelles, and so does the invoice of a business registered for VAT in the United Kingdom (in pounds), the Netherlands and Cyprus (in euros), so Issue invoice and Settle & close ask for the exchange rate there; South Africa issues tax invoices in rand only, as Thailand does in baht. They also point you to Invoice to when a tax invoice needs the buyer's name and address: in Thailand, in Australia from AUD 1,000, in South Africa above ZAR 5,000, in the Maldives from MVR 5,000 (a bill in another currency is compared at the exchange rate you enter when issuing, which is printed nowhere), in the United Arab Emirates above AED 10,000 for a buyer with a TRN, and in Sri Lanka for a buyer with a TIN.
- Numbering and currency: a new dive center in a country where DivePilot issues payment confirmations starts them at PC- and their corrections at PCC-, so they do not read as invoice numbers; dive centers already set up keep their prefixes. A dive center in Curaçao or Sint Maarten can bill in the Caribbean guilder (XCG), the currency of both since 31 March 2025.
- Help menu: a "?" next to search in the top bar lists the help articles for the page you are on, then the help centre and support.
- Japan: DivePilot supports Japanese dive centers with prices that include tax. A center registered with its T-number cannot switch to prices before tax, and a center on prices before tax can move to prices that include tax once all its bills are closed.
- Cash in France: a new dive center in France, Guadeloupe, Martinique or Réunion starts with Cash switched off, and a payment method counts in the cash drawer only after you confirm a certified cash system or the franchise en base, as in Germany. Austria asks for the same confirmation before a new or re-enabled method counts in the drawer.
- Redesigned dialogs: Take payment and Settle & close have a new design. Settle & close shows the bill in three figures, with choice cards and buttons that say what happens. Invoice to suggests buyers you invoiced before and corrects the buyer in place.
- Accounts: deleting the account asks for your password. A new email or password ends your other sessions and open reset links, and the old address is told about an email change. After this update you may have to sign in once more.
- Security: after ten failed sign-ins an email address is locked for 15 minutes; staff without the full View permission see only their own trips, courses, schedule and pay; the Users list needs the View permission for Users; nobody can edit, archive or restore a colleague who holds a permission they lack; public forms send a limited number of emails per address and per dive center each hour; a waiver needs a name, a drawn signature and consent.
- Fixes: the app shows its own typeface again instead of the system font; a TV screen link of the departure board shows only today's board.
v1.14.0
- Bills: every guest has one bill per stay that fills itself - fun dives once the booking is confirmed or the guest is seated, courses at enrolment, rentals until the gear comes back, nitrox, extras and fees from the price list, and the gear included in every dive. Each line keeps the price it was posted at and Reprice brings it to today's price; lines can also be added, moved, voided and restored by hand. Open a bill by hand from Bills or the customer page before anything is booked.
- Payments: take a payment on the bill, on the customer's Bills tab or in a booking's arrival checklist, in cash with the change worked out, by card, by bank transfer or by a method of your own. A guest can pay upfront and run in credit. Refunds, voids with a reason, and a reversal for a card charged back after check-out. DivePilot records the money you received; it takes no payment itself.
- Settle & close: closing a bill freezes it. Credit is refunded or carried to the guest's next bill, a bill closes with money owing only with a reason and the permission for it, and settled bills close by themselves after the number of days you choose. A change after the close lands as a correction on the guest's next bill.
- Discounts: a discount on one line or on the whole bill, as a percentage or an amount, with your own reasons; a cap on what staff may take off a bill; a standing discount for a regular on every line of their bills; and volume discounts worked out from every dive of the guest on the bill, each dive at its own season's tier.
- Bill to and family bills: send a guest's charges to another guest's bill, each line under its own person and what was already paid along as credit. For bookings made together, the person who booked can pay for everyone - ticked online with I pay for everyone, or switched on from the Booked together card.
- No-show fees: charge the full dive price, a part of it, a fixed amount or nothing. A no-show swaps the dive on the bill for the fee, the fee can be waived with a reason, and undoing the no-show brings the dive back.
- Change a price on a bill: with the new Change prices on a bill permission, a line's price can be set by hand for a regular or a deal agreed at the desk. It does not count as a discount, and the discounts report lists it under Price changes.
- Bills as a PDF and by email: download a bill as a PDF or send it by email, in the guest's language and under your letterhead. Choose Classic, Modern or Compact under Settings, Bills & discounts, with your accent colour, the parts it shows and a note at the bottom such as your bank details. Every bill says that it is not a fiscal receipt or tax invoice - keep issuing those from your fiscal system.
- Cash-up: each day shows the cash expected in the drawer, everything taken by method and every payment with who took it. Record bank deposits, safe drops and floats, count the drawer and close the day. One count closes every open day since the last close, and a closed day stays closed.
- Reports: the takings of this week, this month, last month or any range up to a year, compared with the period before, as a chart by payment method and as totals by method and by staff, with the discounts by reason and a CSV per day for your accountant.
- Payment methods: Cash, Card and Bank transfer to start with, plus your own, and which of them count in the cash drawer. Centres in Germany and Austria get a note on the cash register rules there, with Cash (Germany) or Cash and Card (Austria) switched off until you confirm that your own certified till stays the legal record.
- Bills and cash on the dashboard: Today's takings, Takings last 14 days, Bills to settle for guests leaving today or tomorrow, Owed to you and Cash day left open. If you saved your own dashboard layout, switch them on under Customize.
- Permissions for money: seeing every bill or only your own guests', taking payments, refunds, voids, discounts above the cap, standing discounts, closing with money owing, cash-up and the bill settings are each a permission of their own. Team members other than the owner get them when an admin applies their preset again under Roles & presets.
- A journal behind every bill: every line, payment and void is written to a chained journal that shows if anything was altered afterwards. Erasing a customer keeps the amounts on their bills and clears the free text.
- Prices per size: a category with several sizes, such as tanks in 12L and 15L, can have a price per size in the price list, season prices included. A size without its own price takes the category's, so a 15L surcharge needs a price on 15L only. The booking page, the rental desk, bills and the price list PDF all use it.
- Gear included in every fun dive: set a category such as tanks to Included in every fun dive and every fun dive booking gets its line by itself, charged per trip or per dive, at the guest's size or your standard size, and the estimate shows it as Tank 15L. Guests are asked only for the size when there are several, and whether they bring their own only if you allow it. A category still named Tank switches to this by itself.
- Rent by size: for gear you track item by item, such as tanks, the rental desk can record just the size and the quantity, so two 12L tanks for a shore dive are one line with no item numbers to pick. Each item keeps its own service history, and availability is counted per size.
- Tanks to load: the trip page and the printed checklist count the included gear per size for every dive, such as Tank: 12L × 6 · 15L × 2 · 1 own, next to the nitrox tanks to fill.
- Volume discounts for trips with a flat price: a departure with its own trip price chooses what a volume tier does to it - not discounted, the same percentage as the per-dive price, or its own prices per tier, per trip or per dive, all year and per season. A higher tier never makes a trip dearer, and the price list PDF lists these prices.
v1.13.0
- Price list: everything you sell priced in one place under Settings - dives with a per-dive price and prices for single departures, courses with the extras they include, rental gear per day or per trip for categories and kits, and extras such as a marine park fee. Each price opens in one dialog with its tax rate and its season prices, and the currency locks once prices exist.
- Seasons and volume discounts: a season is one or more periods of the year with a colour, it comes round every year by itself, and any price can have its own amount in it. Volume discounts (from 5 dives, from 10 dives) can be priced per season as well.
- Tax your way: choose whether your prices include tax or have it added on top, with a worked example of what the guest pays. Keep several tax rates with one default, archive and restore them, and see how many prices a rate taxes before you change or archive it. Your business details for the letterhead sit on the same tab.
- A price list to print or send: Download PDF lays out the parts and prices you choose under your letterhead, in the language you use DivePilot in.
- Prices on your booking page: switch prices on and guests see what your trips and courses cost and an estimate of their booking - dives, fees such as the marine park fee, included extras and the tax where it is added - with a running total while they book. The estimate counts each person's dives across everything they book, so volume discounts show on their own line, and a fee charged once per stay is counted once per person. Nothing is charged online; you confirm the amount as before.
- Nitrox: say on the Dive centre tab whether you offer it and price it in the price list. Guests can ask for it when they book, your team ticks it on a booking, and nitrox divers carry an EANx mark on the trip, the departure board and the printable checklist.
- Rental prices from the price list: the rental desk and the booking form show the rates of the day, season included, and a rental keeps the rate of its start date. Equipment categories, bundles and the setup wizard no longer hold prices of their own.
- Activity log: changes to prices, tax rates, seasons and the booking page's price switch are recorded with who made them and what changed, in a timeline grouped by day with filters and a CSV export, and each price has its own history. Seeing prices, changing them and reading the log are permissions of their own.
- Calmer settings: the permission editor names every permission in plain words, grouped by area of the app, with a search and an explanation for each one. Course templates, certifications, roles and presets and the equipment settings are redesigned as clear lists of rows.
- Course completion you can trust: a student completes only when every session of the course template is scheduled and they attended it, and a session moved to a makeup counts once they were there - mark them present at the makeup from that session's menu on the roster. The certification is awarded at that moment.
- Under the hood: we rebuilt the inside of DivePilot so it is easier to keep right. Every part of the app was reorganised into small pieces that each do one job, it is backed by more than 5,000 automated checks, and every screen and save was tested in a browser before this release. You will not see a difference on screen - you should see new features arrive faster, with fewer surprises.
- Fixes: two open tabs no longer sign you out when they renew your session at the same moment; a brand-new dive centre's booking page no longer fails on its very first visit; the estimate counts a trip with a flat price by its dives; search finds names that contain a space, such as van Dijk or Anna Maria; the pay dialog no longer loses what you type; cancel, retire and remove confirmations are labelled by what they do; Escape in a list or date picker closes only that list, not the dialog around it; and a certification level switched off after it was chosen no longer blocks saving a customer's cards, a course template or a dive group.
- Book for several people: on your booking page a guest can book for family and friends in one go. They fill in their own profile and everyone else a short form with every detail your customer form marks as required, an email included - Use my email puts someone on the address of the person booking, so a family can share one. Each person gets their own booking, check-in code and waiver links under one shared reference.
- Several dives at once: guests add several trips to one booking, a course for one person and fun dives for the others, or ask for a number of dives between the first and last day of their stay, with the nitrox and gear they want. Requested dives wait on the dashboard under Dives to schedule until you put them on trips, and the bookings you make from a request take its nitrox and gear with them.
- Your limits: under Settings, Online booking, the Group and multi-dive bookings card sets how many people one booking may hold (8 to start with) and how many dives each person may book at once (10 to start with). Set either to 1 to keep one person or one trip per booking.
- All or nothing: a booking for several people is made only when every trip has room for everyone going on it. Otherwise nothing is booked and the guest sees which trip to change.
- Booked together: every booking made together shows a card with all its departures and who is on each, how many of its bookings are confirmed, and the booking you are on marked. Confirm them all in one go, cancel them all from the card's menu, or add another departure. The bookings list marks and finds them by their shared reference, and each email address gets one email for all of them instead of one per booking.
- Several people at the desk: the New booking dialog takes several customers and several dates at once, and every new person needs an email - Same email as fills in the first customer's. A course roster enrols their pending bookings with Enrol all.
- Pick the boat: when two or more boats leave on the same departure, New booking and Add departure list each boat with its time, dive sites and free seats, so you put the guests on one or leave Any boat and seat them later. With one boat you see a short summary of it instead.
- A booking page made for groups: a step bar shows where the guest is, who goes on what is laid out as cards of names with any problem beside it, gear can be copied from one person to the next and nitrox ticked for everyone, the estimate has a row per person, and a reload brings the whole booking back. Once it is sent, the guest sees the forms to sign first and what was booked for whom, and can save every check-in code in one go.
v1.12.0
- Check-in at the desk: guests who book or register online get a personal check-in QR code on screen and by email. Scan it with your phone and the booking opens on an arrival checklist - waivers, certification, gear, details and medical notes, each with its fix right next to it. Checked in is now a booking status of its own, and a guest who has no dive group yet is seated and checked in in one step.
- The whole boat from the trip page: every diver's row has check-in and no-show side by side, the departure check counts who has arrived, and a no-show taken by mistake is one click to undo. Guests who have arrived can move groups but never drop off the trip's lists.
- Update links: send a diver a one-time link, valid until a day you choose, to check and complete their own details before they arrive. Changes land straight on the profile with a readable history, and an optional pre-trip check emails the link a few days before the dive whenever details or waivers are missing.
- Waivers per activity: a template can be required for everyone, for fun dives or for courses, and a course template or a single dive group can add its own extra waivers. Every diver is checked against the list that applies to them, on the trip, the dashboard and at check-in.
- Waivers that find the diver: choose whether guests get their signing links right after signing up, with the confirmation email (the new default), or only when your team sends them. Missing waivers can be sent straight from the booking or the trip, and after signing one form the page leads to the next.
- Certification checks: cards a guest enters themselves stay unverified until someone on your team has seen them. Verify, correct or mark a card as not valid from the booking, the trip or the profile, and a card marked not valid no longer counts towards a dive group's requirements.
- Fewer, better emails: taking a guest out of a dive group keeps their booking confirmed and sends nothing, the confirmation goes out once per booking, and a guest moved to another boat gets the moved email with the new details.
- TV departure board: put every boat of the next departure on a screen in the shop or on the jetty - dive groups with their guides, each diver's highest certification as a short code, who has checked in and what is still missing. It updates itself every 15 seconds and moves on to the next departure by itself. Each TV opens its own link without signing in, in light, dark or automatic mode, with your logo and colours, and with short guest names where the screen is public. In promotion mode the screen sells today's departures that still have places left, and combined mode sells until an hour before each departure and informs while the boats load.
- Faster and fixed on the phone: the waiver signing page opens about a third faster on a slow connection, because the document viewer now loads alongside the waiver instead of before it. Dive site maps and the weather on the dashboard load again, and signing up starts with PADI already picked from a clearer agency list with a badge for each agency.
- Fixes: a boat that has already left today can no longer be booked online; no-shows no longer count towards a group's places or hide automatic seating while a diver still waits; a dive site can be saved without a max depth, and the form asks for its map pin before saving; guest forms no longer pop up the phone keyboard as they open; and anonymising a customer now also removes the copies kept when duplicate records were merged.
- Updated privacy policy and terms of service: they now name every provider we use and where it runs, explain the TV departure board and how long logs, backups and signed waivers are kept, and set out how we process your guests' data on your behalf.
v1.11.3
- Housekeeping: refreshed the app's underlying framework, build tooling and dependencies throughout - faster and more secure under the hood. Minimum supported browser versions moved up slightly as part of this; see Browsers, phones and the camera in the help center for the current list.
v1.11.2
- Security: sign-in now uses secure, httpOnly cookies instead of keeping your session in the browser, and the app now sends a strict content-security policy against injected scripts. Signing out revokes access immediately, and we tightened a number of permission checks across the app so every role only ever sees what it's meant to.
- Phones and tablets: a redesigned header and a full-screen menu built for touch, with matching controls, safe-area padding around notches, and swipe to close.
- Billing: the Stripe customer portal now opens in the same tab, plan-switch and trial messaging says exactly what gets charged and when, and a payment dispute shows its reason and deadline. A locked account can still export all its customer data or delete itself, and after 12 months locked we now send two warning emails before the account is deactivated and purged.
- Guests now get an email with a calendar update whenever their confirmed booking's trip or course changes or falls through, not only when it's first confirmed.
- Waivers: the medical questionnaire's age-related question now follows the official WRSTC/DAN wording, a signing link that expired unused is tracked and can be filtered for, and resending or confirming a waiver updates the original request instead of creating a duplicate.
- Courses: cancelling one frees its pool bookings and drops it from the schedule, the instructor picker only offers staff qualified to teach, and the course list now shows each one's enrollment count.
- Certifications: archiving an agency hides its levels from new awards without touching the cards your customers already hold, and SSI, SDI and CMAS instructor levels now rank correctly.
- Smaller fixes and polish: several icon-only buttons now have proper screen-reader labels, dozens of previously English-only messages are translated across all seven languages, public booking and registration forms allow more submissions per hour so a group on the shop's Wi-Fi isn't blocked, and equipment availability, scheduling and export details were tightened up throughout.
v1.11.1
- A help center: help.divepilot.app explains every part of DivePilot in all seven languages, and the app links to the right article from the sidebar, the setup guide, the billing page, the sign-in page and the pages your divers see.
- Shorter setup: signing up creates the certification catalogue and your primary agency's course templates on the spot, so the certifications step is gone and the waivers step lets you pick which of the agency's forms to start with.
- Account security: changing your sign-in email asks for your current password, archiving a team member or changing their permissions signs them out at once, the sign-in page no longer reveals whether an email is registered, and permissions can only be granted by someone who holds them, never on their own account.
- Personal data: erasing a customer also clears their certifications, gear, dive data, notes and unused signing links, while signed waivers stay as evidence. Declining a registration no longer deletes rentals, and the 30-day account purge removes uploaded files and the payment provider record as well.
- Boat trips: a trip with dive logs can be edited again and a logged dive site stays put, deleting a group sends its divers back to unassigned bookings, a boat master can be removed from a trip, fun divers seated in a course group get the same waiver and certification checks as everyone else, and dive log links go only to the group leader and staff allowed to see them.
- Permissions and billing: dashboard panels, trip lists, waiver records and the setup guide follow each person's permissions, a signed template keeps its title and version, your public link only changes when you rename the centre, a declined first payment lets you try another card straight away, and a locked account stays locked until it pays.
- Small fixes: the weights row in the gear catalogue asks for kilos instead of stock sizes, an archived team member's pending invitation stops working, pay runs keep the rate an earning was written with, and the nightly sweeps and the bookings list got faster.
v1.11.0
- Roles & presets: build your own permission presets, rename or trim the built-in ones, delete what you don't use and restore the defaults any time. A preset only prefills the checkboxes when you add a team member.
- Two new built-in presets: Manager, everything but billing and permission management, and Boat master, for whoever runs the boat in the morning. Staff now covers the course desk; instructors and divemasters can act on waivers and see their own pay.
- Departure slots that trips already use show a lock instead of a delete button, and a refused delete puts the row back where it was.
- The dashboard's unassigned bookings count now matches the list below it: upcoming fun dives only, cancelled and course bookings no longer inflate it.
v1.10.0
- Guests now hear from you by email: a note when their online booking request arrives, a confirmation with a calendar invite when you confirm it, and a message if it is cancelled. All in your branding, and replies land in your inbox.
- A booking shows the trip the guest picked online, or the departures that day, with a shortcut to seat them.
- Confirm a booking in one click from the list, the card or the detail page. Seating a diver on a trip confirms the booking as well.
- The app opens faster: only your language is downloaded instead of all seven.
- Under the hood: framework and library updates and security fixes.
v1.9.0
- Branding: put your own logo and colours on the booking, registration, waiver and dive log pages your guests see, and on the emails they receive. Wide, square and tall logos all fit.
- Choose light or dark for your public pages, and preview the real booking page in the settings before you save.
- A contact footer with your website, phone or WhatsApp and Instagram on every public page and guest email.
- Public links now use your dive centre name by default. Prefer an unguessable link? Switch to a secret token you can rotate at any time.
- An invisible anti-spam check protects sign-up and every public form, with no banner, no cookies and no third party involved.
- Branding joins the setup checklist, so new centres set their look before the first guest arrives.
v1.8.0
- Equipment and rentals: track your inventory, from serialized regulators with a service log to pooled wetsuits by size, and rent it out with availability checked at checkout and per-item returns.
- Kits: bundle categories into priced sets, so a full gear package is one tap for staff and for guests.
- Guests now choose their gear when they book or register online: bring my own, rent it, or not needed, per item, with sizes, kit prices and a running total.
- Trip pages show what each diver requested and what has been handed out, with one-click fulfilment, and gear prep joins the departure check.
- The customer page was rebuilt around what staff ask first: certification, logged dives, waiver status and next dive sit in the header, with the details grouped into four tabs.
- Choose which customer fields your online forms ask for, and whether each one is required, optional or hidden.
- A resumable setup checklist walks new centres through essentials, equipment pricing and guest onboarding, saving each step as you go.
- The dashboard shows what is on rent, due back and overdue, plus upcoming equipment services.
v1.7.0
- Photograph or upload a scan of a boat trip's paper checklist right from the trip page, so it stops living in a folder somewhere.
- Photographed checklist pages are cropped automatically, with the option to keep the original if you'd rather.
- Signed paper waivers can be photographed the same way, so they end up in the same searchable record as the ones signed on screen.
- Trip pages now show departure readiness as a chip strip, so you can see what's still outstanding before a boat leaves.
- Tightened the checklist print layout so a typical trip fits on one page.
- Fixed a courses bug where marking a student absent didn't ask which session, when their dive group covered more than one.
v1.6.0
- DivePilot now speaks seven languages: English, German, Spanish, French, Italian, Dutch and Portuguese, switchable from a flag picker in the top bar.
- The public booking page, self-registration and waiver signing let a guest pick their own language too, and it carries through registration.
- Notifications, system emails and generated documents, including exports and the QR poster, now go out in the reader's language rather than always in the operator's.
- Added dark mode, with each person choosing their own light or dark preference.
- Each dive center can set its own date format, applied consistently everywhere in the app.
- Customers can have a preferred language of their own, set by staff or chosen by the guest, matching notifications and documents to it.
v1.5.0
- Introduced Payroll: staff earnings are calculated automatically from fun dives, courses, office hours and reserve duty, generated every night.
- Boat masters can be paid per trip or per stop, stacking with any guide commission earned on the same trip.
- Pay periods can be closed and reopened, with earnings viewable by period or by a custom date range.
- A dedicated Payroll page shows rates and earning lines, with staff able to see just their own pay where that's all they're permitted to see.
- Payroll access sits behind its own permission, off by default except for admins.
- Fixed a calendar bug where trips could go missing from a week that spanned two months.
v1.4.1
- Fixed a handful of nagging bugs: a discount coupon that could silently drop during checkout, a resend button that stopped responding, stale data sticking around after changes, and date fields shifting a day depending on timezone.
- Backend cleanup to keep the app fast and consistent as it grows.
v1.4.0
- Launched Staff Scheduling: a weekly roster with a day timeline, duty, time-off and pool blocks, conflict warnings, and printable, exportable workload stats.
- Added opt-in staff roles (instructor, divemaster and office) that govern who can teach or take reserve duty, replacing the old certification-only check.
- Departure slots can now carry an end time, so trip windows, conflict checks and workload stats reflect a boat's real schedule instead of assuming a fixed four hour block.
- Dashboard panels can be shown or hidden per permission, so each role only sees the cards relevant to them.
- Tightened account security: invite links now travel only by email instead of appearing in API responses, and a couple of endpoints that could return booking or customer data to any signed-in staff member now require the right permission.
- Fixed refund and dispute handling in billing after a Stripe update had broken it.
v1.3.0
- Boat trips and bookings now run on AM, PM and Night departure slots instead of free-form times, with a slot editor in settings.
- Redesigned the subscription page with a clearer plan card, a payment history that includes refunds and disputes, and your card on file with an expiry warning before it lapses.
- Added past-due and renewal reminder emails, plus an alert when a chargeback comes in with its evidence deadline.
- Waivers gained a searchable documents archive with filters, alongside a request-waiver flow with clear progress feedback.
- List and archive pages got faster, tidier search and filtering, with stacked filters on mobile.
v1.2.0
- Added a visual boat layout editor and trip seat maps: lay out a boat's seats once, then assign divers seat by seat on every trip.
- Auto-seat now keeps dive groups together and fills open seats first, with a one-click action to clear every seat and start over.
- The trip checklist PDF can now include a seat-map page.
- Boat layouts and seating have their own permission, separate from general boat-trip access.
- Account deletion is now self-service from settings, with a 30-day grace period and a type-to-confirm safety check.
- Redesigned the registration and booking QR posters.
v1.1.0
- Launched Online Booking: guests can book fun dives and courses themselves from a public page, shareable by link or QR code and configurable per dive center.
- The customer detail page gained Bookings and Courses tabs, so a diver's full history lives in one place.
- The boat trip list is now filterable by date range, boat, boat master and booking status, with a visual refresh.
- Tightened security around which records staff can reference across the API.
v1.0.1
- Tightened input validation across the app: boat capacity, dive group and course sizes, and dive site and certification depths, plus setup now catches duplicate boat names or staff emails before you submit.
- Fixed a bug where pressing Enter in a form could trigger Cancel instead of Save, and hardened how uploaded waiver files are handled.
v1.0.0
- DivePilot launches: one platform to run a dive center's boat trips, courses, customers, waivers and staff, in place of spreadsheets and paper.
- Plan boat trips on a day, week or month calendar, organize divers into groups by certification, and generate a printable trip checklist.
- Build course templates, enroll students and track attendance across classroom, pool and open water sessions.
- Every diver gets a full profile: certifications by agency and level, medical notes, equipment and dive history, plus a digital dive log guests can access themselves.
- Waivers go digital: PADI, SSI or your own templates, signed online with a medical questionnaire where needed, and kept in a searchable archive.
- Guests can check themselves in with QR self-registration, filling in their own details on arrival.
- A configurable dashboard surfaces today's trips, missing waivers, fleet capacity and dive-site weather, and a notification bell flags expiring waivers and courses starting soon.
- Staff accounts run on granular permissions rather than fixed roles, and billing runs on Stripe with regional pricing and a 90-day free trial.