Status Labels
A status label is the named state an asset is in — Ready to Deploy, In Repair, Lost / Stolen, and so on. You define the labels yourself, and each label carries one of four fixed deploy types that tells the system whether an asset in that state may be endorsed (checked out) to an employee. Everything else about a label — its name, its color, how many you create — is entirely up to you.
ams/categories) and click the
Status Labels tab in the strip Categories · Groups · Status Labels.
The tab loads the screen from ams/status_labels. The whole screen (view, add,
edit, delete) is gated on the single asset permission ("Assets: Entries");
there are no separate create/update/delete permits for status labels. Note that reaching the
tab through the sidebar also requires asset_category (the Categories page's own
permit) — the direct URL needs only asset. See
Permissions & Roles.
The two-level idea: your labels, four fixed types
Status labels work on two levels, mirroring the Snipe-IT convention:
- The label — an admin-defined name and color, shown as a colored chip where the asset's status appears on screen (the Status Labels list and the asset detail page); the XLSX export carries the label's name as plain text. You can rename, recolor, add, or remove labels freely.
- The deploy type — one of four fixed classifications every label must carry. The form calls this field "Field Type". It is the only part of a label the system actually interprets.
- Checking an asset out does not change its status (it does not flip to Deployed automatically — you set that yourself).
- Setting a Pending, Undeployable, or Archived label on an asset that is already endorsed does not check it in or clear the assignment — those types are informational.
- An asset with no status at all (the status field left as
-) is not blocked — the guard only runs when a status is set.
The 7 seeded labels
Enabling the module and running its migrations seeds seven ready-made labels covering the standard IT-asset states. Seeding matches by name and is idempotent — if you rename or recolor a label, re-running migrations never overwrites your edits.
| Label (exact name) | Deploy type | Color | Default | Meant for |
|---|---|---|---|---|
| Ready to Deploy | Deployable | #1d97a6 (brand teal) |
Yes | In stock, tagged, and issuable. |
| Deployed | Deployable | #5cb85c (green) |
No | Currently in an employee's hands. |
| Pending | Pending | #f0ad4e (amber) |
No | Awaiting setup, imaging, or a decision. |
| In Repair | Pending | #f0ad4e (amber) |
No | Out for repair or maintenance work. |
| Broken | Undeployable | #d9534f (red) |
No | Failed hardware, not economically repairable. |
| Lost / Stolen | Undeployable | #d9534f (red) |
No | Cannot be located or reported stolen. |
| Archived | Archived | #777777 (grey) |
No | Retired, disposed, donated, or written off. |
- (no status) until you pick one. Treat the Default flag as documentation of
your intended starting status, and make picking it part of your intake routine (see
Adding & Editing Assets and the intake SOP in
Workflows & SOPs).
The Status Labels list
The tab shows a searchable DataTable of every label, sorted by name ascending, with a table refresh button and an XLS export of the data columns. The header button "Add Status Label" opens the add modal.
| Column | Meaning | Notes |
|---|---|---|
| "Status Label" | The label's name, rendered as a colored chip using the label's own color. | Falls back to brand teal #1d97a6 when no color is set. Default sort column (ascending). |
| "Field Type" | The deploy type: Deployable / Pending / Archived / Undeployable. | The generic header "Field Type" is reused here — on this screen it means the deploy type, not a form-field type. |
| "Default" | Yes / No — whether this label is flagged as the default status. | See the "Default" caveat above. |
| "Created by" | Who created the label, as a profile link. | Opens the member profile in a new tab. |
| Options | Per-row actions. | A pencil (tooltip "Edit Status Label", opens the same modal pre-filled) and an × (delete, with a confirmation prompt). |
The Add / Edit form
Adding and editing use the same modal (ams/status_labels/modal_form) with a
single footer button — Save (check-circle icon). Saving shows the toast
"The record has been saved."
| Field | Meaning | Required | Notes |
|---|---|---|---|
name — "Name" |
The status name users will see everywhere. | Required | Required at both client (message "This field is required.") and server. Autofocused when the modal opens. Names are not enforced unique. |
meta_type — "Field Type" |
The deploy type — a Select2 with exactly four options: "Deployable", "Pending", "Archived", "Undeployable". | Always has a value | Defaults to Deployable for new labels; when editing, it is derived from the label's stored flags. |
color — "Color" |
The chip color used wherever the label is displayed. | Optional | A native color picker, defaulting to brand teal #1d97a6. Pick distinct colors per state family (green-ish for deployable, amber for pending, red for broken/lost, grey for archived) so the registry scans well. |
default_label — "Default" |
Flags this label as the default status. | Optional | Unchecked by default. Nothing prevents ticking Default on several labels at once — there is no exclusivity check — and the flag is informational today (see above). |
notes — "Notes" |
Free-text admin notes about when to use the label. | Optional | Plain textarea. Not displayed anywhere outside this form — use it to record your team's usage rules. |
Deleting labels and in-use behavior
Deleting a status label is a soft delete behind a confirmation prompt, and it always succeeds — there is no in-use check. (The error message "The record is in use, you can't delete the record!" exists in the code but is effectively never shown, because the delete cannot fail.) On success you see "The record has been deleted."
Consequences of deleting a label that assets still carry:
- The affected assets keep a dangling reference — their detail page simply stops showing a current status, and the status column in the XLSX export comes out blank.
- Because the checkout guard skips assets whose status can no longer be resolved, deleting a non-deployable label (e.g. Broken) quietly removes the checkout block from every asset that carried it.
Where an asset's status gets set
Status labels never change on their own; these are the only places a status is written:
- Add / Edit asset modal
- The "Status" Select2 on the asset form — the primary place to set or change a status. See Adding & Editing Assets.
- Check-in modal
- When an asset is returned, the check-in modal offers an optional "Set status to" dropdown so you can re-status it (e.g. back to Ready to Deploy, or to In Repair) in the same step. See Checkout & Check-in.
- Import
- The importer maps each row's Status column by name; a status name it does not
recognize is auto-created as a new Deployable label in teal
#1d97a6(not flagged default). Clean your status column before importing, or you will grow near-duplicate labels. See Import, Export & Labels.
You can also filter by status in the export modal, and the Asset Reports surface status where relevant. The asset's current status chip is shown on its detail page (Asset Detail & Activity).
Which label should this asset get?
A practical mapping from everyday situations to the seeded labels. Remember every status change here is a manual step — build these into your team's routine (see Workflows & SOPs).
| Situation | Recommended label | Why |
|---|---|---|
| New unit received, tagged, and shelved in the storeroom | Ready to Deploy | Deployable — signals "issuable now"; the checkout guard allows it. |
| You just endorsed the asset to an employee | Deployed | Set it manually at checkout time (checkout does not flip it for you). Still Deployable, so a future re-checkout after check-in is not blocked. |
| Waiting for imaging, software setup, or a manager's approval | Pending | Pending type blocks accidental checkout while the unit is being prepared. |
| Sent to a repair vendor / under maintenance | In Repair | Blocks checkout while out of service. Log the work itself as a record on the Maintenance screen — the status alone stores no cost or dates. |
| Failed beyond economical repair, awaiting a disposal decision | Broken | Undeployable — permanently blocks checkout until re-statused. |
| Cannot be located during an audit, or reported stolen | Lost / Stolen | Undeployable, and the name flags it for follow-up. Record the details in the asset's comments for the chain of custody. |
| Disposed, donated, or formally retired | Archived | Archived type marks it out of circulation — but note it stays in the Browse list; archiving is informational, not a hide/delete. |