Skip to main content

Role Permissions Reference

Complete reference guide for user roles and their permissions in the ClubVIP platform.

Role Hierarchy

The system uses a numeric hierarchy where higher-level roles inherit permissions from lower-level roles:

RoleLevelAccess Scope
PLATFORM_ADMIN100All tenants, all locations
TENANT_ADMIN80All locations in tenant
LOCATION_ADMIN60Assigned locations only
LOCATION_MANAGER60(Deprecated alias for LOCATION_ADMIN)
DOOR60(Deprecated alias for LOCATION_ADMIN)
BAR60(Deprecated alias for LOCATION_ADMIN)
PROMO40Enrollment functions only
AUDITOR20Read-only access

Important: DOOR and BAR are legacy role names that map to LOCATION_ADMIN (level 60). This means staff with DOOR or BAR roles have the same permissions as LOCATION_ADMIN.

Permission Matrix

Configuration & Setup

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
Create tenantsYesNoNoNoNo
Manage tenant settingsYesYesNoNoNo
Create locationsYesYesNoNoNo
Edit locationsYesYesOwn onlyNoNo
Create card tiersYesYesNoNoNo
Edit card tiersYesYesNoNoNo
Create perk rulesYesYesNoNoNo
Edit perk rulesYesYesNoNoNo

User Management

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
Create usersYesYesNoNoNo
Edit usersYesYesNoNoNo
Delete usersYesYesNoNoNo
Assign rolesYesYes (limited)NoNoNo
View all usersYesYesOwn tenantNoNo

Note: TENANT_ADMIN can create users but cannot create other TENANT_ADMIN or PLATFORM_ADMIN users.

Customer Management

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
View all customersYesYesLocation-scopedNoYes (read-only)
Create customersYesYesYesYesNo
Edit customersYesYesYesNoNo
Suspend cardsYesYesYesNoNo
Revoke cardsYesYesYesNoNo
View visit historyYesYesLocation-scopedNoYes
Export customer dataYesYesLocation-scopedNoNo

Location-scoped: LOCATION_ADMIN can only see customers who have visited their assigned locations.

Daily Operations

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
Door scanningYesYesYesNoNo
Bar redemptionYesYesYesNoNo
Customer lookupYesYesYesYesYes (read-only)
Issue ticketsYesYesYesNoNo
Redeem ticketsYesYesYesNoNo
Manager overrideYesYesYesNoNo

Offers & Promotions

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
Create offersYesYesNoNoNo
Edit offersYesYesNoNoNo
Publish offersYesYesNoNoNo
Pause/cancel offersYesYesNoNoNo
View offer performanceYesYesLocation-scopedNoYes (read-only)

Reports & Analytics

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
Visit reportsYesYesLocation-scopedNoYes
Redemption reportsYesYesLocation-scopedNoYes
Financial reportsYesYesLocation-scopedNoYes
Enrollment reportsYesYesLocation-scopedNoYes
Fraud reportsYesYesLocation-scopedNoYes
Audit logsYesYesLocation-scopedNoYes
Export reportsYesYesLocation-scopedNoYes

System Administration

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMOAUDITOR
View system settingsYesNoNoNoNo
Modify system settingsYesNoNoNoNo
Access admin panelYesYesYesNoNo
View audit logsYesYesLocation-scopedNoYes

Role Descriptions

PLATFORM_ADMIN

Who: ClubVIP platform administrators

Responsibilities:

  • Manage multiple tenants (customers)
  • Configure system-wide settings
  • Create and manage tenant accounts
  • Cross-tenant analytics and reporting
  • Platform maintenance and updates

Typical users:

  • ClubVIP staff
  • Platform support team

Key capabilities:

  • Can switch between any tenant using tenant selector
  • Has override access to all features
  • Can impersonate other roles for testing

TENANT_ADMIN

Who: Top-level administrators for a single club/operator

Responsibilities:

  • Manage all locations for their organization
  • Configure card tiers and perk rules
  • Create and manage staff users
  • Oversee all operational data
  • Financial reporting and analytics

Typical users:

  • Club owners
  • General managers
  • Operations directors

Key capabilities:

  • Full access within their tenant
  • Cannot see other tenants' data
  • Cannot create other TENANT_ADMIN users (only lower roles)

