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
InvitationAcceptedviaConnectQeParticipant - 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\IndexUsersTableRowDataandIndexUsersTableRowDataFactory::roles() - Add a color
caseinresources/js/components/Backoffice/Shared/Tags/RoleTag.vue - The Vue index pages (
IndexInvitations.vue,IndexUsers.vue) only translate$t(role) - Extend
ShowUser::getRoles(),DeleteUserRole, andRoleModelFactoryfor 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