HRMS · Administration · Reference
Route /admin/appconfig · /hrms/appconfig UI ApplicationConfigPage org.json + role.json

Application Configuration
& Access Control

The definitive guide to organization master data, feature toggles, and role permissions — every key documented with live values, UI behaviour, and downstream impact across HRMS, Project, Sales, and Timesheet.

58App config keysorg.json · 4 modules
399+Configured valuesLists, trees, toggles
32Access groupsrole.json · 3 modules
191/232Permissions onSite Admin reference role

Org master and access

Lists, keys, and role flags — the store other screens read

Application Configuration is the definitive guide to organization master data, feature toggles, and role permissions — every key with behaviour and downstream impact. The live editor is Application Config in the product; this page is the map of what those keys mean.

Admin / HRMS → Application Config Route /admin/appconfig HR Admin · Org Admin

The job of this console

Look up a key before you change it, understand which screens will move, then edit in the live Config UI. Use search on this page to find a flag or list without wandering the left nav blind.

Seat at the table

Administrators. The in-app Guide lives on the Config left nav, not the hero — on purpose. Employees never edit org.json.

The working rhythm

Search the key, read the impact, open live Application Config, change the value, verify the downstream screen. Do not duplicate lists into a new table.

Moments that bring you here

A missing leave type in a dropdown. A module that will not appear. Role permission hunting. After an industry template apply.

ⓘ
Protected source of truth
Application Config is the org source of truth. Dashboards, AI, and Work Graph must not grow shadow lists. Persona masking still applies to sensitive values.

Interactive data flow simulators

This page lists static flag keys from org.json and role.json. Open simulators to toggle flags live and trace table-level effects.

Overview

🏢

Application configuration

org.json seeds dropdown lists, email routing, service-line trees, and boolean feature flags. Org units inherit from parent nodes; child teams override with the chain icon.

  • Bands, departments, skills
  • categoryMap service-line tree
  • PO & project notification emails
  • Persona navigation map & org kill switches
🔐

Access control

role.json defines module visibility and CRUD gates. Roles attach to org units via Role Bar; users receive effective permissions on login refresh.

  • Sidebar module toggles
  • Persona access (personaModules)
  • Timesheet edit windows
  • Report catalog access

Org node

type=org — inherits parentValue until overridden. Use for team-specific department lists or regional notification emails.

Role node

type=role — permission template. Clone Site Admin to create Manager, Finance, or IC roles with reduced flags.

Inherit chain

Linked chain = use parent value. Broken chain = local override stored on this node (overridden=true).

Lock & hide

Lock blocks child overrides — ideal for enterprise-wide categoryMap. Hide removes from non-admin UI when combined with lock.

ℹ️
Who should use this page
Workspace administrators, IT ops, and implementation leads configuring Tracopus after deployment. Requires hrmsModules.appconfigEnabled on your role. Changes affect all users in the selected org scope on next config refresh.
💡
Work-Time Governance
Timesheet validation, deadline preview / late reason, approval-chain, import/export, estimates, and attendance-source features are a default-off catalog. Enable them from Admin → Feature flags; choices persist here on the HRMS module. Screen guide: Work-Time Governance.

Screen layout

The live screen at /hrms/appconfig mirrors the wireframe below — left tree navigation, hero identity bar, and scrollable module panel with filters.

Left menu
OrganizationRoles
  • ▸ Root
  •   ▸ Team Alpha
  •   ▸ Team Beta
  • + Add org unit
ApplicationConfigHero — name · parent · category · save
AllOverriddenLockedSearch…
HRMS16 keys
PROJECT26 keys
Role barassign template
Unsaved changes → Save (updateConfig)

Components

  • ApplicationConfigLeftMenu — org + role trees, create child nodes
  • ApplicationConfigHero — node identity inline edit
  • ApplicationConfigSection — module cards, config blocks
  • ApplicationConfigRoleBar — attach role templates to org units

Save & filters

  • All — every config key on selected node
  • Overridden — keys with local values (broken chain)
  • Locked — keys enforced for children
  • Save — persists value changes; property edits use updateConfigProperty

Configuration schema

Every item in org.json and role.json shares this shape — the UI renders different editors based on inputType.

label

Display name in module card header

value

Scalar, string[], boolean map, or nested tree object

inputType

null/list simple values · group CRUD toggles · multi tree editor

multiLevelLabel

Level names for 2–3 deep hierarchies (categoryMap, practiceMap)

overridden

Node stores its own value instead of inheriting parentValue

locked / hidden

Prevent child overrides; hide from non-admin when locked

parentValue

Effective inherited value when chain is linked

longList

Virtualized list UI for 50+ dropdown values

Part 1

Application configuration

Source: org.json · Root org Root · These keys populate dropdowns, validation, emails, and feature toggles across the platform.

HRMS

enabled 17 keys

Workforce master data — bands, departments, skills, practice hierarchy

Module HRMS · locked=false · parentEnabled=true

Compensation band

Simple list
band

Dropdown on employee profile and roster filters. Bands group grades for reporting and headcount analytics treemap.

↗ Employee create wizard, Employees charts, payroll exports

inputType · list
Live values 6 item(s)
Band D Band C Band E Band B Band A Band F

6 configured values

Grade within band

Simple list
grade

Finer compensation level (e.g. C 2, B 1). Used with band for org structure and capacity planning.

↗ Profile, roster sort, manager dashboards

inputType · list
Live values 14 item(s)
D 2 D 1 C 3 E 1 B 1 B 2 C 1 C 2 B 3 A 2 F 1 E 2 +2 more

14 configured values

Skills tags

Simple list
skills

Searchable skill tags assigned to employees. Drives Top skills chart and project staffing filters.

↗ Employee wizard Skills step, resource reports

inputType · list
Live values 7 item(s)
Java developer Web developer UI developer Data Analyst Business analyst Backend developer Data scientist

7 configured values

Business domains

Simple list
domains

Practice areas such as DPG, Data science. Cross-cuts departments for analytics.

↗ Employee profile, utilization by domain

inputType · list
Live values 4 item(s)
DPG Data science DE DM

4 configured values

Professional certifications

Simple list
certifications

Optional credentials list for compliance and staffing.

↗ Employee profile extended fields

inputType · list
Live values 2 item(s)
Certification 1 Certification 2

2 configured values

Country

Simple list
country

Employee work country for geo reporting and holiday calendars.

↗ Profile, attendance, regional filters

inputType · list
Live values 5 item(s)
India Singapore USA UAE UK

5 configured values

Employee type

Simple list
empType

Permanent, Contract, Consultant, Intern — affects roster filters and HR analytics donuts.

↗ Employees register SHOW chips, workforce reports

inputType · list
Live values 4 item(s)
Consultant Contract Intern Permanent

4 configured values

Division

Simple list
division

Top-level business division (e.g. Life Sciences, Research AI).

↗ Org hierarchy, executive dashboards

inputType · list
Live values 6 item(s)
Market Intelligence Research AI AI-Labs Life Sciences Digital & Advanced Analytics Support

6 configured values

Work location

Simple list
location

Office or remote site — used in location column charts and facilities planning.

↗ Profile, attendance matrix, hybrid workforce views

inputType · list
Live values 19 item(s)
Bengaluru WA - Washington Mumbai RE - Redmond FL - Florida AZ - Arizona Hyderabad CA - California Dubai GA - Georgia NC - North Carolina UK +7 more

19 configured values

Team name

Simple list
teamName

Delivery team labels; often populated per org unit. Empty at root means teams are created under org nodes.

↗ Team scope bars, project assignment

inputType · list
Live values 0 item(s)
Empty list — add values in App Config UI

Department

Simple list
department

HR department name on employee record. Powers department horizontal bar charts.

↗ Employees directory, org analytics

