/hr/org-chart
📷 Screenshot: Organization Chart canvas with manager → report cards, the search box, department/status filters and the status legend — to be added.
Hitaji 360 is multi-business. The org chart is built per business from that business’s active contracts. Picking the wrong business in the switcher gives you a different chart — or an empty one. See Per-business scoping below; it’s the single most important thing to get right here.
What the chart shows
Each card is one employee. The tree connects a manager to the people who report to them, so the lines you see are reporting relationships, not departments. A card shows:- The employee’s initials and a coloured status dot (Active, On Leave, Suspended, Terminated).
- Their name.
- Their position (see the position-title fallback below) — or No Position if none can be resolved.
- Their department / unit as a small chip.
- A direct-report count (a people icon with a number) when they manage anyone.
How the chart is built
The tree is assembled on the server from your active employment contracts. An employee appears as a node when:- their employment contract’s workflow state is Active,
- the employee record is not deleted, and
- the employee’s status is not Terminated,
- and the contract belongs to the selected business.
- One node per person. If an employee somehow has more than one active contract, the first one wins, so they appear once.
- Orphans are never lost. If a person’s manager was filtered out (for example the manager was terminated, or sits in a different business), that person is promoted to a root rather than disappearing — so no one silently vanishes from the chart.
- Terminated staff are excluded entirely, which is why a terminated manager’s reports float up to become roots.
The position-title fallback
A card’s position label is the contract position’s title when one is set, and otherwise falls back to the position type’s name. In plain terms: a properly assigned position always shows a meaningful label rather than a blank — you’ll only see No Position when the person genuinely has no position resolved on their active contract.⚠️ Current state: That title-or-type-name fallback is resolved on the server and sent down as the card’s position. The chart will only show a position at all for people whose active contract carries a position; an employee who is active but has no position on their contract shows No Position. If a whole chart comes up empty, it usually means no managers have been assigned on contracts yet (the empty state even says “Assign managers to employees to build the org chart.”), not that the page is broken.
Per-business scoping
This is the part to internalise. The chart derives its business from the selected business first, and only validates a real business; it does not fall back to your whole tenant. Concretely:- If a valid business is in context, the chart contains only that business’s active-contract employees and their reporting lines.
- If the business is missing or malformed, the server returns an empty chart rather than quietly showing everyone across the tenant. So an unexpectedly empty chart almost always means no business selected / wrong business — not no data.
Reading and navigating the chart
The canvas is an interactive, pan-and-zoom diagram.- Pan by dragging the background; zoom with the wheel or the + / − / Fit controls in the bottom-left. Fit re-frames the whole tree; the chart also auto-fits when it first loads.
- Search employees using the box top-left — match on name, employee number or position. Picking a result recentres the canvas on that person and briefly highlights their card.
- Filter by department and by status (Active / On Leave / Suspended / Terminated) using the dropdowns. Filtered-out cards dim rather than vanish, so you keep the shape of the tree; Clear removes the filters.
- Click a card to open that employee’s profile (
/hr/employees/:id). - Focus a subtree: the chart supports rendering from a chosen person downward; while focused, a Full Chart button returns you to the complete tree.
- Export the chart as a PNG image with the Export button (the minimap and overlay panels are left out of the image).
Note: the cards are read-only — you can’t drag people around to re-parent them here. Reporting lines are changed by editing the manager on an employee’s contract, not on this canvas. See Employment records & contracts under Related.
Permissions
There are no separate edit permissions on this page — it only reads from contracts. To change the structure you need the rights to edit employees’ contracts (
hr:write), which is done elsewhere.
Related
- Employees (the people directory) — the underlying people
- The employee profile & its tabs — where clicking a card lands
- Employment records & contracts — where reporting lines (the manager) are set
- Transfers and Promotions — changes that reshape the chart
- Org Structure — departments, seats & reporting lines — where the seats and reporting lines shown here are configured
- My team — a manager’s own slice of the reporting tree