Team Management
Vendors can manage their team members, assign roles, create tills, and control access permissions.
Overview
Team management includes:
- Creating and managing tills (terminals)
- Adding sub-users (employees)
- Assigning roles and permissions
- Monitoring team activity
Tills
What is a Till?
A till represents a point of sale terminal or work station. Each till:
- Has a unique identifier
- Tracks its own transactions
- Can be assigned to sub-users
- Has separate daily limits
Till Properties
| Property | Description |
|---|---|
| Name | Till identifier |
| Status | Active/Inactive |
| Assigned Users | Sub-users with access |
| Daily Volume | Transactions today |
| Balance | Float balance |
Till Operations
| Operation | Description |
|---|---|
| Create | Add new till |
| Edit | Update name/description |
| Deactivate | Temporarily disable |
| Delete | Remove till |
| Assign | Add sub-user access |
Sub-Users
User Roles
| Role | Description | Permissions |
|---|---|---|
| Owner | Full access | All |
| Manager | Operations + team | Most except settings |
| Cashier | Basic operations | POS, top-up, withdrawal |
| Accountant | View + reports | Read-only, export |
Permission Matrix
| Permission | Owner | Manager | Cashier | Accountant |
|---|---|---|---|---|
| pos | Yes | Yes | Yes | No |
| topup | Yes | Yes | Yes | No |
| withdraw | Yes | Yes | Yes | No |
| transactions.all | Yes | Yes | No | Yes |
| transactions.own | Yes | Yes | Yes | No |
| reports.view | Yes | Yes | No | Yes |
| reports.export | Yes | Yes | No | Yes |
| team.view | Yes | Yes | No | No |
| team.manage | Yes | Yes | No | No |
| cards | Yes | Yes | No | No |
Add Sub-User
| Field | Required | Description |
|---|---|---|
| Full Name | Yes | Employee name |
| Phone Number | Yes | For SMS notifications |
| Username | Yes | Login username |
| Role | Yes | Manager/Cashier/Accountant |
| Assigned Tills | Yes | Till access list |
Note: Temporary password is sent via SMS on creation.
Custom Permissions
Managers can override default role permissions:
Permission Categories
| Category | Permissions |
|---|---|
| Operations | pos, topup, withdraw |
| Transactions | transactions.own, transactions.all |
| Reports | reports.view, reports.export |
| Team | team.view, team.manage |
| Cards | cards |
Team Activity
Activity Log
Track all team member actions:
| Field | Description |
|---|---|
| User | Who performed action |
| Action | What was done |
| Till | Which till was used |
| Timestamp | When it happened |
Activity Types
| Type | Description |
|---|---|
| Login | User logged in |
| Logout | User logged out |
| Transaction | Payment/topup/withdrawal |
| Settings | Configuration change |
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/vendor/tills | GET | List tills |
/vendor/tills | POST | Create till |
/vendor/tills/:id | PUT | Update till |
/vendor/tills/:id | DELETE | Delete till |
/vendor/team | GET | List sub-users |
/vendor/team | POST | Create sub-user |
/vendor/team/:id | PUT | Update sub-user |
/vendor/team/:id/permissions | PUT | Update permissions |
/vendor/team/:id/toggle | POST | Enable/disable |
/vendor/activity | GET | Activity log |
Related Files
| File | Purpose |
|---|---|
lib/screens/team/till_list_screen.dart | Till list |
lib/screens/team/subuser_list_screen.dart | Sub-user list |
lib/screens/team/add_subuser_screen.dart | Add sub-user |
lib/screens/team/edit_permissions_screen.dart | Edit permissions |
lib/controllers/team_controller.dart | Team controller |
lib/controllers/till_controller.dart | Till controller |
lib/services/team_service.dart | Team service |
lib/services/till_service.dart | Till service |