inputType · list
Live values 35 item(s)
Market Intelligence Research AI Advisory Insights & Analytics Artificial Intelligence & Product Engineering Life Sciences Digital & Advanced Analytics Global Primary Research Research & Analytics Administration Finance & Accounts Marketing & Corporate Communication +23 more

35 configured values

Job designation

Simple list
designation

Title ladder from Trainee through VP. Shown on profile hero and roster.

↗ Profile, employee cards

inputType · list
Live values 31 item(s)
Senior Vice President Vice President Associate Vice President Assistant Vice President Senior Director Director Senior Manager Manager Associate Manager Principal Data Scientist Senior Project Executive Senior Executive +19 more

31 configured values

Education qualification

Simple list
qualification

Highest qualification bucket for HR records.

↗ Employee profile

inputType · list
Live values 4 item(s)
Doctorate Masters Bachelors Diploma

4 configured values

Sub-department

Simple list
subDepartment

Finer org unit under department for large enterprises.

↗ Profile, filtered roster

inputType · list
Live values 60 item(s)
AMRI Global Primary Research Visual Services Market Intelligence Adomate Insights & Analytics Advisory Hitech Practice Artificial Intelligence & Product Engineering Quality Assurance Life Sciences Digital & Advanced Analytics +48 more

60 configured values

HR service category

Simple list
serviceCategory

Advisory, Delivery, Sales, Support, etc. — classifies employees for finance and utilization.

↗ Workforce planning, cross-charge

inputType · list
Live values 9 item(s)
Advisory AI-Labs Delivery Enabler Leadership Presales Product Sales Support

9 configured values

Practice hierarchy

Multi-level tree
practiceMap

Multi-level tree: Primary Practice → Secondary Practice. inputType=multi with multiLevelLabel.

↗ Project staffing, practice-based reporting

HierarchyL2: Primary Practice, L1: Secondary Practice
inputType · multi
Live values 2 item(s)
  • Primary Practice (2 sub-keys)
  • Primary Practice 1 (3 sub-keys)

Multi-level tree — expand in App Config UI

Persona navigation access

Property map
personaNavigationAdditional

Org-wide page→persona map and kill switches. Prefer the simplified UI at Admin → Persona navigation (/admin/persona-navigation): Turn off (personas / modules / pages) and Page access (pick one page, Product default vs Custom personas). Also editable under Application Config → Org → HRMS.

↗ Sidebar filtering, route guards, persona switcher, Admin → Roles page toggles (shared org map)

inputType · listlongList
Seed defaults (org.json) 4 fields
FieldWhat it controlsDefault
pagePersonaMapPath → allowed persona codes. Empty = use shipped sidebar personas[] catalog defaults.{}
disabledPersonasOrg kill: listed personas unavailable to everyone.[]
disabledPathsOrg kill: listed routes hidden for everyone. Protected: roles, persona-navigation, appconfig, setup-checklist.[]
disabledModulesOrg kill: whole product areas hidden (permission-module keys).[]

Org disables always win over role personaModules and page-map allow lists.

Attendance additional (org)

Feature toggles
attendanceAdditional

Why: Org-level attendance enhancement flags. Today the primary seed flag is regularization — missed punch / correction requests that go through manager approval instead of silently rewriting the matrix.

↗ Who: Admins set org policy. Employees submit corrections; reporting managers and attendance-scoped delegates approve. Requires role hrmsModules.attendanceEnabled.

inputType · listlongList
Seed flags (org.json) 1 field
FlagWhat it controlsWho / relatedDefault
attendanceRegularizationEnabled Turns on regularization request → approve flows on Attendance. Employees request; managers/delegates approve. Related: role attendance access + approvalDelegationEnabled. true

Timesheet additional (org)

Feature toggles
timesheetAdditional

Why: Org master switches for week-based timesheet approval, optional partial-week day batches, reopen, and intelligence. Without timesheetApprovalEnabled, saves stay on the legacy TaskActivity path and approval APIs fail closed. partialWeekSubmissionEnabled requires approval on and defaults false (full-week only).

↗ Who: Admins enable for the org. Employees submit weeks (or day batches when partial is on); managers and timesheet-scoped delegates approve/reject. Role enableTimeSheetApproval grants Approve UI — it does not replace this org switch.

inputType · listlongList
Seed flags (org.json) 4 fields
FlagWhat it controlsWho / relatedDefault
timesheetApprovalEnabled Submit → pending → approve/reject → lock via TimesheetWeek staging. Employees submit; managers/delegates approve. Related: role enableTimeSheetApproval. true
partialWeekSubmissionEnabled On: submit selected days as separate approval batches (ts_timesheet_submission_model); leftover DRAFT days stay editable. Off: full-week submit only; week locks while pending. Requires timesheetApprovalEnabled. Day chips in Timesheet / Employee360. Inbox ids SUBMISSION: vs WEEK:. false
timesheetReopenEnabled Allows reopening approved/locked weeks for correction (and batch reopen when partial is on). Managers (and owners in solo/self-approved cases). Related: role enableTimeSheetReopen. true
timesheetIntelligenceEnabled Timesheet intelligence / billability helper panels. Managers with Timesheet access. Related: usually needs approval workflow on. true

Approval delegation (org)

Feature toggles
approvalDelegation

Why: Lets managers assign trusted colleagues to cover attendance, timesheet, and/or leave approvals while away. Delegates are added as effective approvers — the reporting manager still sees and can act on the same pending requests.

↗ Who: Admins enable org-wide. Managers create/revoke on Profile → Approval delegation. Delegates act from module pending panels and Workspace Approvals (Acting for badge). Employees may nudge approvers subject to cooldown.

inputType · listlongList
Seed flags (org.json) 5 fields
FlagWhat it controlsWho / relatedDefault
approvalDelegationEnabled Master switch for create/list/act-as delegation. Managers + delegates. Related domain approval org flags. true
approvalReminderEnabled Automatic SLA reminder emails for pending approvals. Managers + delegates as recipients. Related: SLA day fields below. true
slaFirstReminderDays Days pending before the first automatic reminder. Admin policy; affects approver inboxes/email. 2
slaRepeatReminderDays Days between repeat reminders while still pending. Admin policy; same recipients as first reminder. 2
employeeManualReminderCooldownHours Cooldown before an employee can re-nudge the same request. Employees send; managers/delegates receive. 24

PROJECT

enabled 26 keys

Delivery configuration — service lines, categories, PO rules, notification routing

Module PROJECT · locked=false · parentEnabled=true

Single service line mode

Simple list
enableServiceLineSelection

When true, projects pick one service line from categoryMap instead of multi-line estimates.

↗ Project create/edit, deliverable categories

inputType · list
Live values 1 item(s)
false

Multi service line estimates

Simple list
enableServiceLineEstimate

Enables multiple service lines each with hour/cost estimates on projects and POs.

↗ Project details estimates tab, PO details

inputType · list
Live values 1 item(s)
false

Category selection UI

Simple list
enableCategorySelection

Shows category picker on project/deliverable forms using categoryMap hierarchy.

↗ Project wizard, work item forms

inputType · list
Live values 1 item(s)
true

Restrict by employee service line

Simple list
enableRestrictProjectByEmployeeServiceLine

Limits which projects an employee can log time to based on their service line.

↗ Timesheet project picker, task assignment

inputType · list
Live values 1 item(s)
false

PO mandatory for projects

Simple list
isPurchaseOrderMandatory

Blocks project creation or activation without linked purchase order when enabled.

↗ Project create validation

inputType · list
Live values 1 item(s)
false

Salesforce PO import

Simple list
purchaseOrderImportFromSalesForceEnabled

Allows importing purchase orders from Salesforce integration.

↗ Sales → PO list, integration jobs

inputType · list
Live values 1 item(s)
false

Disable team-scoped accounts

Simple list
userTeamAccountsDisabled

When true, account list is not filtered by user's teams (org-wide accounts visible per role).

↗ Accounts list page

inputType · list
Live values 1 item(s)
true

