M18

Checklists

Dynamic, data-driven, and highly flexible work item user interface checklists allow for wide-ranging item and header row creation for any type of business or industry. Author versioned templates, schedule runs, capture evidence, and sign off with an immutable record.

API workflow reference →
Smart configuration

Thoughtfully designed.

Each header row is customizable. Expand a section, update item status, and watch progress roll up to the template in real time.

  • Parent header rows expand to their child rows; collapse a section once it is done
  • Every cell answer saves on its own — leave mid-run and pick up exactly where you stopped
  • Progress rolls up from item → section → run so the header always shows how far along you are
Exception escalation

Failed items become tasks.

Create a task from any checklist item without leaving the run. Set a title, assign an owner from the people lookup, and save — the task lands inline on the item and carries it as context into M08 Tasks.

  • Any row can link to one or more M08 tasks; unlink when the exception is closed
  • The task pill renders inline on the row so the checklist stays the source of truth
  • Checklists is not a Kanban board — the task board, statuses, and assignment stay in M08
Status labels

Status without opening the run.

Label any section with live status — waiting on lab results, ETA Thursday morning — so reviewers see where a run stands from the list view.

  • Labels live on the parent header row, per account, and update in place as you type
  • The list view surfaces the label next to the section, so a reviewer scans status without drilling in
  • Delete a label when the blocker clears; the run's own progress is untouched
Checklist authoring

Author a checklist from the index.

Every checklist lives in one grid: type, title, header rows, child rows, and column-header visibility. Create a new one in a single dialog — name it, pick a type, choose whether column headers show — and it lands at the top of the list with its type count updated.

  • The index shows every checklist with its counts; a type rail filters the grid
  • One dialog covers the whole create: title, type, column-header visibility
  • Save confirms with a check and the new checklist lands at the top, marked as just created
Column configuration

Rows, columns, and coded options.

Open a checklist to its two grids: header rows on the left, columns on the right. Add a header row inline. Define a column with header text, a tooltip, an expected response type, and a resolved data type. Selectable responses get managed options — each with a displayed value and a coded value that reporting keys on.

  • Header rows add inline — no dialog, the grid is the editor
  • A column carries header text, a tooltip, an expected response type, and a resolved data type
  • Options pair a displayed value with a coded value, so reporting keys on codes while users read labels
Item types

Nine item types, one editor.

Every column in a template picks one item type; every row answers against it. The same builder covers a plain check and a nested checklist.

  • Check
  • Pass / Fail / N-A
  • Numeric with tolerance
  • Text
  • Select and multi-select
  • Date and time
  • Photo or file evidence
  • Signature
  • Nested checklist

Checklists are 2-level hierarchical parent and child data rows that can be reordered and configured in any way the admin user sees fit. Add, edit, delete, clone, rename, and reorder any parent rows with any child rows. Admin screens provide extensive capabilities for defining each and every row of data that belongs in this hierarchical and configurable model. Under the hood a checklist is a repeatable, template-based component that resembles a robust datagrid but acts as a project management and tracking tool. Admins author a versioned template; the organization keeps an immutable audit record and reporting. Rows can escalate into any number of M08 Tasks (Checklists is not a Kanban board), evidence attachments live in M16 File Management, and Checklists measures procedures, not people — M13 Assessments owns scoring.

Capabilities

  • Versioned templates — author once, publish as a version, run anywhere; approved runs stay pinned to the version they ran against
  • Two-level hierarchy — parent (header) rows and child rows; add, edit, delete, clone, rename, and reorder any of them
  • Configurable columns — each column defines what a row answers with, plus the options a select column offers
  • Dynamic control assignment — checkboxes, switches, text input boxes, select/multi-select, date/time, photo or file uploads, and more
  • Hierarchical and flexible — expand a section, update statuses, and progress rolls up to the template in real time; runs are resumable, save partially, and record actor + timestamp on every item
  • Status labels on header rows — "waiting on lab results", "ETA Thursday morning" — visible from the list view without opening the run
  • Escalate to tasks — create an M08 task from any checklist row without leaving the run; assign an owner from the people lookup; the task lands inline on the row
  • Evidence capture — photos and files attach through M16 File Management
  • Sign-off + immutable record — approval locks the run; export as PDF
  • Reporting — completion rate, on-time vs overdue, top failing items, and pass rate by template, team, and location
  • Clone anything — a whole program, a header row, a row, a column, or a column option