LOCATION_ADMIN

Who: Managers responsible for specific venues

Responsibilities:

  • View customers who visited their locations
  • Perform door and bar operations
  • Run location-specific reports
  • Handle customer issues
  • Manage day-to-day operations

Typical users:

  • Venue managers
  • Head bartenders
  • Senior floor staff

Key capabilities:

  • Can see data for assigned locations only
  • Cannot create perk rules or offers
  • Cannot manage other users
  • Full operational capabilities (door, bar, overrides)

Note: DOOR and BAR legacy roles map to this level.

PROMO

Who: Staff dedicated to enrolling new VIP members

Responsibilities:

  • Enroll new customers
  • Issue VIP cards
  • Explain program benefits
  • Handle enrollment questions

Typical users:

  • Promo staff
  • Host/hostesses
  • Marketing staff

Key capabilities:

  • Limited to enrollment functions
  • Can create customer records
  • Can issue new cards
  • Cannot access operational features

AUDITOR

Who: Staff needing read-only access for oversight

Responsibilities:

  • Review audit logs
  • Generate reports
  • Monitor compliance
  • Investigate discrepancies

Typical users:

  • Compliance officers
  • External auditors
  • Financial reviewers

Key capabilities:

  • Read-only access to all data
  • Cannot modify any records
  • Cannot perform operations (door, bar)
  • Full reporting access

Role Assignment Best Practices

Principle of Least Privilege

Assign the MINIMUM role necessary:

  • Don't give TENANT_ADMIN to location managers
  • Don't give LOCATION_ADMIN to promo staff
  • Use AUDITOR for read-only needs

Why:

  • Reduces risk of accidental changes
  • Simplifies training
  • Improves audit trails
  • Limits damage from compromised accounts

Location Assignments

For LOCATION_ADMIN roles:

  • Assign ONLY the locations they manage
  • Don't assign all locations unless necessary
  • Review assignments quarterly
  • Remove old locations when staff transfers

Role Review Process

Quarterly review:

  1. List all users and their roles
  2. Verify each user needs their current role
  3. Check location assignments are current
  4. Remove inactive users
  5. Document any changes

Permission Checks

How Permissions Work

Backend enforcement:

  • All API requests validated by role
  • Tenant context enforced via TenantGuard
  • Location filtering applied automatically
  • No way for users to bypass restrictions

Frontend restrictions:

  • UI hides features user can't access
  • Navigation only shows allowed pages
  • Buttons disabled for restricted actions

Important: Security is enforced at API level. Even if someone manipulates the UI, backend rejects unauthorized requests.

Special Cases

PLATFORM_ADMIN tenant switching:

  • Can use x-tenant-id header to access any tenant
  • Used for support and administration
  • All actions logged with original user and impersonated tenant

Manager overrides:

  • Higher-level roles can override lower-level restrictions
  • Example: TENANT_ADMIN can override location-specific settings
  • All overrides logged to audit trail

Cross-location access:

  • TENANT_ADMIN sees all locations
  • LOCATION_ADMIN sees assigned locations only
  • Customers visible based on location visit history

Role Limitations

What No Role Can Do

System-level restrictions:

  • Modify audit logs (append-only)
  • Delete customer records (only suspend/revoke)
  • Change historical redemption data
  • Bypass fraud detection

What Only PLATFORM_ADMIN Can Do

  • Create tenants
  • Delete tenants
  • Access system configuration
  • View cross-tenant analytics
  • Impersonate other tenants

What Requires Two-Person Authorization

Future feature:

  • Large financial overrides
  • Mass customer data changes
  • Perk rule deletions
  • System-wide configuration changes

Troubleshooting Permissions

"Access Denied" Error

Check:

  1. User's role assignment
  2. Location assignments (if applicable)
  3. Tenant context (PLATFORM_ADMIN must select tenant)
  4. Session hasn't expired

Can't See Expected Data

Possible causes:

  1. LOCATION_ADMIN seeing only assigned locations
  2. Customers haven't visited your locations
  3. Date filters excluding data
  4. Role doesn't have read access to that data type

Can't Perform Action

Verify:

  1. Role has permission for action (see matrix above)
  2. Target resource is in your scope
  3. Action requires higher privilege level
  4. System-level restriction (e.g., can't delete audit logs)