Cascade deliverable dates

Simple list
enableDeliverableEndDateUpdateOnProjectEndDateChange

Auto-adjusts deliverable estimated end dates when project end date moves.

↗ Project date edit, deliverable schedule

inputType · list
Live values 1 item(s)
false

Service line tree

Multi-level tree
categoryMap

3-level hierarchy: Service Line → Delivery Category → Task Category. Drives billable categorization on timesheets.

↗ Project, deliverable, work item, timesheet

HierarchyL3: Service Line, L2: Delivery Category, L1: Task Category
inputType · multi
Live values 7 item(s)
  • Coding (4 sub-keys)
  • Analysis (6 sub-keys)
  • Reporting (0 sub-keys)
  • BI and Viz (1 sub-keys)
  • Data Processing (11 sub-keys)
  • Project Management (16 sub-keys)
  • Survey Programming (11 sub-keys)

Multi-level tree — expand in App Config UI

Project category

Simple list
category

Flat list of portfolio categories for reporting and SHOW filters.

↗ Project list chips, reports

inputType · list
Live values 7 item(s)
Project Category2 Project Category3 Project Category4 Project Category5 Project Category6 Project Category7 Project Category8

7 configured values

PO notification emails

Simple list
defaultPurchaseOrderNotificationEmails

Distribution list emailed on PO create/update events.

↗ Email notifications, workflow

inputType · list
Live values 2 item(s)
DG.DAA@course5i.com DG.MIA@course5i.com

2 configured values

PO finance notifications

Simple list
defaultPurchaseOrderNotificationEmailsForFinanceTeam

Finance-specific PO email recipients.

↗ Finance alerts on contracts

inputType · list
Live values 2 item(s)
DG.DAA@course5i.com DG.MIA@course5i.com

2 configured values

Project notification emails

Simple list
defaultNotificationEmails

Default To/CC on project lifecycle notifications.

↗ Project status emails

inputType · list
Live values 2 item(s)
DG.DAA@course5i.com DG.MIA@course5i.com

2 configured values

Project finance notifications

Simple list
defaultNotificationEmailsForFinanceTeam

Finance distribution for project billing events.

↗ Invoice and project finance bridge

inputType · list
Live values 2 item(s)
DG.DAA@course5i.com DG.MIA@course5i.com

2 configured values

PII / compliance notifications

Simple list
defaultPIINotificationEmails

Data compliance mailbox for PII-related project flags.

↗ Compliance workflow

inputType · list
Live values 1 item(s)
datacompliance@course5i.comm

1 configured values

Deliverable notifications

Simple list
defaultDeliverableNotificationEmails

Emails sent on deliverable milestone changes.

↗ Deliverable status alerts

inputType · list
Live values 2 item(s)
DG.DAA@course5i.com DG.MIA@course5i.com

2 configured values

Delivery category list

Simple list
taskCategory

Legacy/flat delivery categories when not using full categoryMap tree.

↗ Deliverable forms

inputType · list
Live values 8 item(s)
Task Category Task Category1 Task Category2 Task Category3 Task Category4 Task Category5 Task Category6 Task Category7

8 configured values

Task category list

Simple list
taskActCategory

Activity-level categories for work items under deliverables.

↗ Work item create, task activity

inputType · list
Live values 8 item(s)
Task Act Category Task Act Category1 Task Act Category2 Task Act Category3 Task Act Category4 Task Act Category5 Task Act Category6 Task Act Category7

8 configured values

HR service category

Simple list
serviceCategory

Advisory, Delivery, Sales, Support, etc. — classifies employees for finance and utilization.

↗ Workforce planning, cross-charge

inputType · list
Live values 4 item(s)
Full Service MRPO Sample Only Qualitative

4 configured values

Tools used

Simple list
toolNames

Software tools tracked on projects (Microsoft Office, Power BI, etc.).

↗ Project metadata, reports

inputType · list
Live values 2 item(s)
Microsoft Office Power BI

2 configured values

Product names

Simple list
productName

Product dimension for productized delivery lines.

↗ Project profile

inputType · list
Live values 2 item(s)
Microsoft Office Power BI

2 configured values

Survey types

Simple list
surveyType

CATI, CAPI, Online, IDI, FGD, etc. — market research methodology.

↗ Project setup, sales handoff

inputType · list
Live values 15 item(s)
Online CATI CAPI Mobile Recruit to Web IDI (Recruitment only) IDI (Recruitment, Interview) TDI (Recruitment only) TDI(Recruitment, Interview) Mystery Shopping FGD (Recruitment only) FGD (Recruitment, Moderation) +3 more

15 configured values

Project timezones

Simple list
timezone

AU, IST, EST, etc. for scheduling and client communication.

↗ Calendar, due dates

inputType · list
Live values 7 item(s)
AU SG IST GMT EST PST CST

7 configured values

Sample source

Simple list
sample

Client vs Internal sample tracking on research projects.

↗ Fieldwork projects

inputType · list
Live values 2 item(s)
Client Internal

2 configured values

Currency codes

Simple list
currency

USD, EUR, INR, etc. for PO and project financial fields.

↗ PO value, estimates

inputType · list
Live values 6 item(s)
USD EUR GBP SGD AUD INR

6 configured values

Feedback service lines

Simple list
feedbackServiceLines

Lines available when configuring client feedback requests.

↗ Feedback module

inputType · list
Live values 3 item(s)
Feedback Service Line Feedback Service Line 1 Feedback Service Line 2

3 configured values

NON PROJECT

enabled 4 keys

Non-billable time — overhead categories, leave shortcuts, internal dimensions

Module NONPROJECT · locked=false · parentEnabled=true

Task category list

Simple list
taskActCategory

Activity-level categories for work items under deliverables.

↗ Work item create, task activity

inputType · list
Live values 21 item(s)
Internal Team Meeting and Admin Work Snacks / Lunch / Dinner Knowledge Development and Training Imparting Trainings Technical Downtime / IT issues Client Meeting Internal product/solution development and Support CSR Documentation Timesheet Updation Handover Marketing Collaterals +9 more

21 configured values

Skip extra fields

Simple list
excludeAdditionalFieldsForCategory

Categories that hide extended form fields on quick entry (Leave, Holiday, etc.).

↗ Timesheet modal UX

inputType · list
Live values 7 item(s)
Leave Holiday Internal Team Meeting and Admin Work Snacks / Lunch / Dinner Knowledge Development and Training Imparting Trainings Technical Downtime / IT issues

7 configured values

Division

Simple list
division

Top-level business division (e.g. Life Sciences, Research AI).

↗ Org hierarchy, executive dashboards

inputType · list
Live values 4 item(s)
RAI LS MIA DAA

4 configured values

Non-billable client partner

Simple list
clientPartner

Optional client partner dimension on internal/presales time.

↗ Presales logging

inputType · list
Live values 4 item(s)
Client Partner 1 Client Partner 2 Client Partner 3 Client Partner 4

4 configured values

SALES

enabled 11 keys

Bid pipeline taxonomy — study types, client segments, geography lists

Module SALES · locked=false · parentEnabled=true

Mode / kind of study

Simple list
kindOfStudy

Sales bid taxonomy: Online Quant, CATI, Qualitative, etc.

↗ Bid request forms, sales charts

inputType · list
Live values 7 item(s)
Online Quantitative Online Quant - Central Location Test Face to Face Quantitative CATI Quantitative Online Qualitative Offline Qualitative (Specify – FGDs, IDIs) Others

7 configured values

Sales client names

Simple list
clientName

Client picklist on bid and PO records.

↗ Sales pipeline

inputType · list
Live values 4 item(s)
Client Name 1 Client Name 2 Client Name 3 Client Name 4

4 configured values

Decision maker type

Simple list
dm

BDM, ITDM, Financial DM — buyer persona on bids.

↗ Bid demographics

