Overview
Assistants can:- Manage the full studio schedule for all artists
- Handle client intake and information
- View financial reports and transactions
- Check inventory levels
- Perform sensitive actions with master code elevation
Assistants have
allow access to most daily operations, but require master code for actions that could impact studio finances or data integrity.Core Capabilities
Agenda Management (Full Access)
Assistants have unrestricted access to scheduling:services/permissions.py:40-47.
Daily workflows:
- Book walk-in appointments
- Confirm upcoming appointments via phone/text
- Reschedule appointments due to artist availability
- Mark appointment outcomes (completed, no-show, canceled)
- Block time for events, meetings, or closures
- Print daily schedules for each artist
Client Database (Read + Create)
Assistants can view all clients and create new records:services/permissions.py:50-56.
Without master code:
- Search and view client information
- Create new client records during intake
- Attach consent forms to appointments
- View client notes from all artists
- Correct errors in client information (phone, email, etc.)
- Delete duplicate or test clients
- Export client lists for marketing
Staff and Portfolio (View Only)
Assistants can view staff and portfolios but cannot modify:services/permissions.py:59-64.
Use cases:
- Show portfolios to walk-in clients
- Check artist specialties when booking
- View artist contact information
- Reference artist availability schedules
Financial Reports
Assistants can view reports but need elevation for modifications:services/permissions.py:67-71.
Without master code:
- View daily/weekly/monthly revenue reports
- Check individual transaction details
- Verify payment status of appointments
- Process customer refunds
- Void incorrect transactions
- Close cash drawer at end of shift
- Export financial data for accounting
Inventory
Assistants can check stock levels but need elevation for changes:services/permissions.py:74-80.
Without master code:
- Check if supplies are in stock
- View reorder points and alerts
- Look up product SKUs and pricing
- Process supply deliveries
- Adjust quantities for discrepancies
- Add new inventory items
- Conduct physical inventory counts
Security Settings (No Access)
Assistants cannot access any security features:services/permissions.py:83-86.
These features are admin-only for security reasons.
Master Code Elevation
The master code system allows assistants to perform sensitive actions without requiring an admin to be present.How It Works
When an assistant attempts alocked action:
- System prompts for master code
- Assistant enters the studio’s master code
- Code is verified against hashed value in settings
- If correct, assistant is elevated for 5 minutes
- During elevation window, all
lockedactions are allowed - Elevation expires automatically after timeout
services/permissions.py:152-159 and services/permissions.py:111-112.
Checking Elevation Status
The UI should display elevation status prominently:services/permissions.py:106-108 for elevation checking.
Actions Requiring Master Code
Use this helper to check if an action needs elevation:services/permissions.py:102-103.
Complete list of locked actions for assistants:
| Resource | Action | Why It’s Locked |
|---|---|---|
clients | edit | Prevent accidental data corruption |
clients | delete | Protect against accidental deletion |
clients | export | Sensitive personal information |
reports | export | Financial data protection |
reports | refund_void | Financial impact |
reports | cash_close | End-of-day reconciliation |
inventory | create_item | Affects cost tracking |
inventory | edit_item | Affects pricing and costs |
inventory | stock_in | Financial impact of deliveries |
inventory | stock_adj | Inventory value adjustments |
inventory | cycle_count | Critical accuracy operation |
inventory | export | Business intelligence data |
Elevation Timeout
Elevation is time-limited to reduce security risk:Best practice: Elevation automatically expires. Assistants must re-enter the code for new operations after timeout.
Elevation Workflow Example
Scenario: Customer requests a refund for a canceled appointment.- Assistant navigates to transaction in Reports
- Clicks “Refund” button
- System detects
reports.refund_voidislocked - Modal prompts: “This action requires master code”
- Assistant enters master code
- System calls
verify_master_code(plain, db) - If valid:
- Calls
elevate_for(user.id, 5) - Allows refund to proceed
- Shows “Elevated” badge with 5-minute timer
- Calls
- Assistant can process additional refunds within 5 minutes
- After 5 minutes, elevation expires automatically
Security Considerations
Guidelines for assistants:- Never share the master code with clients or unauthorized staff
- Never write down the code where clients can see it
- Don’t remain elevated longer than necessary
- Log out when leaving the desk unattended
- Report suspected code compromise to admin immediately
- Rotate master code every 90 days
- Change code immediately when assistant leaves
- Monitor audit logs for elevation patterns
- Investigate suspicious elevated actions
What Assistants Cannot Do
Understanding limitations is important:Never Allowed (Even with Master Code)
User Management
User Management
Portfolio Management
Portfolio Management
Security Settings
Security Settings
Daily Workflows
Opening the Studio
- Log in with assistant credentials
- Review today’s schedule for all artists
- Check for appointment confirmations needed
- Review any notes from previous shift
- Verify inventory of commonly used supplies
- Prepare consent forms for first appointments
Booking a Walk-In
- Search for existing client or create new:
- Client name, phone, email
- No master code needed for creation
- Check artist availability in agenda
- Create new appointment:
- Select artist, date, time
- Choose service type and duration
- Add any special notes
- Have client sign consent form
- Collect deposit if required
Handling a Refund Request
- Navigate to Reports > Transactions
- Find the payment transaction
- Click “Refund” button
- System prompts for master code
- Enter master code (elevates for 5 minutes)
- Complete refund form:
- Refund amount (full or partial)
- Reason for refund
- Refund method (original payment method)
- Confirm refund
- Print receipt for customer
Closing Cash Drawer
- Navigate to Reports > Cash Close
- System prompts for master code
- Enter master code (elevates for 5 minutes)
- Review expected cash amount
- Count physical cash in drawer
- Enter actual cash amount
- System calculates overage/shortage
- Add notes if there’s a discrepancy
- Submit cash close report
- Print report for manager review
Processing Supply Delivery
- Navigate to Inventory
- Click “Receive Stock”
- System prompts for master code
- Enter master code (elevates for 5 minutes)
- Scan or enter items received:
- Product SKU or name
- Quantity received
- Lot/batch number if applicable
- Verify against packing slip
- Submit stock receipt
- File packing slip for accounting
Tips for Assistants
Minimize Elevation Time
Minimize Elevation Time
Plan your elevated tasks in batches:
- Process all refunds together
- Adjust multiple inventory items in one session
- Complete cash close without interruption
Double-Check Client Edits
Double-Check Client Edits
Since editing clients requires elevation, always verify information before saving:
- Confirm spelling of names
- Verify phone and email format
- Check that you’re editing the correct client
Use Notes Liberally
Use Notes Liberally
You have full access to client and appointment notes without elevation:
- Document client preferences
- Note special instructions for artists
- Record phone confirmations
- Track appointment changes
Know When to Ask Admin
Know When to Ask Admin
Some situations require admin judgment:
- Large refund requests (over studio policy)
- Suspected fraud or abuse
- System errors or unusual behavior
- Questions about access or permissions
Related Resources
Permissions Matrix
View all assistant permissions including locked actions
Admin Role
Learn about admin capabilities and master code management
Artist Role
Understand artist limitations and workflows
Agenda Management
Deep dive into scheduling features