How to Create a User

Think of it this way: A User represents anyone who interacts with your business—customers shopping online, employees working in stores, managers running locations, influencers promoting products, or VIP clients with special perks. Each user starts with basic contact information, then you add roles to define what they can do.


The Big Picture

User (Person)
├── Basic Information
│   ├── Name ← REQUIRED
│   ├── Email ← REQUIRED
│   ├── Phone
│   └── Status (Active/Inactive/Suspended)
└── Roles (What They Can Do)
    ├── Customer (shopping, wishlists, loyalty points)
    ├── Employee (store work, commissions, POS access)
    ├── Manager (store management, overrides, reports)
    ├── Influencer (social promotion, commission tracking)
    └── VIP (exclusive access, special discounts)

Critical Rule: Each user can have multiple roles, but only ONE of each role type.

Valid:

  • Customer + VIP (someone who shops and has VIP status)
  • Employee + Manager (someone who works and manages)
  • Customer + Influencer (someone who shops and promotes)

Invalid:

  • Customer + Customer (can't have two customer roles)
  • Employee + Employee (can't have two employee roles)

Step 1: Basic Information

Name (Required)

The person's full name as they prefer to be addressed.

Good Examples:

  • "John Smith"
  • "Sarah Johnson"
  • "Alex Rodriguez-Chen"

Avoid:

  • "john" (use proper capitalization)
  • "J. Smith" (use full name when possible)
  • "johnsmith123" (this is a username, not a name)

Naming Conventions:

  • Capitalize Properly: "John Smith" not "john smith"
  • Include Full Name: First and last name at minimum
  • Use Legal Name: This may appear on employment records or receipts
  • Hyphens for Compound Names: "Rodriguez-Chen" not "Rodriguez Chen"

Email (Required)

Valid email address for communication and account identification.

Good Examples:

Format: Must be a valid email format (validated automatically)

Important:

  • Each email should be unique per user
  • This is often used for login/authentication
  • Marketing communications may be sent to this address (if opted in)

Phone

Contact phone number. No specific format required.

Examples:

  • "(555) 123-4567"
  • "555-123-4567"
  • "+1 (555) 123-4567"
  • "5551234567"

When to Include:

  • Customer Role: For order updates and customer service
  • Employee/Manager Role: For shift scheduling and work communications
  • VIP Role: For concierge services

Status

Current account status. Controls whether the user can access systems.

Options:

  • Active (default): User can access all assigned functions
  • Inactive: Account exists but cannot be used (temporary)
  • Suspended: Account locked due to policy violations or security

Use Active when:

  • User is currently working (employees/managers)
  • Customer account is in good standing
  • VIP membership is current

Use Inactive when:

  • Employee on leave or between assignments
  • Customer hasn't shopped recently but account should remain
  • Seasonal staff not currently working

Use Suspended when:

  • Policy violations require investigation
  • Security concerns need resolution
  • Account under review

Created Date

Automatically set when the user is first created. Read-only.


Step 2: Assign Roles

Roles define what a user can do in your system. A user can have multiple roles, but only one of each type.

Understanding Role Types

Role Type          Who This Is For                What They Can Do
─────────────────────────────────────────────────────────────────────
Customer           Shoppers, buyers               Purchase, wishlists, loyalty
Employee           Store staff                    POS, sales, inventory
Manager            Store management               Overrides, reports, staff
Influencer         Social promoters               Commissions, promo codes
VIP                Premium customers              Exclusive access, discounts

Role 1: Customer

Who needs this: Anyone who purchases from your business.

Customer Role Fields

Loyalty Points

Accumulated points from purchases and promotions.

Default: 0

Managed by: Usually automated through sales transactions Displayed to: Customer accounts, POS systems

Store Credit Balance

Total available store credit from returns, promotions, or issued credits.

Read-only: Calculated automatically from store credit records How it works: Sum of all active store credit documents linked to this user

Wishlist

Product variants the customer has saved for later.

Limit: Maximum 100 items (performance warning) Behavior: Links to product variant documents Customer use: "Save for later," "favorites," quick reorder

Marketing Opt-In

Whether the customer agreed to receive marketing communications.

Default: False (must opt in) Controls:

  • Email newsletters
  • Promotional campaigns
  • Special offers

Legal Note: Respect GDPR, CAN-SPAM, and regional regulations

Preferred Store

Customer's default or favorite store location.

Usage:

  • Default pickup location for online orders
  • Personalized inventory availability
  • Targeted local promotions

Order History

Read-only list of all sales transactions for this customer.

Automatically maintained: Links to sales transaction documents Used for:

  • Purchase history
  • Returns processing
  • Customer lifetime value
  • Personalized recommendations

Role 2: Employee

Who needs this: Store staff, sales associates, cashiers.

Employee Role Fields

Employee ID (Required)

Unique identifier for this employee.

Good Examples:

  • "EMP-001"
  • "PDX-SA-123" (Portland, Sales Associate, #123)
  • "E12345"

Avoid:

  • "1" (too generic)
  • Duplicate IDs
  • Using name as ID

Naming Conventions:

  • Use Uppercase: "EMP-001" not "emp-001"
  • Consistent Pattern: Pick a format and stick to it
  • Include Context: Store code, role abbreviation, number
  • Globally Unique: Never reuse IDs

PIN Code

4 or 6-digit PIN for POS system access.

Format: Must be exactly 4 or 6 digits (validated automatically)

Valid:

  • "1234" (4 digits)
  • "123456" (6 digits)

Invalid:

  • "123" (too short)
  • "12345" (5 digits not allowed)
  • "abc123" (must be numbers only)

Security Notes:

  • Don't use obvious codes (1234, 0000, birthdates)
  • Change periodically
  • Don't share PINs between employees

Hourly Rate

Employee's hourly wage.

Optional: Can be left blank if not tracking compensation Used for:

  • Payroll integration
  • Labor cost calculations
  • Shift scheduling

Commission Rate

Percentage commission on sales (0-100%).

Default: 0.00 Format: Percentage value (e.g., "5.00" for 5%) Validation: Must be between 0 and 100, precision to 2 decimal places

Examples:

  • "2.50" = 2.5% commission
  • "5.00" = 5% commission
  • "10.00" = 10% commission

Store Assignments

Stores where this employee can work.

Multiple assignments allowed: Employee can work at multiple locations Controls:

  • Which POS systems they can access
  • Which store's inventory they can manage
  • Where they can clock in/out

Hire Date

When the employee started working.

Optional but recommended for:

  • Seniority tracking
  • Anniversary recognition
  • Benefits eligibility

Role 3: Manager

Who needs this: Store managers, shift supervisors, regional managers.

Note: Manager role includes ALL employee role fields, plus additional management capabilities.

Manager Role Fields (In Addition to Employee Fields)

Employee ID (Required)

Same as employee role—unique identifier.

PIN Code

Same as employee role—POS access code.

Hourly Rate

Same as employee role—compensation rate.

Department

Which department this manager oversees.

Examples:

  • "Sales"
  • "Operations"
  • "Visual Merchandising"
  • "Inventory"

Reporting Level

Manager's position in the hierarchy.

Options:

  • Store Manager: Manages one location
  • Regional Manager: Oversees multiple stores in a region
  • Corporate: Executive/headquarters management

Determines:

  • Access to reports
  • Number of direct reports
  • Budget authority

Override Permissions

Special capabilities beyond standard POS access.

Available Permissions:

  • Can Override Price: Adjust prices at POS
  • Can Issue High-Value Refund: Process large refunds
  • Can Override Discount: Modify or stack discounts

Security Note: Only grant necessary permissions

Django Admin Access

Backend system administration privileges.

Fields:

  • Is Staff: Can log into Django admin
  • Is Superuser: Full unrestricted access
  • Custom Permissions: Granular access controls

Warning: Superuser access is extremely powerful. Grant sparingly.

Reports To

This manager's supervisor.

Links to: Another user (typically with Manager role) Creates: Organizational hierarchy Used for:

  • Approval workflows
  • Escalation chains
  • Reporting structure

Store Assignments (Bidirectional Sync)

Stores this manager is assigned to.

Important: This syncs bidirectionally:

  • Adding stores here updates the store's managerIds list
  • Adding this manager to a store's managerIds updates this list

Multiple stores allowed for regional/corporate managers


Role 4: Influencer

Who needs this: Social media promoters, brand ambassadors, affiliate marketers.

Influencer Role Fields

Social Media Handle (Required)

Username on primary social platform.

Good Examples:

  • "@johndoe"
  • "@fashionista_sarah"
  • "alex_style"

Convention: Include @ prefix if desired, or just the username

Commission Rate (%)

Percentage commission on sales driven by this influencer.

Format: 0-100 Example: "10" = 10% commission on attributed sales

Follower Count

Number of followers on primary platform.

Usage:

  • Commission tier determination
  • Influencer ranking
  • Partnership evaluation

Note: Update periodically as this changes

Associated Discount Code

Promo code linked to this influencer.

Links to: Promo Code document How it works:

  1. Create a promo code (e.g., "SARAH10")
  2. Link it to the influencer
  3. Track usage and attribute sales

Commission tracking: Sales using this code count toward influencer commissions


Role 5: VIP

Who needs this: Premium customers, loyalty program members, high-value clients.

Note: VIP is typically combined with Customer role.

VIP Role Fields

VIP Tier

Customer's membership level.

Options:

  • Gold: Entry-level VIP benefits
  • Platinum: Mid-tier benefits
  • Diamond: Top-tier benefits

Determines: Available perks and discount levels

Personal Shopper

Dedicated staff member assigned to this VIP.

Links to: User with Employee or Manager role Services:

  • Personalized shopping assistance
  • Style consultations
  • Early product access coordination

Exclusive Access

Special privileges available to this VIP.

Available Perks:

  • Early Product Access: See new products before public launch
  • Private Sales: Access to VIP-only sales events
  • VIP Events: Invitations to exclusive events
  • Concierge Service: White-glove customer service

Multiple selections allowed: VIPs can have several perks

Special Discount Rate (%)

Additional discount percentage on all purchases.

Format: 0-100 Example: "15" = 15% discount on all eligible items Applied: Automatically at checkout Stacking: May or may not stack with other promotions (configured elsewhere)


Product Collections (All Users)

Users can create and manage product collections—wishlists, curations, staff picks.

Product Collections

User's custom collections of products.

Collection Types:

  • Wishlist: Personal "save for later" list
  • Curation: Curated product sets (for influencers, staff)
  • Staff Pick: Employee-recommended items
  • Bundle: Pre-grouped product sets

Filtering: Only shows collections owned by this user

Default Wishlist

Primary wishlist for quick-add actions.

Purpose: When user clicks "Add to Wishlist" without specifying, items go here Filter: Only shows collections of type "wishlist" owned by this user

Collection Statistics (Read-Only)

Aggregated stats across all user's collections.

Includes:

  • Total collections
  • Total items across all collections
  • Collection engagement metrics

Auto-calculated: Updated automatically


Common Questions

"Can a user have multiple roles?"

Yes! Users can have multiple roles, but only ONE of each type.

Valid Combinations:

  • Customer + VIP (regular shopper with VIP benefits)
  • Employee + Manager (someone who works and supervises)
  • Customer + Employee (staff member who also shops)
  • Customer + Influencer + VIP (loyal customer who promotes and has VIP perks)

Invalid Combinations:

  • Customer + Customer (duplicate role type)
  • Employee + Employee (duplicate role type)

"What's the difference between Employee and Manager roles?"

Employee Role:

  • Works at stores
  • POS access via PIN
  • Sales and inventory tasks
  • Commission tracking

Manager Role:

  • All Employee capabilities
  • PLUS override permissions
  • PLUS staff management
  • PLUS access to reports
  • PLUS potential Django admin access

Think of it as: Manager = Employee + Extra Powers

"How do store assignments work?"

For Employees:

  • One-directional: Set in the employee's role
  • Controls which stores they can access

For Managers:

  • Bidirectional: Syncs with store's managerIds field
  • Adding manager to store updates their assignments
  • Adding store to manager updates the store's manager list

"What happens when I change a user's status to Inactive?"

Active → Inactive:

  • User cannot log in or access systems
  • Historical data preserved
  • Can be reactivated later
  • Orders, commissions, and history remain

When to use:

  • Employee on leave
  • Seasonal staff in off-season
  • Customer account maintenance

When NOT to use:

  • Policy violations (use Suspended)
  • Permanent termination (consider deletion or keep Inactive with notes)

"How does the wishlist differ from Product Collections?"

Wishlist (in Customer Role):

  • Legacy field
  • Direct references to product variants
  • Simple list structure
  • Limited to 100 items

Product Collections (new system):

  • More powerful and flexible
  • Multiple collection types
  • Curations, staff picks, bundles
  • No hard limit
  • Better organization

Recommendation: Use Product Collections for new implementations.

"What are Override Permissions and who needs them?"

Override Permissions allow managers to bypass normal POS rules:

Can Override Price:

  • Negotiate special pricing
  • Match competitor prices
  • Adjust for damaged items
  • VIP pricing adjustments

Can Issue High-Value Refund:

  • Process refunds over standard limit
  • Handle complex return situations
  • Authorize large credit amounts

Can Override Discount:

  • Stack multiple discounts
  • Apply additional discounts beyond policy
  • Special customer accommodations

Grant to: Store Managers, Shift Supervisors, Customer Service Managers

Don't grant to: Regular employees (creates security risk)


Naming Best Practices Summary

User Names

  • Proper capitalization ("John Smith")
  • Full legal name preferred
  • Hyphens for compound names
  • Don't use all lowercase
  • Don't use usernames instead of names

Employee IDs

  • Uppercase letters and hyphens
  • Consistent pattern across all employees
  • Globally unique
  • Include context (store code, role)
  • Don't use sequential numbers without context
  • Never reuse IDs

PIN Codes

  • Exactly 4 or 6 digits
  • Unique per user
  • Secure (not 1234, 0000)
  • Don't share PINs
  • Don't use birthdates or obvious patterns

Social Handles

  • Include @ prefix or just username
  • Primary platform handle
  • Keep updated if handle changes

Quick Checklist

Before publishing a user, verify:

  • Name is properly capitalized and complete
  • Email is valid and unique
  • Status is set appropriately (Active/Inactive/Suspended)
  • At least one role is assigned
  • No duplicate role types
  • If Employee/Manager: Employee ID is unique
  • If Employee/Manager: PIN is 4 or 6 digits
  • If Manager: Store assignments are correct
  • If Manager: Override permissions are appropriate
  • If Influencer: Social handle and promo code are linked
  • If VIP: Tier and exclusive access are configured

Role Combinations Guide

Common scenarios and recommended role setups:

Online Shopper

Roles: Customer Why: Basic shopping capabilities, order history, wishlist

Retail Employee

Roles: Employee Configuration:

  • Employee ID
  • PIN for POS access
  • Store assignments
  • Hourly rate and/or commission rate

Store Manager

Roles: Manager Configuration:

  • All employee fields
  • Reporting level: "Store Manager"
  • Override permissions (price, refunds, discounts)
  • Store assignments (usually 1 store)

Regional Manager

Roles: Manager Configuration:

  • All employee fields
  • Reporting level: "Regional Manager"
  • Store assignments (multiple stores in region)
  • Django admin access (potentially)

Social Media Influencer (Non-Customer)

Roles: Influencer Configuration:

  • Social handle
  • Commission rate
  • Follower count
  • Promo code link

Influencer Who Also Shops

Roles: Customer + Influencer Why: Track their purchases AND their promotional activity Configuration:

  • Customer: Loyalty points, order history
  • Influencer: Social handle, commission tracking

VIP Customer

Roles: Customer + VIP Configuration:

  • Customer: Standard shopping features
  • VIP: Tier (Gold/Platinum/Diamond), exclusive access, special discount

Employee Who Shops

Roles: Employee + Customer Why: Employee discount purchases tracked separately from their work Configuration:

  • Employee: Work-related info
  • Customer: Personal shopping, loyalty

Staff Member Promoting on Social

Roles: Employee + Influencer Configuration:

  • Employee: Store work and POS access
  • Influencer: Side income from social promotion

System Relationships

Understanding how users connect to other parts of the system:

Users Connect To:

Stores (via Manager/Employee roles):

  • user.roleManager.storeAssignmentsstore.managerIds (bidirectional)
  • user.roleEmployee.storeAssignments → Store (one-way)

Sales Transactions (via Customer role):

  • user.roleCustomer.orderHistory → Sales Transaction
  • Transaction links back to customer

Product Collections:

  • user.collections → User Product Collections
  • user.defaultWishlist → Specific collection

Promo Codes (via Influencer role):

  • user.roleInfluencer.discountCode → Promo Code
  • Track influencer-driven sales

Store Credit:

  • user.roleCustomer.storeCredit ← Calculated from Store Credit documents
  • Store Credit documents link to user

Wishlists:

  • user.roleCustomer.wishlist → Product Variants
  • Direct references to products

Tips for User Management

Onboarding New Employees

  1. Create user with name, email, phone
  2. Set status to Active
  3. Add Employee role with:
    • Unique Employee ID
    • 4 or 6-digit PIN
    • Store assignment(s)
    • Hourly rate
  4. Train on PIN security
  5. Test POS access

Promoting Employee to Manager

  1. Open existing employee user
  2. Add Manager role (keep Employee role if they still work shifts)
  3. Configure manager-specific fields:
    • Reporting level
    • Override permissions
    • Store assignments (may differ from employee assignments)
  4. Grant Django admin access if needed
  5. Update reporting structure

Setting Up VIP Customers

  1. Ensure user has Customer role
  2. Add VIP role
  3. Select appropriate tier (Gold/Platinum/Diamond)
  4. Configure exclusive access perks
  5. Set special discount rate
  6. Assign personal shopper if applicable

Managing Influencer Partnerships

  1. Create user (or add to existing customer)
  2. Add Influencer role
  3. Enter social media handle
  4. Create unique promo code
  5. Link promo code to influencer
  6. Set commission rate
  7. Record initial follower count

Deactivating Users Properly

Temporary (leave, seasonal):

  • Status → Inactive
  • Keep all role data
  • User cannot access systems
  • Can reactivate later

Policy Violation:

  • Status → Suspended
  • Investigate issue
  • Restore to Active or make permanent decision

Permanent Departure:

  • Option 1: Keep as Inactive (preserves history)
  • Option 2: Delete (removes from system)
  • Recommendation: Keep inactive for historical reporting

Was this page helpful?