inputType · list
Live values 6 item(s)
BDM ITDM Financial DM Travel DM Advertiser / Marketing Logistics / Procurement

6 configured values

Job designation

Simple list
designation

Title ladder from Trainee through VP. Shown on profile hero and roster.

↗ Profile, employee cards

inputType · list
Live values 3 item(s)
Manager+ VP+ C Level

3 configured values

Company size segment

Simple list
companySize

Small Business, SMB, LE for bid segmentation.

↗ Sales analytics

inputType · list
Live values 3 item(s)
Small Business SMB LE

3 configured values

Company turnover band

Simple list
turnover

Revenue size brackets on bid records.

↗ Sales funnel reporting

inputType · list
Live values 3 item(s)
Upto $100mn 100 – 300mn 500+mn

3 configured values

Medical professional types

Simple list
medicalProfessionals

HCP specialties targeted in healthcare research bids.

↗ Bid medical vertical

inputType · list
Live values 9 item(s)
General Physicians / Family Physicians Cardiologist Dentist Pediatrician Oncologist Plastic Surgeon Pulmonologist Veterinary Lab Technician/Lab Director

9 configured values

Patient types

Simple list
patients

Patient condition segments for healthcare studies.

↗ Bid scoping

inputType · list
Live values 8 item(s)
Diabetic Cancer Asthma Obesity Psoriasis Anxiety/Hypertension Skin infection Chronical disease

8 configured values

Hospital type

Simple list
hospitalType

Private vs Government facility segmentation.

↗ Healthcare bids

inputType · list
Live values 2 item(s)
Private Govenment

2 configured values

Bid countries

Simple list
countries

Geography list for bid pipeline charts.

↗ Sales geography mix chart

inputType · list
Live values 19 item(s)
US UK Australia Brazil Canada China France Germany India Japan Mexico Spain +7 more

19 configured values

Project notification emails

Simple list
defaultNotificationEmails

Default To/CC on project lifecycle notifications.

↗ Project status emails

inputType · list
Live values 1 item(s)
bids@course5i.com

1 configured values

Part 2

Access control

Source: role.json · Reference role Site Admin · 191 of 232 boolean permission flags enabled in this template.

⚠️
Defence in depth
UI hides disabled actions, but APIs must enforce the same flags. A false permission is a hard deny — never rely on UI-only security for compliance-sensitive operations.

HRMS

enabled 9 keys

Workforce permissions — modules, CRUD, persona access

Module HRMS · locked=false · parentEnabled=true

HRMS module visibility

list
hrmsModules

Toggle each HRMS sidebar page and set default landing route after login.

9 / 9 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
defaultRedirectPageLanding route slug when user opens the module (e.g. dashboard, activites, bidrequests).dashboard
dashboardEnabledShow HRMS/Project dashboard in sidebar and allow navigation.true
employeesEnabledShow Employees directory.true
attendanceEnabledShow Attendance matrix.true
holidaysEnabledShow holiday management (within settings or HRMS).true
timesheetEnabledShow Timesheet page.true
settingsEnabledShow HRMS Settings.true
appconfigEnabledShow Application Configuration (this page) — typically admin only.true
profileEnabledAllow profile routes.true
invoiceEnabledShow Invoices module.true

Invoice CRUD permissions

group
invoice

Separate create/edit/remove/view gates for billing documents.

0 / 4 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.false
editEnabledAllow editing existing records.false
removeEnabledSoft remove / unlink from list views.false
viewEnabledRead-only access to records.false

Settings page sections

list
profileSettings

Controls which HRMS Settings cards appear (devices, schedulers, health, company, locale, notifications).

0 / 6 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
deviceRegistrationEnabledMobile device registration card in Settings.false
schedulerViewEnabledCron scheduler admin section.false
serviceHealthEnabledService health indicators.false
companySettingsEnabledCompany information form.false
localizationSettingsEnabledLocale and format settings.false
notificationSettingsEnabledNotification routing preferences.false

Employee record permissions

group
employees

Create, edit, delete, archive, remove, view on workforce directory.

6 / 6 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
deleteEnabledHard delete (where supported).true
archiveEnabledMove to archived state.true
removeEnabledSoft remove / unlink from list views.true
viewEnabledRead-only access to records.true

Employee extended rules

list
employeesAdditional

Switch teams on behalf of others, view history, set exit dates.

1 / 3 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
viewOtherEmployeesHistoryEnabledSee other employees' activity history.false
updateUserExitDateEnabledSet termination/exit date on profiles.false

Holiday calendar permissions

group
holidays

Manage public holiday entries synced to timesheet.

3 / 3 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
removeEnabledSoft remove / unlink from list views.true

Attendance matrix permissions

group
attendance

Why: CRUD gate for the Attendance matrix. Who: Roles that need to mark, view, or help approve attendance (managers typically need editEnabled or attendanceAdditional.approveTeamEnabled). Related: attendanceAdditional mark/auto-approve/approveTeam flags; org regularization + delegation.

4 / 4 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledLegacy create gate (prefer markOwn/Others flags in attendanceAdditional).true
editEnabledHelps unlock team approve UI when approveTeam/auto-approve-others are off.true
deleteEnabledHard delete (where supported); prefer removeOwn/Others flags.true
viewEnabledRead attendance matrix / day cells.true

Attendance additional (role)

list
attendanceAdditional

Why: Role behaviour for marking, removing, auto-approving, and approving team attendance. Who: Employees use mark/remove-own; managers use mark-others + approveTeam. Related: Org attendanceAdditional.attendanceRegularizationEnabled, org approvalDelegation. Production seed keeps auto-approve off and approveTeamEnabled on.

6 / 8 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope on the attendance matrix.true
autoApproveOwnAttendanceEnabledSkip PENDING_APPROVAL when marking own attendance. Keep off for manager review.false
autoApproveOthersAttendanceEnabledAuto-approve when marking for others. Keep off for production; do not use as the only approve gate.false
approveTeamEnabledRole may approve team pending attendance (and related flows) without auto-approve.true
markOwnAttendanceEnabledMark own attendance days.true
markOthersAttendanceEnabledMark attendance for other employees in scope.true
removeOwnAttendanceEnabledRequest/remove own attendance where supported.true
removeOthersAttendanceEnabledRemove others’ attendance in scope.true

Persona access

list
personaModules

Which personas this role may use. Edited from Admin → Roles & permissions (persona-first UI) or Application Config → Role → HRMS. Page toggles on Roles write the shared org pagePersonaMap; org kill switches live only on Persona navigation.

Roles data flow simulator → · Screen guide

Configured · Site Admin seed
inputType · listlongList
FlagWhat it controlsSite Admin
allowedPersonasExplicit list of personas this role may activate. Absent = Automatic (derived from module flags until saved).EMPLOYEE…ADMIN (all)
defaultPersonaLanding persona when switcher is available.ADMIN
personaSwitchEnabledShow header persona switcher for users in this role.true

PROJECT

enabled 17 keys

Delivery configuration — service lines, categories, PO rules, notification routing

Module PROJECT · locked=false · parentEnabled=true

Project module visibility

list
projectModules

Enables sidebar entries: dashboard, list, taskboard, reports, chat, etc.

14 / 15 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
defaultRedirectPageLanding route slug when user opens the module (e.g. dashboard, activites, bidrequests).activites
dashboardEnabledShow HRMS/Project dashboard in sidebar and allow navigation.true
listEnabledProject list register.true
taskPlannerEnabledTask planner page.true
todoListEnabledTodo list view.true
accountsEnabledAccounts directory.true
taskBoardEnabledKanban taskboard.true
activitesEnabledTask activity / work items list.true
reportsEnabledReports catalog page.true
fileManagerEnabledFile manager.true
chatEnabledChat module.true
calendarEnabledCalendar.true
detailsEnabledProject details deep link.true
searchEnabledGlobal search.true
resourcePlannerEnabledTeam capacity / resource planner.false
feedbackEnabledFeedback module.true

