Team Management Beyond "Users and Roles"
6 pre-built roles plus unlimited custom roles with per-resource permissions. Time clock with breaks and manager approval. Team groups for workload distribution. Audit log for every data change. Custom fields per location.
Owner
Admin
Manager
Staff
Technician
Viewer
Four Systems Working Together
Permissions, time clock, audit log, and custom fields. Each one is independent enough to matter on its own. Together they cover the full operational surface of managing a team.
Granular permissions
6 pre-built + unlimited custom roles, per-resource grants. Grant or deny access to billing, audit logs, payroll, custom fields, or any other resource.
Time Clock with manager approval
Mobile + desktop clock-in, breaks tracked separately. Manager reviews and approves time entries before they feed payroll. No manual hour entry.
Audit Log
Immutable record of every INSERT / UPDATE / DELETE — table, row, before/after values, user, timestamp. Login history with IP and device.
Custom Fields per location
Vertical-specific data capture on contacts. 8 field types. Field set varies per location — Location A has 'allergies', Location B has 'pet name'.
Granular Permissions
6 pre-built roles (Owner, Admin, Manager, Staff, Technician, Viewer) cover most teams. Custom roles cover the rest. Permissions are per-resource — grant or deny access to billing, audit logs, technician schedules, custom fields, payroll, anything.
6 pre-built roles
Owner / Admin / Manager / Staff / Technician / Viewer cover most teams out of the box. Each role ships with sensible defaults.
- Owner has all access plus account deletion
- Admin has all operational access except billing
- Manager has location-assigned oversight
- Staff handles POS + scheduling only
- Technician sees only own schedule
- Viewer is read-only reports
Unlimited custom roles
Inherit from a pre-built role and adjust, or build from scratch. Name, description, and permission template all configurable.
- Clone a pre-built role then adjust permissions
- Build from scratch with no defaults
- Role name + description metadata
- Permission templates for common patterns
- Audit log of role changes
Per-resource permissions
Granular per-table grants. Each role x resource pairing is grant/deny. Supports view-only vs full-edit. Prevents over-privileged staff.
- technician_table, role_table, audit_log_table grants
- custom_fields_table, payroll_table, billing grants
- Each pairing is independently grant or deny
- View-only vs full-edit distinction per resource
- 100+ permission combinations per role
Location-scoped roles
Staff can be Manager at Location A and Staff at Location B. Roles are per-location-staff pairings, not global user attributes.
- Per-location-staff role assignment
- Audit log of cross-location moves
- Role inheritance optional per location
- Custom roles can be location-scoped or company-wide
- Role changes take effect immediately without re-login
Technician Configuration
Set up service providers with availability windows, commission rates, skill tags, and calendar sync. Per-location overrides on availability and rates.
Per-tech availability
Hours, days off, appointment capacity per hour. Location-aware availability windows. Override per booking.
- Location-aware availability windows
- Per-day-of-week schedules
- Time-off / vacation tracking
- Capacity limits per hour
- Override per booking
Per-tech commissions
Per-service and per-product commission rates, with per-location overrides. Audit log of rate changes.
- Per-service commission rate (% or fixed $)
- Per-retail-product commission %
- Per-location override on same tech
- Audit log of rate changes
- Role-gated rate editing
Skill tags
Tag techs with skills, filter services by tech skill. AI receptionist uses skill matching when booking.
- Tag techs with skills
- Filter services by tech skill
- AI receptionist uses skill matching when booking
- Manager-only skill assignment
- Audit log of skill changes
Google Calendar two-way sync
Bookings sync to Google Calendar events in real time, per-tech. Bidirectional — changes in either system reflect in the other.
- OAuth-based connection per tech
- Real-time bidirectional sync
- Conflict detection
- Manual sync trigger if needed
- Per-tech calendar selection
Time Clock with Manager Approval
Staff clocks in on mobile or desktop. Breaks tracked separately. Manager approves time entries before payroll. Hours feed into payroll automatically — no manual entry.
Mobile + desktop clock-in
Staff can clock from PWA on phone or web on a POS terminal. Geolocation optional. Location-scoped clock-ins.
- PWA-installable on iOS / Android
- Browser clock-in from POS terminal
- Geolocation optional
- Location-scoped clock-ins
- Audit log of clock events
Break tracking
Unpaid vs paid breaks captured separately. Break-type configurable per company. Max break-time alerts.
- Break-type configurable per company
- Unpaid vs paid distinction
- Break minute deductions automatic
- Audit of break start/end
- Max break-time alerts
Manager approval workflow
Review and approve time entries before they hit payroll. Pending approval queue, manager edits with reason, bulk-approve option.
- Pending approval queue
- Manager edits with reason
- Approval audit log
- Bulk-approve option
- Payroll-blocked until approved
Payroll integration
Approved hours auto-flow to gross pay calculation. No manual hour entry. Audit trail from clock-in to pay stub.
- Approved hours auto-flow to gross pay
- No manual hour entry
- Audit trail from clock-in to pay stub
- Payroll periods read approved entries
- Cross-link to payroll module
Sarah M.
Mon May 12 • 30m unpaid break
8h 15m
Awaiting approvalJames K.
Mon May 12 • 45m unpaid break
7h 45m
Awaiting approvalLisa R.
Mon May 12 • 60m unpaid break
9h 00m
Awaiting approvalTeams (Staff Groups)
Group staff into named teams — "Hair Color Specialists", "Permanent Makeup Team", "Front Desk". Team workload, revenue, and performance dashboards roll up the right way.
Named teams per location
Create optional staff groups like 'Hair Color Specialists' or 'Front Desk'. Multiple teams per staff allowed.
- Create teams per location
- Multiple teams per staff member allowed
- Team name + description
- Team-leader designation optional
- Audit log of team membership changes
Team performance dashboards
Workload, revenue, appointments, and commission accruals rolled up per team. Comparison view across teams.
- Per-team revenue totals
- Per-team booking counts
- Per-team utilization rate
- Per-team commission accruals
- Comparison view across teams
Team filtering on reports
Filter analytics by team. Drill from team to staff to bookings. Cross-team comparison and workload distribution.
- Filter analytics by team
- Drill from team to staff to bookings
- Cross-team comparison
- Team-aware workload distribution
- Optional team-only role scoping
Audit Log + Activity Log
Every INSERT / UPDATE / DELETE is logged automatically — table, row, old values, new values, user, timestamp. Every login attempt recorded. Compliance + forensics built in.
Auto-logged data changes
Every INSERT / UPDATE / DELETE is captured with full context — table, row ID, before/after values, user_id, timestamp, and originating session.
- Trigger-based DB logging
- Captures table + row ID + before/after values
- user_id + timestamp + originating session
- No opt-out for compliance
- Retention configurable per company
Login history
Every login attempt logged with IP address, user agent, and success/fail status. Failed-attempt rate-limiting alerts.
- Every login attempt logged
- IP address + user agent captured
- Success / fail status
- Failed-attempt rate-limiting alerts
- Optional device-fingerprint tracking
Immutable
Audit log itself cannot be edited or deleted. Separate table, RLS locked, append-only writes enforced at the database layer.
- Separate table, RLS locked
- No UPDATE / DELETE allowed at DB level
- Append-only writes
- Role-gated view access for compliance
- Export for forensic review
Custom Fields per Location
Add custom data fields to contacts: "preferred time of day", "allergies", "referral source". Field set varies per location — Location A has "allergies", Location B has "pet name". Stored flexibly, validated at save.
Per-location field sets
Different field configurations per location. Location A has 'allergies', Location B has 'pet name'. Optional company-wide fields.
- Field definitions per location
- Location-scoped visibility
- Optional company-wide fields
- Fields appear on contact form per location
- Audit log of field-set changes
8 field types
Text / number / dropdown / checkbox / date / email / phone / signature. Each type includes appropriate validation.
- Short text + long text
- Integer or decimal number
- Dropdown with options, checkbox single or multi
- Date with optional time
- Email / phone validation, signature capture
Validation + visibility rules
Required or optional, min/max length, regex validation. Conditional visibility based on other field values.
- Required vs optional
- Min/max value or length
- Regex validation for text
- Conditional visibility based on other fields
- Audit log of validation rule changes
Team Management Connects to the Whole Platform
Time clock feeds payroll. Per-tech availability drives scheduling. Permissions gate communications and automations. Everything talks to everything.
See how businesses like yours manage their team