Admin

e-SafetyPro Multi-Company Admin

1. System Overview

This page documents the multi-company architecture for all e-SafetyPro tools (Safety Prompter, JHA Prompter, SCI, OSHA, Inspections, Quizzes, and Analytic Surveys) and provides a simple JSON console for managing the shared master_structure.json.

  • Public users (not logged in) operate in DEMO mode.
  • Logged-in users operate in REAL mode using their assigned company code.
  • All tools consume the same Company β†’ Division β†’ Project β†’ Task Order (TO) structure.

Public Users DEMO

β€’ See only DEMO companies in dropdowns.

β€’ Cannot add their own company.

β€’ All submissions are stored under DEMO in dashboards.

Logged-In Users REAL

β€’ See only their own company, divisions, projects, and TOs.

β€’ Submissions feed REAL company dashboards.

β€’ Culture surveys remain anonymous by design.

2. Data Model – Company / Division / Project / TO / Role

The shared organizational structure is:

Company β†’ Division β†’ Project β†’ Task Order (TO)

  • Company: top-level organization (Demo and Real).
  • Division: business unit or department within a company.
  • Project: specific job, contract, or program.
  • Task Order (TO): optional sub-project under one project (e.g., ESP-TO-801A).
  • Role: declared project role for OSHA logic (Engineer (1), CM as Agent (3), CMAR (5), etc.).

TOs inherit company and division from their parent project. Roles are independent and used primarily by OSHA & risk tools.

3. Field Requirements by Tool & User Type

3.1 Public User (Not Logged-In)

Field Tools (JHA, Safety Prompter, SCI, OSHA, Inspections) Quizzes Analytic Surveys – Culture Analytic Surveys – Personal Hazard Exposure & Training
company Required – DEMO only Default to DEMO Required – DEMO only Required – DEMO only
division Required – DEMO only Default to DEMO Required Required
project Required – DEMO only Default to DEMO Optional Optional
role Required Not used Not used Not used
user_name Optional Optional (needed for cert) Anonymous Optional
user_email Optional (good for contact) Optional (needed for cert) Anonymous Optional (good for contact)
date Required Required Required Required

3.2 Logged-In User

Field Tools (JHA, Safety Prompter, SCI, OSHA, Inspections) Quizzes Analytic Surveys – Culture Analytic Surveys – Personal Hazard Exposure & Training
company Required – REAL Required – REAL Required – REAL Required – REAL
division Required – REAL Required – REAL Required – REAL Required – REAL
project Required Optional Optional Optional
role Required Not used Not used Not used
user_name Required Required Anonymous (not stored) Required
user_email Required Required Anonymous (not stored) Required
date Required Required Required Required
Confidentiality: Public users never interact with REAL company data. Logged-in users never see DEMO or other companies. Culture survey records remain anonymous even for REAL companies (trend analysis only).

4. master_structure.json – Shared Structure

All tools that use organizational context load it from a single JSON file: master_structure.json.

  • Location: /wp-content/uploads/2025/11/master_structure.json
  • Contains: companies, divisions, projects, task_orders, roles.
  • Used by: Safety Prompter, JHA Prompter, future Inspections, OSHA HTML/JS, analytic dashboards.

4.1 JSON Console – Download & Inspect

Download Current master_structure.json
No JSON file loaded yet. Click β€œDownload” to get the current file, or β€œLoad JSON file” to inspect a local version before uploading via Media Library.

Important: This page cannot save files back to the server. To update the structure, edit your JSON locally, then upload a new master_structure.json via Media β†’ Add New and update the link if the folder or file name changes.

5. User & Company Assignment Logic

  1. Create or approve a company in master_structure.json with a unique company_code.
  2. Add divisions, projects, and task orders linked to that company_code.
  3. In WordPress, for each user:
    • Open Users β†’ Edit.
    • Set company_code (e.g., ESP, PWR, WTR).
    • Optionally set division_code / project_code defaults.
  4. Tools read these values and filter dropdowns so users only see their own company.
Result: The same tools support multiple companies safely. DEMO remains available for public demonstrations, while REAL companies see only their own data and feed only their own dashboards.
Scroll to Top