Project entity permissions

group
projects

CRUD and archive on project records.

7 / 7 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
deleteEnabledHard delete (where supported).true
removeEnabledSoft remove / unlink from list views.true
archiveEnabledMove to archived state.true
viewEnabledRead-only access to records.true

Project business rules

list
projectsAdditional

Status transitions, team scoping, PO date restrictions, checklist behavior, estimate visibility.

11 / 19 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
allowStatusChangeUser may transition workflow status fields.true
allowStatusLevelDownAllow moving status backward (e.g. COMPLETED → INPROGRESS).true
changeableStatusArray of status codes user may set.NEW ASSIGNED INPROGRESS COMPLETED CLOSED
listOnlyCurrentTeamProjectFilter lists to current team scope only.true
viewServiceLineEstimateSee service line estimate panels.true
enableProjectPurchaseOrderEditableEdit linked PO on project after create.false
enableServiceLineEstimateHourEditableEdit estimated hours on service lines.false
enableServiceLineEstimateHourVisibleShow hour estimates in UI.false
enableServiceLineEstimateCostEditableEdit cost estimates.false
enableServiceLineEstimateCostVisibleShow cost estimates.false
showOnlyActiveUserTeamsSelectableInProjectCreateWindowTeam picker shows only active teams.true
showAllUserTeamsSelectableInProjectCreateWindowTeam picker shows all teams user belongs to.false
allowAccessToOtherUserTeamProjectsSee projects outside own team scope.false
projectDatesRestrictedByPurchaseOrderDatesProject dates cannot exceed PO contract dates.true
checklistEnabledShow checklist UI on entity.true
checklistSaveEnabledSave checklist progress.true
checklistUpdateCompletedEnabledEdit items after marked complete.false
checklistCompleteEnabledMark checklist complete.true
checklistChangeEnabledModify checklist template on instance.true

Deliverable permissions

group
tasks

CRUD on deliverable/milestone entities.

7 / 7 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
deleteEnabledHard delete (where supported).true
removeEnabledSoft remove / unlink from list views.true
archiveEnabledMove to archived state.true
viewEnabledRead-only access to records.true

User team management

group
userTeams

Create/delete delivery teams.

1 / 3 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
deleteEnabledHard delete (where supported).false
removeEnabledSoft remove / unlink from list views.false

Account directory permissions

group
accounts

Client account CRUD.

3 / 4 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
deleteEnabledHard delete (where supported).true
editEnabledAllow editing existing records.false
removeEnabledSoft remove / unlink from list views.true

Account visibility scope

list
accountsAdditional

Show all teams' accounts vs scoped.

2 / 2 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
showAllUserTeamsAccountAccounts list ignores team filter.true
showAllByAccountsExpanded account visibility mode.true

Checklist template admin

group
checklists

Manage reusable checklist templates.

5 / 5 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
removeEnabledSoft remove / unlink from list views.true
viewEnabledRead-only access to records.true

Feedback template admin

group
feedbackTemplates

Design feedback form templates.

5 / 5 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
viewEnabledRead-only access to records.true
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
removeEnabledSoft remove / unlink from list views.true

Feedback request lifecycle

group
feedbackRequest

Create, activate, resend client feedback campaigns.

7 / 7 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
viewEnabledRead-only access to records.true
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
activateEnabledActivate feedback campaign.true
removeEnabledSoft remove / unlink from list views.true
updateStatusEnabledChange feedback request status.true
resendEnabledResend feedback invitation email.true

Deliverable extended rules

list
tasksAdditional

Team switch, status downgrades, estimate edit flags, checklist toggles.

8 / 11 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
allowStatusChangeUser may transition workflow status fields.true
allowStatusLevelDownAllow moving status backward (e.g. COMPLETED → INPROGRESS).true
changeableStatusArray of status codes user may set.NEW ASSIGNED INPROGRESS COMPLETED CLOSED
showOnlyActiveUserTeamsSelectableInDeliverableCreateWindowPermission flag — toggled per role in Access Control tree.true
allowAccessToOtherUserTeamDeliverablesPermission flag — toggled per role in Access Control tree.false
enableDeliverableEstimateHourEditableEdit deliverable hour estimates.false
checklistEnabledShow checklist UI on entity.true
checklistSaveEnabledSave checklist progress.true
checklistUpdateCompletedEnabledEdit items after marked complete.false
checklistCompleteEnabledMark checklist complete.true
checklistChangeEnabledModify checklist template on instance.true

Work item permissions

group
workItems

CRUD on activities/work items.

7 / 7 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
deleteEnabledHard delete (where supported).true
removeEnabledSoft remove / unlink from list views.true
archiveEnabledMove to archived state.true
viewEnabledRead-only access to records.true

Work item & time rules

list
workItemsAdditional

Hour caps, retro edit windows, skill restrictions, leave rules, checklist.

11 / 18 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
restrictedBySkillsEnabledFilter assignees by skill tags.false
switchEmployeesEnabledPick another employee in timesheet/task views.true
createWorkItemLogForOtherEmployeesLog time on behalf of others.true
enableCreateCompletedWorkItemCreate work items already in completed state.true
editCompletedWorkItemInfoEdit metadata on completed items.false
editCompletedWorkItemHoursChange hours after completion.false
editCompletedWorkItemEstimatedHoursChange estimates after completion.false
viewWorkItemEstimatedHoursSee estimate fields.false
enableWorkItemDeleteTillNextDayXHourGrace period (hour of day) to delete yesterday's items.15
enableCompletedWorkItemHoursEditTillNextDayXHourGrace period to edit completed item hours.15
maxHoursAllowedToEnterDaily or entry hour cap validation.10
allowLeaveAndHolidayForFutureBook leave on future dates.true
allowLeaveAndHolidayForPastBook leave retroactively.true
listOnlyCurrentTeamProjectFilter lists to current team scope only.true
showWorkItemEstimatedHoursPermission flag — toggled per role in Access Control tree.false
disableWorkItemCreateBeforeYWorkingDaysAfterXHoursCutoff rule: block create before N working days after hour X.15
disableNonProjectWorkItemCreateBeforeXWorkingDays-1 = disabled; else days before today allowed for non-project entries.-1
disableNonProjectWorkItemCreateAfterXWorkingDaysForward limit for non-project create.-1
disableNonProjectWorkItemAssignBeforeXWorkingDaysAssign window start for non-project.-1
disableNonProjectWorkItemAssignAfterXWorkingDaysAssign window end for non-project.-1
disableProjectWorkItemCreateBeforeXWorkingDaysRetro limit for project work items.-1
disableProjectWorkItemCreateAfterXWorkingDaysForward limit for project work items.-1
disableProjectWorkItemAssignBeforeXWorkingDaysAssignment retro limit on projects.-1
disableProjectWorkItemAssignAfterXWorkingDaysAssignment forward limit on projects.-1
checklistEnabledShow checklist UI on entity.true
checklistSaveEnabledSave checklist progress.true
checklistUpdateCompletedEnabledEdit items after marked complete.false
checklistCompleteEnabledMark checklist complete.true
checklistChangeEnabledModify checklist template on instance.true

Timesheet policy (role)

list
timeSheet

Why: Role-level entry/edit/approve/reopen/on-behalf-submit and window limits for the timesheet grid. Who: Employees need entry/edit; managers need enableTimeSheetApproval (and usually reopen). HR/time-admin roles that submit others’ already-saved weeks need enableTimeSheetSubmissionOnBehalfOf plus switchEmployeesEnabled — that is submit-only, not edit. Related: Org timesheetAdditional.timesheetApprovalEnabled / reopen; role timesheetAdditional auto-approve (keep off); org approvalDelegation.

