Roles and permissions
What studio manager, front desk, instructor, and general staff can do. Super admins stay off the Team list.
Who can do this: Studio managers assign roles when inviting. Only a platform super admin can invite another company admin.
Title is the label on the staff card (you can type anything). Role is what they can do in the app.
| Role | What they can do |
|---|---|
| Instructor | Own schedule and own pay stubs. Check in / book / SMS only on classes they teach. Cannot invite staff or clients, or edit App & Site or studio-wide settings. |
| Front desk | Day-to-day tools: edit clients, book and check in any class, sell memberships at the desk, fulfill retail, send invites and SMS. Not company settings, class schedule edits, membership finance, API keys, or catalog/policy/waiver edits. |
| Studio manager | Studio admin: Team, settings, invites, Stripe, packages, waivers, schedule, archive staff. |
| Company admin | Same access as studio manager here. |
General staff (company_member) |
Check people in. Cannot book or waitlist. |
Platform super admins never show up on Team, class pickers, or pay stubs. The studio’s own admin login does stay visible.
Gotchas
- Instructors cannot send team, client, or resend invites. Invite buttons stay hidden until the role is known.
- Memberships nav and team roster are hidden from instructors. They have My pay stubs / own staff profile instead.
- Can view client list is a per-staff-type switch under Settings → Team. It is on by default for instructor, front desk, and general staff so nothing is taken away on deploy. Turn it off to hide Clients in the sidebar, block
/shop/clients, omit clients from Cmd-K, and return 403 on client list/search/detail APIs. Managers and super admins always keep access. Class roster and check-in still show attendees for that class.