Benefits

  • Procedures run the same way every time, on every site, with a record you can hand to an auditor
  • Exceptions don't get lost — a failed item becomes a tracked task with an owner
  • Reviewers read status from the list view; nobody opens a run to find out where it stands
  • One template edited once updates every future run; approved history stays frozen

Flow of work

  1. 01Author — build the versioned template: header rows, rows, columns, and options
  2. 02Assign — pick the accounts, sites, or teams the checklist applies to
  3. 03Run — expand sections, answer cells, attach evidence, label status
  4. 04Sign off — approval locks the run immutably and exports as PDF
  5. 05Report — completion rate, on-time vs overdue, top failing items, pass rate

Subfeatures

  • Checklist program CRUD
  • Clone a whole program
  • Header rows (parent)
  • Rows (child)
  • Reorder + rename any row
  • Columns + column options
  • Nine item types
  • Versioned templates
  • Per-account filled-in checklist
  • Save one answer per cell
  • Header-row status labels
  • Link a row to an M08 task
  • Unlink a task
  • Evidence via M16 File Management
  • Resumable partial saves
  • Actor + timestamp per item
  • Sign-off locks the run
  • PDF export
  • Completion + pass-rate reporting
  • Nested checklists
Source surfaces (technical reference)

Internal code areas in the licensed Full-Stack codebase that back this module.

  • ApiProjectChecklist — program, header row, row, column, column option
  • ApiAccountChecklist — filled-in detail, entry save, header-row labels, row ↔ task links
  • Checklist template versioning
  • Sign-off lock + PDF export
  • Checklist reporting rollup job
In the stack

Where it lives. What it exposes.

A quick visual of how Checklists participates across the CleenUI stack, alongside the named operations it adds to the API surface.

M18 · architecture
Frontend
React · TailwindCSS · 60+ components
Checklist programs gridTemplate builder (header rows, rows, columns, options)Run view (expand / collapse, cell entry)Header-row status labelsEscalate-to-task panelEvidence attachSign-off + PDF exportReporting dashboard
API
C# Web API · production-ready · role-aware
Program CRUD + cloneHeader row / row / column / option CRUD + cloneFilled-in checklist detailCell entry saveHeader-row label save / filter / deleteRow ↔ task link / unlink / filter
Database
AzureSQL · 300+ tables · 700+ procedures
ChecklistsChecklistVersionsChecklistHeaderRowsChecklistRowsChecklistColumnsChecklistColumnOptionsAccountChecklistsAccountChecklistEntriesAccountChecklistHeaderRowLabelsAccountChecklistRowTasks
Async Services and Batch Jobs
WebJobs & Functions · queue-backed
Sign-off lock + PDF exportProgress rollupReporting aggregation
All four layers ship together as the Full-Stack license. M18 blocks are highlighted.
API operations

Named operations on this surface

20
Try these in Postman
  • POSTChecklist program CRUD/checklist/program-crud
  • POSTClone a whole program/checklist/clone-a-whole-program
  • POSTHeader rows (parent)/checklist/header-rows-parent
  • POSTRows (child)/checklist/rows-child
  • POSTReorder + rename any row/checklist/reorder-rename-any-row
  • POSTColumns + column options/checklist/columns-column-options
  • POSTNine item types/checklist/nine-item-types
  • POSTVersioned templates/checklist/versioned-templates
  • POSTPer-account filled-in checklist/checklist/per-account-filled-in-checklist
  • POSTSave one answer per cell/checklist/save-one-answer-per-cell
  • POSTHeader-row status labels/checklist/header-row-status-labels
  • POSTLink a row to an M08 task/checklist/link-a-row-to-an-m08-task
  • POSTUnlink a task/checklist/unlink-a-task
  • POSTEvidence via M16 File Management/checklist/evidence-via-m16-file-management
  • POSTResumable partial saves/checklist/resumable-partial-saves
  • POSTActor + timestamp per item/checklist/actor-timestamp-per-item
  • POSTSign-off locks the run/checklist/sign-off-locks-the-run
  • POSTPDF export/checklist/pdf-export
  • POSTCompletion + pass-rate reporting/checklist/completion-pass-rate-reporting
  • POSTNested checklists/checklist/nested-checklists

Each operation maps to an endpoint in the licensed C# Web API surface.