Seed · Site Admin
inputType · listlongList
FlagWhat it controlsSite Admin
enableTimeSheetEntryAllow logging hours on the grid.true
enableTimeSheetEditAllow editing hours after entry (subject to windows).true
enableTimeSheetApprovalRole may Approve/Reject others’ weeks. Org workflow must also be on.true
enableTimeSheetReopenRole may reopen approved weeks when org reopen is on.true
enableTimeSheetSubmissionOnBehalfOfSubmit or resubmit an already-saved week for another in-scope employee. Submit-only — no edit/save/clear. Pair with switchEmployeesEnabled. Does not grant Approve/Reject.true
allowLeaveAndHolidayForFutureBook leave/holiday on future dates in timesheet context.true
allowLeaveAndHolidayForPastBook leave/holiday retroactively.true
listOnlyCurrentTeamProjectFilter project pickers to current team scope.true
restrictedBySkillsEnabledFilter assignees by skill tags.true
disableWorkItemCreateBeforeYWorkingDaysAfterXHoursCutoff rule: block create before N working days after hour X.15
disableNonProjectWorkItemCreateBeforeXWorkingDays-1 = disabled; else days before today allowed for non-project entries.-1
disableNonProjectWorkItemCreateAfterXWorkingDaysForward limit for non-project create.-1
disableProjectWorkItemCreateBeforeXWorkingDaysRetro limit for project work items.-1
disableProjectWorkItemCreateAfterXWorkingDaysForward limit for project work items.-1
disableLastMonthAfterXDaysLock prior month after X days into current month.3
enableFutureTimeSheetViewNavigate to future weeks.false
enablePastTimeSheetViewNavigate to historical weeks.true
maxHoursAllowedToEnterDaily or entry hour cap validation.10
switchUserTeamsEnabledChange team scope dropdown.true
switchEmployeesEnabledPick another employee in timesheet views.true
timeSheetNonBillableShowAllAccountsEnabledShow all accounts on non-billable rows.true

Timesheet additional (role)

list
timesheetAdditional

Why: Role auto-approve behaviour for timesheet weeks. Who: Affects the employee/manager who submits or marks the week. Related: Org timesheetApprovalEnabled must be on for week workflow; keep these auto-approve flags false for production manager review. Pair with timeSheet.enableTimeSheetApproval for human approve.

0 / 2 auto-approve on
inputType · listlongList
FlagWhat it controlsSite Admin
autoApproveOwnTimesheetEnabledAuto-approve own weeks on submit (skips manager queue).false
autoApproveOthersTimesheetEnabledAuto-approve when acting on others’ weeks. Independent of enableTimeSheetSubmissionOnBehalfOf — keep off for production manager review.false

Kanban board permissions

list
taskBoard

Multi-board, configure columns, delete cards.

11 / 11 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
multiTaskBoardEnabledMultiple kanban boards per team.true
allUserTeamMultiTaskBoardEnabledBoards across all user teams.true
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
switchEmployeesEnabledPick another employee in timesheet/task views.true
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
deleteEnabledHard delete (where supported).true
removeEnabledSoft remove / unlink from list views.true
configureEnabledEdit board columns/configuration.true
workItemDeleteEnabledDelete cards from board.true
workItemRemoveEnabledRemove cards from board.true

Task planner scope

list
taskPlanner

Team switch on planner view.

1 / 1 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true

Report catalog access

list
reporting

Each report type can be enabled/disabled per role.

24 / 24 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
reportConfigurationEnabledAdmin report configuration.true
defaultReportEnabledStandard default report export.true
format3ReportEnabledPermission flag — toggled per role in Access Control tree.true
employeeUtilizationReportEnabledPermission flag — toggled per role in Access Control tree.true
myUtilizationReportEnabledPermission flag — toggled per role in Access Control tree.true
myTimesheetDataReportEnabledPermission flag — toggled per role in Access Control tree.true
myTimesheetDataDumpReportEnabledPermission flag — toggled per role in Access Control tree.true
siteActivityReportEnabledPermission flag — toggled per role in Access Control tree.true
projectDetailsBySkillsReportEnabledPermission flag — toggled per role in Access Control tree.true
project15PercentageReportEnabledPermission flag — toggled per role in Access Control tree.true
estimateVsActualByDeliverablesByTaskDateReportEnabledPermission flag — toggled per role in Access Control tree.true
estimateVsActualByDeliverablesByActivityDateReportEnabledPermission flag — toggled per role in Access Control tree.true
weekWiseEmployeeUtilizationMonthlyReportEnabledPermission flag — toggled per role in Access Control tree.true
weekWiseEmployeeUtilizationMonthlyEndToEndReportEnabledPermission flag — toggled per role in Access Control tree.true
weeklyPOEstimationReportEnabledPermission flag — toggled per role in Access Control tree.true
weeklyProjectHoursReportEnabledPermission flag — toggled per role in Access Control tree.true
utilizationByEmployeeBySkillsReportEnabledPermission flag — toggled per role in Access Control tree.true
utilizationByEmployeeByProjectCategoryReportEnabledPermission flag — toggled per role in Access Control tree.true
dataDumpReportEnabledPermission flag — toggled per role in Access Control tree.true
resourceAllocationReportEnabledPermission flag — toggled per role in Access Control tree.true
projectFeedbackDumpReportEnabledPermission flag — toggled per role in Access Control tree.true
projectCompletionReportEnabledPermission flag — toggled per role in Access Control tree.true
reportScheduleAllTeamAccessEnabledSchedule reports for all teams.true

SALES

enabled 6 keys

Bid pipeline taxonomy — study types, client segments, geography lists

Module SALES · locked=false · parentEnabled=true

Sales module visibility

list
salesModules

Bid requests, purchase orders, default landing page.

2 / 2 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
defaultRedirectPageLanding route slug when user opens the module (e.g. dashboard, activites, bidrequests).bidrequests
purchaseOrdersEnabledPurchase orders list.true
bidRequestsEnabledBid requests list.true

Bid request CRUD

group
bidRequest

Standard create/edit/delete/archive on bids.

7 / 7 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
deleteEnabledHard delete (where supported).true
removeEnabledSoft remove / unlink from list views.true
archiveEnabledMove to archived state.true
viewEnabledRead-only access to records.true

Bid workflow rules

list
bidRequestAdditional

Status change permissions and allowed status values.

3 / 3 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
allowStatusChangeUser may transition workflow status fields.true
allowStatusLevelDownAllow moving status backward (e.g. COMPLETED → INPROGRESS).true
changeableStatusArray of status codes user may set.NEW ASSIGNED INPROGRESS WON LOST CANCELLED REJECTED CLOSED

Purchase order CRUD

group
purchaseOrders

Contract record permissions.

7 / 7 enabled
inputType · grouplongList
FlagWhat it controlsSite Admin
createEnabledAllow creating new records.true
editEnabledAllow editing existing records.true
duplicateEnabledClone record action.true
deleteEnabledHard delete (where supported).true
removeEnabledSoft remove / unlink from list views.true
archiveEnabledMove to archived state.true
viewEnabledRead-only access to records.true

Allowed PO statuses

list
purchaseOrderStatusEnabled

Which contract statuses can be selected on this role.

6 / 6 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
NEWPermission flag — toggled per role in Access Control tree.true
ASSIGNEDPermission flag — toggled per role in Access Control tree.true
CREATEDPermission flag — toggled per role in Access Control tree.true
INPROGRESSPermission flag — toggled per role in Access Control tree.true
COMPLETEDPermission flag — toggled per role in Access Control tree.true
CLOSEDPermission flag — toggled per role in Access Control tree.true

PO extended rules

list
purchaseOrdersAdditional

Estimate edit, team access, checklist, status downgrade.

