> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hitaji360.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Org Chart

> The org chart is a visual map of who reports to whom in a business — a tree drawn from the reporting lines on your employees' active contracts.

The org chart is a visual map of who reports to whom in a business — a tree drawn from the reporting lines on your employees' active contracts. It's the quick way to see your structure at a glance: who sits under whom, how many direct reports a manager carries, and where a person fits in the chain.

This page explains what the chart shows, how it's built, how to read and navigate it, and — importantly — how it is scoped to a single business so you always know which structure you're looking at.

**You'll find this at:** `/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.

A status legend sits in the top-left of the canvas, and a running **employee count** shows on the toolbar.

***

## 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**.

The **reporting line** comes from the manager named on each person's contract. Someone with no manager on their contract is drawn as a **root** (a top-of-tree node). Everyone whose manager is in the chart hangs beneath that manager.

A few details worth knowing:

* **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*.

The takeaway: **pick the right business in the switcher before reading anything into the chart.** A manager who looks like they have no reports may simply have those reports under a different business.

***

## 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).

A **minimap** in the corner helps you keep your bearings on large trees.

> 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

| Action             | Permission |
| ------------------ | ---------- |
| View the org chart | `hr:read`  |

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)](/hr/user/employees/employees) — the underlying people
* [The employee profile & its tabs](/hr/user/employees/employee-profile) — where clicking a card lands
* [Employment records & contracts](/hr/user/employees/employment-and-contracts) — where reporting lines (the manager) are set
* [Transfers](/hr/user/employees/transfers) and [Promotions](/hr/user/employees/promotions) — changes that reshape the chart
* [Org Structure — departments, seats & reporting lines](/hr/user/getting-started/org-structure) — where the seats and reporting lines shown here are configured
* [My team](/hr/user/self-service/my-team) — a manager's own slice of the reporting tree
