Dive course management software should take a class from the first booking to the certification on the diver's record: sell seats up to a cap, build the roster from those bookings, assign instructors, track each student against the curriculum, run quizzes and record the certification when the student passes. Ribbe does this in the same system that runs your counter, rentals and booking site, so a student's training sits on the same customer record as everything else they buy from you.
Below is how a dive shop runs its classes end to end in Ribbe, then a step-by-step setup of an Open Water course. For air cards, rentals, trips and retail, see our complete guide to running a dive shop on one system.
Courses touch more people than anything else a dive shop sells. The front desk takes the booking, the instructor runs the pool and open water sessions, and the owner pays the instructor at month end. When each step lives somewhere different (a booking calendar, a binder of training records, a spreadsheet roster), things get missed.
The failures are familiar: a class oversold because the counter and the website kept separate counts, a rescheduled student still listed on the old date, a skill nobody remembers signing off. Good scuba course scheduling comes down to one rule: enter each fact once, where it happens, and let everything else read from it.
In Ribbe, a course is tied to the ticket product that sells its seats. Each class date is a session with its own seat cap, and the same cap applies at the counter and on your booking site. Say your Open Water class takes eight students: once eight seats are sold, through either channel, the session is full in both.
Caps change when a second instructor becomes available or pool time shrinks. You can edit the seat cap for a single session on the course roster, but not below the seats already sold. Course seats sell alongside your other tours and tickets, on the same booking site and register.
Every booking for a session, online or at the register, puts the student on that session's roster. Nobody retypes names from bookings into a training list.
Reschedules follow the booking. Move the booking to another date and the student moves to that session.
Cancellations withdraw the student, unless their training had already moved past In progress.
Manual adds still work. Staff can add a student by hand, for example a private student joining an existing class.
Sync and export. A Sync bookings button brings the roster up to date with bookings, and the list exports to CSV.
Students page filtered to PADI Open Water Diver showing KPI tiles and a student table with status, progress, mark and certification number
Students filtered to PADI Open Water Diver, with each student's session, status, progress, mark and certification number.
Assign an instructor to each session from the staff you have marked as instructors. When a class is split between two instructors, override the instructor on individual students. The office can see who is teaching whom, and the instructor report later breaks results out by instructor.
Ribbe course roster listing Open Water sessions with seats sold, students on the roster, certified count, instructor and seat cap
The course roster: each session with seats sold against the cap, students on the roster, the instructor and an editable seat cap.
Each course carries its own curriculum: a checklist of items grouped into sections such as Knowledge, Confined water, Open water and Exam. Each item is marked Required or not.
Instructors open a student's record and mark each item Pending, Done, Failed or N/A, with a note where it helps, such as trouble equalizing on the second dive. Ribbe records who signed each item off and when. The first sign-off moves the student from Enrolled to In progress, so the office can see who has actually started.
Each course uses one of three mark schemes:
No grading. The checklist alone decides; items are signed off or not.
Score out of 100. Each item takes a score, and the student's mark is the weighted average.
Letter grade. The same weighted average shown as A, B, C and so on, using bands you can edit.
Set a pass mark and a weight for each item, so the final exam can count for more than a single knowledge review. Ribbe shows the running weighted average as the student's mark while the course is under way, so a student drifting below the pass mark is visible before the last day.
Course editor Curriculum and grading tab for PADI Open Water Diver with the score out of 100 mark scheme, a 75% pass mark and section weights
Curriculum & grading on an Open Water course: score out of 100, a 75% pass mark and weighted sections.
Every student has one of six statuses: Enrolled, In progress, Completed, Certified, Incomplete or Withdrawn. Incomplete suits the student who has to come back for a missed dive. Filter the Students page by course, session, dates, status or instructor to see, for example, everyone still in progress this month.
One student's course record with session, a 78% mark, instructor notes and curriculum items marked Done with scores and sign-off details
One student's record: a 78% mark against a 75% pass mark, instructor notes, and each item's score and sign-off.
Knowledge reviews and final exams can run in Ribbe instead of on paper. A quiz can mix multiple choice, choose-all-that-apply, true or false and short written-answer questions, with points per question, a pass mark, a time limit and a limit on attempts.
Send the quiz by email, by text or with a QR code at the counter. The student answers on their own phone, one question per screen, with no app to install and no password, and submits once.
Marking. Choice questions mark themselves. Written answers are matched against an expected answer or held as needing review for the instructor to mark.
Sign-off. Pin a quiz to a curriculum item, and passing it signs that item off and feeds its score into the course grade.
Drafting. Ribbe's built-in AI assistant can draft a quiz from the course's own curriculum. Staff review and edit it before anything is sent.
Old papers stay put. Each sitting keeps a snapshot of its questions, so editing a quiz later never re-grades papers already taken.
Quizzes and exams tab on an Open Water course listing a knowledge review quiz and a final exam, a Generate with AI button, and student sittings with results
Quizzes & exams on an Open Water course: two papers pinned to curriculum items, a Generate with AI button and each sitting's result.
When a student has passed, certify them from their record. Ribbe saves a certification on the customer's Training tab with the certification name, agency, number, issue date, expiry and instructor. The expiry comes from the validity period set on the course, which matters for courses that need renewing, such as First Aid & CPR.
For dive agencies such as PADI, SSI, NAUI, SDI/TDI and BSAC, the number and agency also fill in the customer's dive-certificate fields, so the next time that diver rents a regulator or books a boat dive, their certification is already on file. To track student certifications earned at other shops, add them to the customer by hand.
Ribbe records the certification; it does not submit it to the agency. Many new divers book a boat trip next, and our dive trip manifest checklist covers getting that departure ready.
A customer's Training tab in Ribbe showing a certified Open Water course and the PADI Open Water Diver certification
The diver's Training tab: the course with its result, and the certification with agency, number and issue date. Record a certification adds one earned elsewhere.
The instructor report covers any date range. For each instructor it shows sessions, students, how many are active, completed, certified, incomplete or withdrawn, the pass rate, revenue and commission. It exports to CSV.
Commission is set per course, using one of four rules: a percentage of student revenue, a flat amount per student, an amount per certified student or an amount per session. Paying per certified student ties pay to outcomes; paying per session suits work that is the same whether two students show up or eight. Say you pay $40 per certified Open Water student (an example figure): the report totals that for each instructor.
Here is the order we suggest for a new course. The example is Open Water, but the steps are the same for Advanced, Rescue or Nitrox.
Course library filtered to Dive shop listing Open Water Diver, Advanced Open Water Diver, Rescue Diver and Enriched Air Nitrox Diver templates with Edit and import buttons
The course library filtered to Dive shop, with Open Water, Advanced Open Water, Rescue Diver and Nitrox templates and Edit & import buttons.
Import the template. Open the course library, filter to Dive shop and pick Open Water Diver. The dive set also includes Discover Scuba Diving, Advanced Open Water, Enriched Air (Nitrox), Deep Diver, Rescue Diver, a ReActivate refresher, Freediver, Divemaster and First Aid & CPR. Import as-is, or choose Edit & import to change it first.
Check the course details: name, code, agency, certification name, prerequisites, minimum age, maximum students per instructor, duration in days, certification validity in months and a picture. These are recorded on the course; Ribbe does not block a booking on age or prerequisites.
Link the seat product. Tie the course to the ticket product that sells its seats, and set each class date's seat cap to your class size.
Review the curriculum against your training standards. Mark the required items and choose a mark scheme, pass mark and weights.
Add quizzes. Write your knowledge reviews and final exam, or have the AI assistant draft them and edit the result. Pin each one to the item it should sign off.
Set the commission rule so the instructor report can total it.
Assign instructors to each session on the course roster.
Print the paperwork. Print the course info sheet for the counter, or design a brochure inside Ribbe. Each student also has a printable sheet.
From there, bookings fill the roster, instructors sign off skills and quizzes as the class goes, and the certification is saved to the customer when you certify. To see courses alongside air cards, rentals and trips, visit our dive shop software page, or read how to price air fills and air cards.
No, not yet. Ribbe tracks progress and records the certification, agency and number on the customer, but it does not sync student records, certifications or eLearning codes with PADI, SSI or any other agency. Record the certification in Ribbe and process it with your agency as you do now.
Yes. Course seats sell on your Ribbe booking site and at the register against the same seat cap, and online bookings land on that session's roster automatically.
No. Minimum age and prerequisites are stored on the course for staff to see, but Ribbe does not block a booking on them. Check them at sign-up as you do today.
Yes. Add them by hand on the customer's Training tab. The customer record can also hold the diver's c-card number, agency and a photo of the card, taken on a phone through a QR code at the counter or added online during booking.
Yes. Set a commission rule on each course and the instructor report totals it for each instructor, next to their sessions, students, pass rate and revenue.
Run your dive courses on Ribbe Seats, rosters, curriculum sign-offs, quizzes and certifications in the same system as your counter and booking site. Try it with your own courses. Start a free trial