11 / 14 enabled
inputType · listlongList
FlagWhat it controlsSite Admin
switchUserTeamsEnabledChange team scope dropdown to view other teams' data.true
allowStatusChangeUser may transition workflow status fields.true
allowStatusLevelDownAllow moving status backward (e.g. COMPLETED → INPROGRESS).true
changeableStatusArray of status codes user may set.NEW ASSIGNED CREATED INPROGRESS COMPLETED CLOSED
allowAccessToOtherUserTeamPurchaseOrderView POs from other teams.false
showAllPurchaseOrderProjectsSee all projects linked to PO regardless of team.false
enableServiceLineEstimateHourEditableEdit estimated hours on service lines.true
enableServiceLineEstimateHourVisibleShow hour estimates in UI.true
enableServiceLineEstimateCostEditableEdit cost estimates.true
enableServiceLineEstimateCostVisibleShow cost estimates.true
checklistEnabledShow checklist UI on entity.true
checklistSaveEnabledSave checklist progress.true
checklistUpdateCompletedEnabledEdit items after marked complete.false
checklistCompleteEnabledMark checklist complete.true
checklistChangeEnabledModify checklist template on instance.true

Administrator workflows

01Add a department

Org tree → Root → HRMS → Departments → (+) → Save module. Appears immediately in employee wizard Organization step.

02Extend service line tree

PROJECT → Service Line Configuration → expand Coding → Programming → add leaf task category. Timesheet billable picker updates on refresh.

03Lock enterprise categoryMap

Root → categoryMap → Lock → Hide. Child teams inherit identical tree; prevents accidental local drift.

04Restrict timesheet edits

Roles → custom Manager role → Timesheet Config → disable enableTimeSheetEdit, set disableLastMonthAfterXDays to 5.

05Delegate app config access

HRMS Modules Access → appconfigEnabled true only on Admin role; false for all IC and manager roles.

06Clone a role template

Roles tree → (+) new role → copy Site Admin → disable delete/archive flags → assign to delivery teams via Role Bar.

Frequently asked questions

Complete Q&A for using Application Configuration at /hrms/appconfig — 41 questions covering access, org/role trees, saving, org.json data, role.json permissions, timesheet rules, and troubleshooting.

🔑 Access & getting started

5 questions

Who can open Application Configuration?
Users whose role has hrmsModules.appconfigEnabled set to true (see Access control → HRMS Modules Access). Without this flag the /hrms/appconfig route is hidden from the sidebar.
What is the difference between Settings and App Config?
Settings (/hrms/settings) covers operational cards: devices, schedulers, company info, locale. App Config is the hierarchical org/role tree that drives dropdown lists, feature toggles, and permission templates across HRMS, Project, Sales, and Timesheet.
Why do I see an empty screen or “no config” message?
Ensure your user team has a valid org node selected. The page loads config via initializeConfig(currentUserTeamId) on mount. If the team is not mapped to an org unit, contact a super-admin to attach the team in the org tree.
Can I use App Config on mobile?
No — Application Configuration is a desktop admin screen only. Use a full browser session; mobile HRMS apps do not expose this route.
How do I get Site Admin–level access?
An existing admin must enable appconfigEnabled on your role template, assign that role to your org unit via Role Bar, and ensure your user belongs to the correct team.

🏢 Organization tree & inheritance

6 questions

What is the difference between org nodes and role nodes?
Org nodes (type=org) store application data: departments, categoryMap, notification emails. Role nodes (type=role) store permission templates: CRUD flags, timesheet windows, module visibility. Use the left menu tabs Organization vs Roles to switch trees.
What does the chain icon do?
Linked chain (fa-chain) = inherit parentValue from the parent org unit. Broken chain (fa-chain-broken, overridden=true) = this node stores its own value. Click the chain button on a config block header to toggle.
What happens when I lock a setting?
locked=true prevents child org units from overriding that key. Combined with hidden=true, non-admin users may not see the block at all. Use lock on Root for enterprise-wide standards (e.g. categoryMap).
Should I edit Root or a child team?
Edit Root for defaults that apply everywhere. Edit a child org unit only when that team needs a local override (regional departments, team-specific notification list). Always test on a child before changing Root.
How do I create a new org unit or team node?
Organization tab → select parent → (+) add child. Set name, parent, and category in the hero bar → save identity fields. New nodes inherit all parent config until you break the chain on specific keys.
What does parentLocked mean?
When the parent node has locked a key, child nodes show parentLocked and cannot change inherit/lock/hide on that item — the chain and lock buttons are disabled.

💾 Saving & filters

5 questions

When do I need to click Save?
Module-level Save persists value changes (updateConfig). Property-only edits (name, parent, category, overridden, locked, hidden) use updateConfigProperty and may save per-field. Watch for the unsaved-changes indicator before navigating away.
What do the All / Overridden / Locked filters do?
All — every visible config on the selected node. Overridden — keys where this node broke inheritance. Locked — keys locked on this node (children cannot override). Use with the search box to find keys quickly.
Do UI edits overwrite org.json on disk?
No. org.json and role.json seed deployment. Runtime edits persist to the database. Re-deploying from JSON without migration can overwrite DB changes — export or document before major releases.
Can I undo a change?
There is no global undo. Re-link the chain to inherit parent again, or manually restore previous values. For roles, clone Site Admin to a backup role before large permission edits.
Why is Save disabled or missing?
You may lack appconfigEnabled, the module may be disabled on this node, or the key may be parentLocked. Check role permissions and parent lock state.

📋 Application config (org.json data)

8 questions

Where do employee dropdown values come from?
HRMS module keys: band, grade, department, designation, skills, etc. Changes appear on the employee create wizard and profile after users refresh or open a new form.
What is categoryMap used for?
Three-level tree: Service Line → Delivery Category → Task Category. Drives billable categorization on timesheets, project/deliverable forms, and reporting. Large trees affect picker performance — keep leaves meaningful.
What is practiceMap?
Two-level HR practice hierarchy (Primary → Secondary Practice) on employee profiles. Used for staffing filters and practice-based analytics, separate from project categoryMap.
How do notification email lists work?
Keys like defaultNotificationEmails, defaultPurchaseOrderNotificationEmails set default distribution when projects or POs trigger workflow emails. Finance-specific keys route to finance inboxes.
What are NONPROJECT categories?
NONPROJECT module → taskActCategory lists non-billable timesheet types (meetings, training, leave). excludeAdditionalFieldsForCategory hides extra fields for quick entry on Leave/Holiday rows.
Can I enable multi service line estimates?
PROJECT toggles: enableServiceLineEstimate, enableServiceLineSelection, enableCategorySelection. When enabled, projects and POs show estimate panels per service line — coordinate with finance before toggling.
Can I delete a categoryMap leaf used in old timesheets?
Avoid hard deletes. Historical rows reference leaf IDs/names. Prefer stopping new use (hide/lock at Root) while retaining legacy values for reports.
How do I bulk-add list values?
In any list config block, use the multi-add textarea (toggle from single-line add) and paste one value per line from Excel, then save the module.

🔐 Roles & access control

10 questions

How are roles assigned to users?
Roles attach to org units via ApplicationConfigRoleBar on an org node — not directly on user records. Users inherit the role mapped to their team’s org unit.
How do I create a custom Manager role?
Roles tab → (+) new role → configure module visibility and permission groups → save. Start from Site Admin and disable delete/archive/appconfig flags. Assign via Role Bar on delivery team org nodes.
Why can a user see a menu item but not perform actions?
Module visibility (*Enabled in hrmsModules/projectModules) is separate from CRUD groups (createEnabled, editEnabled). Enable both the module flag and the action flag in the correct permission group.
What is defaultRedirectPage?
Landing slug when the user opens a module (e.g. dashboard, activites, bidrequests). Set per role under HRMS/Project/Sales Modules Access.
How do report permissions work?
reporting group lists each report type as a boolean. Users only see reports they are allowed to run in the REPORT dropdown.
Can managers edit other employees’ timesheets?
Controlled by timeSheet.switchEmployeesEnabled, enableTimeSheetEdit, and related work-item flags. Set on the manager’s role template, not per user.
Where is persona access configured — org.json or role.json?
Role which personas a user may switch into: role.json → HRMS → personaModules (Admin → Roles). Org page→persona map and kill switches: org.json → HRMS → personaNavigationAdditional (Admin → Persona navigation). Product page defaults live in the sidebar catalog until you customize a path.
How do I use the simplified Persona navigation page?
Open /admin/persona-navigation. Turn off — chip toggles for personas/modules and a searchable page list. Page access — select one page, choose Product default or Custom, then toggle personas. Click Save changes once. Roles links here via the Organization access card.
What are the seed defaults for persona config?
org.json seeds empty pagePersonaMap and empty disabledPersonas / disabledPaths / disabledModules. Site Admin role.json seeds all personas allowed, defaultPersona: ADMIN, personaSwitchEnabled: true.
Do org kill switches override role persona access?
Yes. Evaluation order: role module flags → role personaModules → org pagePersonaMap (if set) → org disabledPersonas / disabledPaths / disabledModules (always win). Protected admin paths cannot be killed.

