Skip to content

Roles ​

A role allows a user to access parts of the app or perform actions. A user can have none, one, or many roles. Unless specified otherwise, a user can only have a role once (1:1).

Note: the legacy admin is deprecated and has a different setup with regards to roles, so this only discusses roles in the context of the new backoffice (NBO) and storefront. Soon-to-be deprecated roles are also left out.

Last updated on 2025-07-28.

Main ​

Super admin ​

Assigned to a Qbixx developer.

  • Has access to everything
  • Does not have access to PMO or questionnaire-engine functionality that requires the separate MyClic participant role.

Admin ​

Assigned to a Smart Health employee.

  • Can manage all resources and access all pages in the main backoffice
  • Can preview the storefront of any store

Content manager ​

Assigned to a Smart Health employee.

  • Can manage products in the main backoffice
  • Can manage categories in the main backoffice
  • Can manage content in the main backoffice
  • Can manage challenges in the main backoffice
  • Can manage challenge leaderboards in the main backoffice
  • Can manage selection rules (selection criteria) in the main backoffice
  • Can manage selection groups (decision groups) in the main backoffice
  • Can manage news notifications (announcements) in the main backoffice
  • Can preview the storefront of any store

Demo user manager ​

Assigned to a Smart Health employee.

  • Can initiate demo mode and walk through the storefront using fictional values
  • Uses the "demo user" role internally

Health partners ​

Health partner admin ​

Assigned to the owner or a manager of a third-party client.

  • Can manage all resources and access all pages in the health partner backoffice
  • Can only manage their own health partner(s)
  • Can be assigned multiple times for different health partners (1:n)
  • Internal name: provider admin

Stores ​

Projectmanager ​

Assigned to a Smart Health employee.

  • Can manage all resources and access all pages in the store backoffice
  • Can only manage their own store(s)
  • Can preview the storefront of any of their own stores
  • Can be assigned multiple times for different stores (1:n)

HR Manager ​

Assigned to a manager of a store.

  • Can view the health index
  • Can be assigned multiple times for different stores (1:n)

Store Employee ​

Assigned to an employee of a store.

  • Can view and interact with the storefront
  • Can be assigned multiple times for different stores (1:n)

Other ​

MyClic participant ​

  • Code: Roles::MY_CLIC_PARTICIPANT (my-clic-participant)
  • Special role, not shown on the users table and not invited
  • Created on InvitationAccepted via ConnectQeParticipant
  • Lets the user talk to the questionnaire engine and fill out PMO questionnaires

Adding a new role ​

  • Add the role to \Domain\Users\Enums\Roles
  • Add the relation to \Domain\Users\Models\User

Backoffice ​

  • Add a translation in lang/nl_NL.json
  • Handle it in \Interfaces\Backoffice\Main\Data\Users\IndexUsersTableRowData and IndexUsersTableRowDataFactory::roles()
  • Add a color case in resources/js/components/Backoffice/Shared/Tags/RoleTag.vue
  • The Vue index pages (IndexInvitations.vue, IndexUsers.vue) only translate $t(role)
  • Extend ShowUser::getRoles(), DeleteUserRole, and RoleModelFactory for contextual roles
  • Handle the relation in \Interfaces\Backoffice\Main\Filters\Users\UserRoleFilter
  • Handle the relation's address in \Interfaces\Backoffice\Main\Filters\Users\UserCountryFilter
  • Load it in \Interfaces\Backoffice\Main\Tables\IndexUsersTable