Skip to main content

Role Permissions Reference

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

A note on UI labels vs. code identifiers

UI labels and route paths now use the redesigned vocabulary; some database enum values still read the older names. Both are shown below side-by-side.

UI labelCode identifier todayEventual code identifier
Platform AdminPLATFORM_ADMINPLATFORM_ADMIN (no change)
Org AdminTENANT_ADMINORG_ADMIN
Location AdminLOCATION_ADMINLOCATION_ADMIN (no change)
StaffPROMOSTAFF
Outside PromotionsOUTSIDE_PROMOTIONSPROMOTER

The legacy Auditor role (AUDITOR) has been retired. Anyone previously assigned that role has been migrated to Location Admin with the same location scope.

Role Hierarchy

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

UI labelCode identifierLevelAccess Scope
Platform AdminPLATFORM_ADMIN100All Organizations, all locations
Org AdminTENANT_ADMIN80All locations in the Organization
Location AdminLOCATION_ADMIN60Assigned locations only
Location Manager (deprecated alias)LOCATION_MANAGER60(Alias for Location Admin)
(Legacy alias)DOOR60(Legacy alias for Location Admin)
(Legacy alias)BAR60(Legacy alias for Location Admin)
StaffPROMO40Kiosk-mode functions only

Important: DOOR and BAR are legacy role names that map to LOCATION_ADMIN (level 60). Staff with these legacy roles have the same permissions as Location Admin.

Permission Matrix

The tables below use code identifiers in column headers since those are what the API enforces. Map them to UI labels using the table above (TENANT_ADMIN = Org Admin, PROMO = Staff, etc.).

Configuration & Setup

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
Create OrganizationsYesNoNoNo
Manage Organization settingsYesYesNoNo
Create locationsYesYesNoNo
Edit locationsYesYesOwn onlyNo
Create card tiersYesYesNoNo
Edit card tiersYesYesNoNo
Create perk rulesYesYesNoNo
Edit perk rulesYesYesNoNo

People Management (formerly "User Management")

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
Invite Org AdminsYesYesNoNo
Invite Location AdminsYesYesWithin their locationsNo
Invite StaffYesYesYes (their locations)No
Invite Outside Promotions partnersYesYesNoNo
Edit usersYesYesWithin their locationsNo
Delete usersYesYesWithin their locationsNo
View all usersYesYesOwn OrganizationNo

Note: TENANT_ADMIN cannot create other TENANT_ADMIN or PLATFORM_ADMIN users.

Member Management

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
View all MembersYesYesLocation-scopedLookup in kiosk
Create MembersYesYesYesYes (Sign-Up kiosk)
Edit MembersYesYesYesNo
Suspend cardsYesYesYesNo
Revoke cardsYesYesYesNo
View visit historyYesYesLocation-scopedNo
Export Member dataYesYesLocation-scopedNo

Location-scoped: Location Admin can only see Members who have visited their assigned locations.

Floor (live in-venue operations)

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
Door scanningYesYesYesDoor / All kiosk
Bar redemptionYesYesYesBar / All kiosk
Sign-Up ScannerYesYesYesSign-Up / All kiosk
Member lookupYesYesYesYes (kiosk)
Issue ticketsYesYesYesDoor kiosk
Redeem ticketsYesYesYesBar kiosk
Manager overrideYesYesYesNo

Acquire (Sign-Up Assets, Coupons, Outside Promotions Program)

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
Manage Sign-Up AssetsYesYesView onlyNo
Manage CouponsYesYesNoNo
Manage Outside Promotions ProgramYesYesNoNo

Engage (Announcements, Offers, Perks)

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
Create offersYesYesNoNo
Edit offersYesYesNoNo
Publish offersYesYesNoNo
Pause/cancel offersYesYesNoNo
View offer performanceYesYesLocation-scopedNo
Send AnnouncementsYesYesNoNo

Insights (formerly "Reports")

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
Visit reportsYesYesLocation-scopedNo
Redemption reportsYesYesLocation-scopedNo
Financial reportsYesYesLocation-scopedNo
Enrollment reportsYesYesLocation-scopedNo
Fraud reportsYesYesLocation-scopedNo
Audit logsYesYesLocation-scopedNo
Export reportsYesYesLocation-scopedNo

System Administration