⏱ Timesheet & work item rules

7 questions

Why can’t a user log time for last week?
Check enableTimeSheetEdit, enablePastTimeSheetView, disableLastMonthAfterXDays, and work-item window flags (disableProjectWorkItemCreateBeforeXWorkingDays, etc.) on their role.
What does disableLastMonthAfterXDays do?
Locks the previous month’s timesheet after X days into the current month (e.g. 5 = after the 5th, prior month is read-only). Common payroll control.
What is maxHoursAllowedToEnter?
Daily or per-entry hour cap validation on timesheet rows. Prevents accidental 24+ hour entries.
Why are non-project entries blocked?
Review disableNonProjectWorkItemCreateBeforeXWorkingDays / AfterXWorkingDays and NONPROJECT categories in org config. Value -1 often means rule disabled — check your deployment’s convention.
Can users book leave for future dates?
allowLeaveAndHolidayForFuture and allowLeaveAndHolidayForPast on the role control leave booking direction on non-project categories.
How do I let someone submit timesheets on behalf of others?
Roles → Timesheet Config → enable enableTimeSheetSubmissionOnBehalfOf and switchEmployeesEnabled. The actor must already be able to see that employee’s team. This is submit/resubmit only — the grid stays read-only. It does not grant Approve/Reject.
Does submit-on-behalf change timesheet approval?
No. The week still goes to the owner’s manager or timesheet delegate. autoApproveOthersTimesheetEnabled is a separate flag and stays independent.

🔧 Troubleshooting

6 questions

Dropdown missing a value I added in App Config
Confirm you saved the module, selected the correct org node (user’s team scope), and refreshed the target form. Child teams inherit Root unless overridden — add the value on the node the team actually uses.
Permission change not taking effect
Ask the user to log out and back in. Clear browser cache if menu items persist. Verify Role Bar mapping on the user’s org unit matches the role you edited.
User sees App Config but changes fail
UI may show read-only if parent locked keys or module is disabled. Check API errors in network tab — server enforces permissions independently.
categoryMap picker is slow
Tree too large or too many leaf nodes. Archive obsolete branches, use lock at Root to prevent duplicate local trees, and limit depth to three meaningful levels.
Two teams see different department lists
Expected if one team overrode HRMS → department on a child org node. Compare org nodes in App Config with Overridden filter.
When do users see config changes?
List values: usually next page load. Permissions: often next session. Some caches may delay up to a few minutes — document your org’s refresh policy.

Most common mistakes

18 mistakes administrators make when configuring org data, roles, inheritance, and timesheet policy — and how to avoid them.

⚠️
Before go-live
Review this list with your implementation team. Most production incidents trace to Root edits, role/org confusion, or missing Save — not software defects.
01

Editing Root without testing on a child org unit

What goes wrong: Root changes propagate to every team unless overridden. A wrong categoryMap or department list affects the entire company.

Do this instead: Create a sandbox child org unit, apply changes there, validate with a test team, then promote to Root or lock.

02

Granting appconfigEnabled to too many roles

What goes wrong: App Config access equals control over all dropdowns, trees, and permission templates.

Do this instead: Limit to 1–2 admin roles. Never enable for general managers or IC roles.

03

Confusing org tree with roles tree

What goes wrong: Org nodes hold data lists; role nodes hold permissions. Editing the wrong tree does not fix access issues.

Do this instead: Organization tab for departments/categoryMap; Roles tab for timesheet edit flags. Assign roles via Role Bar on org nodes.

04

Forgetting to Save after module edits

What goes wrong: Navigating away loses unsaved list additions and toggle changes.

Do this instead: Watch for unsaved indicator; click Save on each module card you modified before switching nodes.

05

Breaking inheritance without documenting why

What goes wrong: Future admins see a broken chain but not the business reason.

Do this instead: Record overrides in your internal runbook (team name, key, date, approver).

06

Locking without hiding sensitive keys

What goes wrong: Locked keys still visible to admins; hidden reduces clutter when combined with lock.

Do this instead: For enterprise-only keys, set lock + hide on Root so child admins are not distracted.

07

Deleting categoryMap leaves with historical data

What goes wrong: Old timesheets and reports reference removed category names/IDs.

Do this instead: Stop new usage via lock; retain legacy leaves or map migrations in backend.

08

Enabling all Site Admin permissions on every role

What goes wrong: Clone Site Admin and strip flags — do not assign Site Admin broadly.

Do this instead: Create Manager, Finance, IC templates with minimal required flags.

09

Setting module visibility without CRUD flags

What goes wrong: User sees sidebar entry but gets errors on Create/Save.

Do this instead: Enable both module flag (e.g. employeesEnabled) and group flags (createEnabled, editEnabled).

10

Ignoring parentLocked on child nodes

What goes wrong: Attempting to override locked parent keys wastes time — buttons are disabled.

Do this instead: Change the value on the parent node that holds the lock, or unlock at parent first (with change control).

11

Duplicating service line trees per team

What goes wrong: Each local categoryMap drift causes timesheet miscoding and report splits.

Do this instead: Maintain one locked categoryMap at Root; override only when legally required (regional practice).

12

Toggling PO mandatory without comms

What goes wrong: isPurchaseOrderMandatory blocks project workflows for teams without PO process.

Do this instead: Coordinate with PMO and finance; pilot on one org unit before Root enable.

13

Disabling timesheet edit without setting lock windows

What goes wrong: Users blocked entirely with no grace period for corrections.

Do this instead: Pair enableTimeSheetEdit=false with clear disableLastMonthAfterXDays and communicate cutoff dates.

14

Adding duplicate values in long lists

What goes wrong: Duplicate bands or departments pollute filters and charts.

Do this instead: Use search in App Config before add; dedupe in Excel before bulk paste.

15

Assuming UI permissions equal API security

What goes wrong: Direct API calls can bypass hidden buttons.

Do this instead: Treat false permission flags as server-side denies; verify backend enforcement for compliance.

16

Not assigning role after creating role template

What goes wrong: New role exists but no org unit uses it — users keep old permissions.

Do this instead: Open org node → Role Bar → attach new role → users re-login.

17

Changing notification emails without validating SMTP

What goes wrong: Workflow emails bounce or go to wrong inboxes.

Do this instead: Test with one project/PO event after change; use finance/IT distribution lists.

18

Disabling entire module when only one key should change

What goes wrong: Module enable toggle hides all keys in HRMS/PROJECT/SALES for that node.

Do this instead: Prefer editing individual keys or role flags instead of disabling whole module.

Tips & best practices

💡
Bulk import lists
Use the multi-add textarea in list configs to paste dozens of values from Excel — one per line — instead of clicking (+) repeatedly.
📝
Document your overrides
When a child team overrides Root, note why in your internal runbook — future admins may not see the broken chain context.
ℹ️
categoryMap performance
Deep trees slow timesheet project pickers. Keep 3 levels meaningful; prune unused leaves quarterly.