Roles & Permissions
SparkShop uses a role-based access control system. Every employee is assigned a role that determines what they can see and do within the system.
Roles
| Role | Description |
|---|---|
| Admin | Full system access — manages employees, settings, catalogue, and all records |
| Advisor | Creates and manages job cards, communicates with customers, handles invoicing |
| Technician | Views and updates job cards assigned to them |
| Parts Manager | Manages the parts catalogue, stock levels, and supplier relationships |
Default Permissions Matrix
| Resource | Admin | Advisor | Technician | Parts Manager |
|---|---|---|---|---|
| Dashboard | ✅ | ✅ | ✅ | ✅ |
| Job Cards | ✅ Full | ✅ Full | ✅ Assigned only | ✅ View |
| Customers | ✅ | ✅ | — | — |
| Vehicles | ✅ | ✅ | — | — |
| Parts | ✅ | ✅ View | — | ✅ Full |
| Services | ✅ | ✅ View | — | — |
| Suppliers | ✅ | — | — | ✅ Full |
| Employees | ✅ | — | — | — |
| Notifications Preferences | ✅ | — | — | — |
| Role Permissions | ✅ | — | — | — |
Managing Roles & Permissions
Administrators can customise the permission matrix via the Role Permissions page under the Settings group in the navigation.
Permissions are configured using a toggle grid — each role is a column, each permission is a row. Toggle individual permissions on or off and save. Changes take effect immediately.
Managing Employees
Employee accounts are created under Employees in the navigation. Each employee record can be linked to a Laravel user account, which grants them login access to the system.
To create a new employee with login access:
- Go to Employees and click New Employee
- Fill in their name, email, phone, and role
- In the User Account field, either select an existing user or create a new one
- Save the record
The employee can now log in at /admin with their user account credentials.
Technician Visibility
Technicians only see job cards that have been assigned to them. This keeps their view focused and prevents information overload. Advisors and admins see all records.