/hr/recruitment/staffing-plans (list), /hr/recruitment/staffing-plans/:id (detail)
📷 Screenshot: Staffing Plans list with the “New Plan” button — to be added.
Before you start
- Which business am I in? Staffing plans belong to the business selected in the switcher and are only visible within it.
- Each plan gets a reference number automatically (a tenant-wide series). You don’t type it.
The plan lifecycle (statuses)
The rules are enforced on the server:
- Only a Draft plan can be edited — once Submitted or Cancelled, edits are refused with “Cannot update a submitted or cancelled staffing plan.”
- Only a Draft plan can be submitted; submitting needs the
hr-recruitment:approvepermission.
Building a plan
From the list, choose New Plan (needshr-recruitment:write). A dialog opens.
📷 Screenshot: New Staffing Plan dialog — dates and the designation-details rows — to be added.
Plan dates
Designation details (the rows)
A plan is made of one row per role you want to plan for. Use Add row to add roles (up to 100 rows per plan). Each row has:
As you type, the dialog shows a running Total estimated budget — the sum of (vacancies × cost per position) across all rows. This same total is stored on the plan and recalculated whenever the rows change.
Create the plan with Create Plan. It is saved as a Draft.
Overlap guard: When you create or submit a plan, Hitaji 360 checks each designation against any Submitted plan covering an overlapping period. If one already covers the same role for an overlapping range you’ll be stopped with “An active submitted staffing plan already covers designation ’…’ for an overlapping period (REF).” Draft plans don’t block — only submitted ones reserve a period.
The plan detail page
Open a plan to see its summary (dates and total estimated budget) and the full designation table. The table is richer than the create dialog because it shows live context next to each planned role:
The Current Count and Current Openings figures are a point-in-time read from your live data (employees by position and open openings by job title) — they help you sanity-check whether the vacancies you’re planning are realistic given who you already employ and what’s already advertised.
If the plan is a Draft and you have
hr-recruitment:approve, a Submit Plan button appears. Submitting locks the plan.
⚠️ Current state: Current Count and Current Openings are a snapshot taken at read time; they are not continuously recalculated as employees join or openings change. Re-open the plan to refresh them. There is also no in-app cancel action for a submitted plan today (the capability exists in the backend but isn’t wired to a button). (Flagged for the team.)
Permissions
Related
- Recruitment overview & dashboard — where planning sits in the funnel
- Job requisitions — raise the actual request to hire
- Job openings — advertise the planned roles
- Org structure — departments and positions