Who can do what: staff access in Dojo Manager

How Dojo Manager lets a dojo owner decide what each staff member can do: presets for the usual roles, tickboxes per job, and money kept private.

Dojo Manager: who can do what at your dojo. Staff access by tickbox, shown beside the Access window.

Dojo Manager is the app I’m building to run our karate dojo, Sunshine Coast Karate, and when it’s ready it will also be offered to other karate dojos as an online service. This part is about staff permissions: deciding who on your team can do what, from booking a student into a class to refunding a payment. Every screenshot comes from a test dojo with made-up staff and students.

A dojo isn’t run by one person. There’s the head instructor, an instructor or two who teach some classes, maybe someone on the front desk who signs people up and takes payments. They need different things, and some of them shouldn’t see what the dojo earns.

The Staff page in Dojo Manager: the dojo owner with full access, Aiko as Instructor, Jordan as Front desk (customised) and Kenji as Administrator, each with an Access button.
The Staff page. Everyone’s access at a glance, and the shield opens what each person can do.

Why “admin or not” wasn’t enough

Until now Dojo Manager had two kinds of staff: administrators, who could do everything, and instructors, who were meant to only look. When I sat down to plan something finer, I checked how well that second rule actually held. It didn’t. Instructors could edit the calendar, approve waivers, change membership plans and dojo settings, even run a data import, simply because nobody had put a check on those pages. They weren’t allowed to; they just weren’t stopped.

There was a quieter problem too. Someone’s role was stored once for the whole app, not per dojo. Someone who helps run one dojo and only trains at another would have been an administrator in both.

Tickboxes for the main jobs, not for every button

I didn’t want a wall of a hundred switches that nobody would ever set up. So there are 23 tickboxes in eight groups, each describing a real job: Add & edit contacts, Book people & mark attendance, Compose & send messages, Take payments & record sales, Run gradings, View reports, and so on. Each has a line underneath saying what it covers.

Nobody should have to tick 23 boxes for every new staff member, though. You pick a starting point instead:

  • Administrator: everything except managing other staff’s access.
  • Front desk: contacts, bookings, messages, payments and memberships, waivers and enquiries.
  • Instructor: notes, bookings and attendance, and reports.
  • No access: just the dashboard, people, the calendar and their own tasks.

Then you change any tick for that one person. Jordan below is on the front desk but also helps run gradings, so the window marks Jordan’s access as Customised. The dojo owner always has everything, and only they (or someone they trust with it) can hand access out. Nobody can change their own access, and you can’t give anyone a permission you don’t have yourself.

The Access window for Jordan Lee: starting point Front desk, marked Customised, with tickboxes grouped into People, Classes, Messages and Money.
Jordan starts as Front desk, plus one extra tick.
The Add staff form: name, email, phone, and What they can do set to Administrator, with ticks for instructor and member.
Adding someone: choose a starting point, adjust later.

One decision came from the karate side rather than the software side. I’d put Run gradings in the Instructor preset. When I saw it written down, I took it out: in our dojos, grading is the head instructor’s job. An instructor who helps with it can be given the tick by hand.

Money stays with the people who need it

The tick I care most about is See money. Without it, money doesn’t just get greyed out; it isn’t there. The revenue chart and the overdue list leave the dashboard, the Payments and Product Sales pages go from the menu, a student’s Payments and Credit tabs disappear from their profile, and the money reports aren’t in the reports list. Payments also drop out of the activity history. Someone can still see a student’s membership and whether they’re on hold, just not what they pay.

The Reports page as an instructor sees it: eight built-in reports about attendance, memberships, prospects and birthdays, with no money reports in the list.
An instructor’s reports: attendance, memberships, prospects, birthdays. No debtors, takings or tax.

The trap here was nearly a nasty one. Dojo Manager has rules that run on their own: “send a reminder to anyone whose payment failed”, or “only invite people to grading if they’re not behind on fees”. My first version hid the money from those rules too, whenever the person whose action set them off couldn’t see money. An instructor checking someone in could have quietly broken an automation. Now hiding money is only for what people see on screen; the dojo’s own rules always see everything.

Everyone sees their own menu

The menus follow the ticks, so people aren’t faced with pages that just say “no”. Here are three people at the same dojo: the owner, Jordan on the front desk, and Aiko, an instructor.

Three Dojo Manager sidebars side by side: the owner sees every menu, front desk sees most of them without Automations, and an instructor sees only Dashboard, People, Calendar, Reports, Gradings, Edojo and Tasks.
Owner, front desk and instructor: the same dojo, three different menus.

A few things everyone on staff can always do. They can look people up, see the calendar, keep their own tasks and run their own private lessons. Without the wider ticks, they just don’t see everyone else’s tasks or appointments.

Built to keep up as the app grows

Dojo Manager is still growing every week, so I asked a question before building any of this: what happens when a new feature arrives next month? If every person’s ticks were saved as a full list, a new permission would reach nobody until every dojo went through every staff member again.

So each person stores only how they differ from their starting point. When a new feature’s permission is added to the Administrator preset, every administrator has it the next time they click, and anyone’s deliberate exceptions stay exactly as they were. New permissions are marked New for two months, so owners notice them. And a checking script runs before every change I make: if a new page that changes anything has no access check, it fails. That’s how this project found the gaps in the first place: the first run listed 84 pages that changed data with no check at all.

What’s next

This was built in three parts. By the end, a made-up staff member with no ticks was refused by every one of the 163 pages that change data, and each tick opened only its own area. Every starting point was walked through more than 20 pages to make sure nothing showed that shouldn’t.

If you missed them, the earlier posts cover grading in Dojo Manager and full classes and waitlists. If you run a dojo and would like to hear when Dojo Manager is ready, get in touch.

martin Avatar

Written by

Previous post
Next post

More from the blog