Tenant Roles

Roles package IVPrior capabilities for staff beyond (and including) the six system roles (OWNER, ADMIN, MANAGER, STAFF, KITCHEN, CASHIER). You pick permissions from the global IVPrior catalog inside the role wizard — there is no separate Settings → Permissions screen for tenants.

Screen overview

Tenant Roles list

Figure: Roles list — Search, Filter, Export, columns Code / Name / Permissions / Status / Created, and row actions.

What each column means

Code

Stable identifier in UPPER_SNAKE_CASE (for example SHIFT_LEAD). IVPrior suggests it from Name while you type. It is unique per tenant and is what APIs and audit trails reference. System roles use codes such as OWNER and KITCHEN.

Name

Human-readable label shown in the UI and in Users & invites (for example “Shift Lead”). Unique inside your tenant.

Permissions

Count of global IVPrior permission keys granted by this role (for example orders.read, roles.create). A user’s effective access is the union of permissions on their assigned role (no per-user overrides in this release).

In the role wizard, each resource shows four CRUD columns:

  • Read — view lists and details (*.read)
  • Create — add new records (*.create)
  • Update — edit existing records (*.update)
  • Delete — remove or deactivate records (*.delete)

Use Select all CRUD to toggle those four actions for one resource. Capabilities that are not view/add/edit/delete (for example menus.publish or payments.refund) appear under Special for that resource.

Status

  • Active — can be assigned to users and invites; contributes permissions at login.
  • Inactive — soft-deleted; hidden from the default list filter; blocked from new assignments until reactivated.

Created

Date the role was created (tenant timezone display). Use Filter → date range to narrow the list.

System roles

Seeded at registration (OWNERCASHIER). Bulk-delete and some edits are restricted. The OWNER role is break-glass: you can open it to inspect the matrix, but you cannot strip its permissions or delete it. Clone OWNER if you need a powerful custom role you can edit.

Add or edit a role

  1. Open Settings → Roles.
  2. Add role, or open ⋮ → Edit / Clone on a row.
  3. Basics — Name, Code (suggested), Description, and Role active.
  4. Permissions — for each resource, toggle Read / Create / Update / Delete (view / add / edit / delete). Use Select all CRUD for the four standard actions; grant non-CRUD keys under Special.
  5. Finish / Save — the role appears in the list and can be selected in Users & invites.

Delete / deactivate

Custom roles (and non-OWNER system roles) without assigned users or pending invites can be deactivated. If the API reports dependents, reassign those users first. Soft-deleted roles stay in the catalog as Inactive (filter Status → Inactive to see them).

Permissions required

  • View Roles: roles.read or a roles mutation permission (roles.create / roles.update / roles.delete) (OWNER/ADMIN also allowed).
  • Create / edit / clone / deactivate: roles.create, roles.update, or roles.delete as applicable (or OWNER/ADMIN).

Related