ActionPLATFORM_ADMINTENANT_ADMINLOCATION_ADMINPROMO
View system settingsYesNoNoNo
Modify system settingsYesNoNoNo
Access admin panelYesYesYesNo
View audit logsYesYesLocation-scopedNo

Role Descriptions

Platform Admin (PLATFORM_ADMIN)

Who: Hedges VIP platform administrators

Responsibilities:

  • Manage multiple Organizations on the platform
  • Configure system-wide settings
  • Create and manage Organization accounts
  • Cross-Organization analytics and reporting
  • Platform maintenance and updates

Typical users:

  • Hedges VIP staff
  • Platform support team

Key capabilities:

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

Org Admin (TENANT_ADMIN)

Who: Top-level administrators for a single Organization

Responsibilities:

  • Manage all locations in the Organization
  • Configure card tiers and perk rules
  • Invite and manage Org Admins, Location Admins, Staff, and Outside Promotions partners
  • Oversee all operational data
  • Financial reporting and analytics

Typical users:

  • Organization owners
  • General managers
  • Operations directors

Key capabilities:

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

Location Admin (LOCATION_ADMIN)

Who: Managers responsible for specific venues

Responsibilities:

  • View Members who visited their locations
  • Perform door and bar operations
  • Run location-specific reports
  • Manage Staff at their locations
  • Handle Member 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 Org-level settings
  • Full operational capabilities (door, bar, overrides)

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

Staff (PROMO)

Who: Anyone working the venue floor — door, bar, sign-up host

Responsibilities:

  • Scan Members at the door
  • Validate tickets at the bar
  • Enroll new Members
  • Look up a Member to resolve issues

Typical users:

  • Bouncers and door hosts
  • Bartenders and bar backs
  • Sign-up hosts and floor staff

Key capabilities:

  • Lands directly into the device's kiosk mode (Door, Bar, Sign-Up, or All) — no admin sidebar
  • Tools shown depend on the device, not the user — the same Staff login adapts to whichever station they're working
  • Cannot edit any configuration or run reports

Note: Previously labelled "Promo". The code enum value remains PROMO until the planned rename to STAFF.

Outside Promotions (OUTSIDE_PROMOTIONS)

Who: External partners who bring guests in for commission

Responsibilities:

  • Share their referral link / QR code
  • Track sign-ups, earnings, and payouts in their own portal

Typical users:

  • Independent promoters working venues on commission

Key capabilities:

  • Focused workspace at /promoter-portal — no admin sidebar
  • Sees only their own sign-ups, earnings, and payout requests

Note: Previously labelled "Concierge". The code enum value remains OUTSIDE_PROMOTIONS until the planned rename to PROMOTER. URLs use the concise /promoter and /promoter-portal paths.

Auditor (AUDITOR) — retired

The Auditor role has been removed. Previous Auditor users were migrated to Location Admin with the same location scope. Audit logs and reports remain accessible via Insights for Org Admins and Location Admins.

Role Assignment Best Practices

Principle of Least Privilege

Assign the MINIMUM role necessary:

  • Don't give Org Admin to people who only need Location Admin scope
  • Don't give Location Admin to floor staff
  • Don't give Org Admin to Outside Promotions partners

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
  • Organization context enforced via TenantGuard (note: code name retained)
  • Location filtering applied automatically
  • No way for users to bypass restrictions

Frontend restrictions:

  • UI hides features the 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, the backend rejects unauthorized requests.

Special Cases

Platform Admin Organization switching:

  • Can use x-tenant-id header (legacy code name) to access any Organization
  • Used for support and administration
  • All actions logged with original user and impersonated Organization

Manager overrides:

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

Cross-location access:

  • Org Admin sees all locations
  • Location Admin sees assigned locations only
  • Members visible based on location visit history

Role Limitations

What No Role Can Do

System-level restrictions:

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

What Only Platform Admin Can Do

  • Create Organizations
  • Delete Organizations
  • Access system configuration
  • View cross-Organization analytics
  • Impersonate other Organizations

What Requires Two-Person Authorization

Future feature:

  • Large financial overrides
  • Mass Member 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. Organization context (Platform Admin must select Organization)
  4. Session hasn't expired

Can't See Expected Data

Possible causes:

  1. Location Admin seeing only assigned locations
  2. Members 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)