Features
- User Management: Create staff accounts with email/password authentication
- Role-Based Access: Assign roles with specific permissions (admin, manager, cashier, waiter, kitchen)
- Branch Assignments: Assign staff to one or more branches
- Shift Tracking: Clock in/out functionality with shift history
- Password Management: Change staff passwords
- Active/Inactive Status: Enable or disable staff accounts
Authentication
Requires authentication and permissions:staff:read- View staff and shift datastaff:create- Create staff accounts and shiftsstaff:update- Update staff details and close shifts
Base URL
Staff Roles
org_admin- Full organization accessbranch_manager- Manage a specific branchcashier- Process payments and orderswaiter- Take orders and serve customerskitchen- View and update kitchen orders
Create Staff User
Create a new staff member.Endpoint
Request Body
Email address (must be unique)
Password (minimum 8 characters)
Full name (2-255 characters)
Role:
org_admin, branch_manager, cashier, waiter, or kitchenArray of branch UUIDs to assign (minimum 1)
Example Request
List Staff
Retrieve all staff for the organization with their branch assignments.Endpoint
Query Parameters
Set to
true to include inactive usersResponse
Request success status
Example Request
Update Staff
Update staff member details.Endpoint
Path Parameters
User UUID
Request Body
All fields are optional:Full name (2-255 characters)
New role
Active status
Array of branch UUIDs (replaces existing assignments)
Example Request
Change Password
Update a staff member’s password.Endpoint
Path Parameters
User UUID
Request Body
New password (minimum 8 characters)
Example Request
Clock In (Create Shift)
Create a new shift (clock in).Endpoint
Request Body
Optional notes (max 500 characters)
Behavior
- Uses authenticated user’s ID
- Prevents creating multiple open shifts
- Records start time automatically
Example Request
List Shifts
Retrieve shift history for the branch.Endpoint
Query Parameters
Filter shifts starting after this date (ISO 8601)
Filter shifts starting before this date (ISO 8601)
Response
Returns up to 50 most recent shifts.Example Request
Clock Out (End Shift)
Close an open shift (clock out).Endpoint
Path Parameters
Shift UUID
Behavior
- Sets end_time to current timestamp
- Returns error if shift is already closed