Checklists

Make sure every shift runs the same way. Build a template once, the scheduler fans it out to every branch on its frequency, your crew completes it on a phone with photo evidence, and a tamper-proof signed packet lands in the audit trail when they sign off.

A 30-second tour

Open Checklists in the sidebar. What you see depends on your role:

  • Branch employee / supervisor — the list of checks pending for you today. Tap Start on a row, work through the items on your phone, sign off.
  • Manager / owner — the same list, plus a four-card KPI strip (Done / Pending / Overdue / Awaiting signoff) and a Tools footer with Templates, History, and Live status.
  • Anyone — when nothing is pending today, you see “All checks done for today” in green. Nothing else to do.

The daily flow — what your crew actually does

  1. Open the app on the floor

    The branch user opens Checklists at the start of their shift. The phone-friendly layout shows only their checks for today (location-scoped automatically).
  2. Start the run

    Tap Start. The runner opens at /checklists/run/<id> with the items grouped by section. Each item has a clear input: checkbox, pass/fail, temperature reading, photo capture, signature, etc.
  3. Work item by item

    Mark each item as you go. A red Critical badge means a fail on that item will open a CAPA incident automatically. On long-press you see the “Why this matters” hint the template author wrote (e.g. "Cold-chain breach at >6°C is a HACCP CCP.").
  4. Capture evidence where asked

    Some items require a photo (e.g. before/after deep-clean). Some require a signature. Some accept a free-text note. The runner gates completion on these — you can't finish the run with a required photo missing.
  5. Sign off

    When all items are done, tap Complete. If the template requires a supervisor signoff, the run lands in the manager's signoff queue and is locked until they approve.
  6. The packet is filed

    Mihwar signs the completed run with a hash chain and stores it in History. You can download a PDF packet (with photos, timestamps, signatures) any time — that's what you hand to an inspector.

Templates — the blueprint for every run

A template is the recipe. Define the items, sections, schedule, and rules once; the scheduler creates a fresh run from it every day (or week, month, custom cron) at every branch you've scoped it to.

Three ways to create a template

  1. From scratch

    On Templates, click + New template. Fill in title, description, frequency, scheduled time, grace period, then add steps one by one in the editor. Best when your check is unique.
  2. With AI

    Click Create with AI. Pick a preset (Opening, Closing, HACCP, Receiving, Sanitation, Vehicle pre-trip) or describe what you want in plain language. Mihwar generates a structured draft with sections, items, types, and critical flags. You can edit every field inline before saving — add/remove items, rename sections, change types, toggle critical. Save as a draft to refine in the full editor, or save & activate to start scheduling runs.
  3. From a starter pack

    Click Packs on the templates page to browse Mihwar's curated packs (HACCP daily, opening + closing for quick-service, vehicle pre-trip, facility walk, etc.). Each pack is pre-built and editable — import it, then tune to your operation.

The template editor

Once you open a template (Templates → Edit), the page is laid out in the order you actually make decisions:

  1. When & how does this run? — frequency, scheduled time, grace period, window, witness signature, supervisor signoff, escalation ladder.
  2. Where does this run? — fan out to all branches (default) or pick specific branches.
  3. Steps — each step is an expandable row. Click the chevron on the left to expand and edit. The mobile preview on the right shows what the runner will look like and tracks the step you're editing.
  4. Audit log — every change (created, published, item edits, branch fan-out, role changes) with actor + timestamp. Collapsed by default; expand when you need it.

Step types — pick the right input

Each step has a type that determines how the worker answers it. Picking the right type makes the runner feel native instead of awkward.

  • Checkbox — binary done / not-done. The default. Use for simple confirmations.
  • Pass / Fail — qualitative observation. Pair with Require photo on Fail for HACCP / food-safety checks.
  • Number — numeric reading (cash count, portion weight). Set Min/Max bounds and a unit (SAR, kg).
  • Temperature — a Number with a thermometer icon and °C/°F unit. Built for cold-chain checks.
  • Photo required — proof of condition. Useful for before/after cleaning, evidence of receipt, etc.
  • Signature — sign-off line. For witness or supervisor-style steps.
  • Text — free-form notes. Use sparingly; checkbox + photo is usually better.
  • Single-select / Multi-select — pick one or more from a list of options (one option per line in the editor).
  • Date / time — record a timestamp. Modes: date + time, date only, time only.

Scheduling — when runs are created

The scheduler fans templates out into run instances on their cadence. Two ways runs appear:

  • Automatic — every 15 minutes, a background worker checks every active template and creates today's runs at the right branches. Idempotent — re-runs don't create duplicates.
  • On-demand — managers can click Generate today's runs on the Templates page to force a scheduling pass right now. Useful after activating a new template or onboarding a new branch.

The fields that control scheduling

  • Frequency — Daily, Weekly, Monthly, or Custom (cron). Ad-hoc templates don't generate runs automatically — they only fire when someone manually starts them.
  • Scheduled time — the “HH:mm” the run becomes due. Set this! If you leave it blank, the scheduler defaults to 23:59 silently and the templates list shows an amber “No scheduled time” warning.
  • Grace period — minutes after the due time before the escalation ladder fires. Typical: 30 for opening checks, 60 for closing.
  • Window start / end — optional. Earliest the run can start, latest it must be completed by. Leave both blank for “any time today”. If you set them, make sure start < end — a zero-length window prevents the run from generating.
  • Witness signature — second person signs before the run can close. Common for sanitation + food-safety.
  • Supervisor signoff — a manager approves the run before it's filed. Required for critical-fail recovery. Pending signoffs surface in Review queue + the “Awaiting signoff” KPI on the landing page.

Weekend skip

Org-level setting at /admin/settingsWeekend days. Daily and weekly templates automatically skip the days you mark as weekend. Default: no weekend skip — Mihwar's target market is food service, which runs every day. Office orgs that want Fri+Sat off can set weekendDays: [5, 6] explicitly (Sunday=0, Saturday=6).

Branches — running across multiple locations

Templates fan out per branch. Open the Where does this run? section in the editor:

  • Default (no selection) — the template runs at every active branch. New branches added later are picked up automatically.
  • Specific branches — only the branches you check. Useful when only stores with breakfast service run the opening check, or only the central kitchen runs a deep-sanitation template.

Versioning — why items lock and how to edit

Once a template has any run history (one or more instances created), its items become locked. This protects the audit chain: if you rewrote step #3 mid-run, the signed packet of past runs would no longer match the live template.

What locks and what doesn't

  • Locked when there's history: step titles, descriptions, types, sections, critical flags, configs, conditional logic.
  • Still editable: title, description, frequency, scheduled time, grace, window, witness / supervisor signoff, escalation ladder, branch fan-out. These apply to future runs only.

Editing a locked template

  1. Duplicate to a fresh draft

    In the editor, the locked-state banner has a Duplicate to edit button. Click it. Mihwar creates a new template with all items copied as a draft you can edit freely.
  2. Edit the new template

    Change anything — items, schedule, branches.
  3. Publish v1

    When ready, click Publish. The new template locks its current shape and starts the audit chain. Future runs pin to this version.
  4. Deactivate the old one

    On the templates list, click Deactivate on the original. Its past runs stay in History for audit, but no new runs will generate.

Critical fails & CAPA

A step marked Critical triggers a CAPA (Corrective & Preventive Action) incident automatically if it fails on a run. CAPA tracks: root cause, immediate fix, preventive action, owner, due date, effectiveness check. This is the food-safety & quality glue that closes the loop on every critical failure — your inspector will look for it.

Mark items critical sparingly. Every critical-fail opens a CAPA, and CAPA fatigue is real. Default heuristic: if a failure would force you to stop service or trigger a refund, it's critical. Otherwise it's a regular pass/fail.

Live status — the manager view

From Checklists → Tools → Live status. Shows every run across every branch today, ordered by urgency:

  1. Overdue — past due, ordered by how late.
  2. Due today — coming up, earliest first.
  3. In progress — started but not finished, with a progress bar (X of Y items done).
  4. Completed today — collapsed at the bottom; click to expand.

Filter by Branch (chips at the top), by Template (dropdown), or to just my runs (Mine toggle). Refreshes every 30 seconds — the timestamp below the title shows how stale the view is.

History & signed packets

Every completed run is signed and filed in History. The signed packet contains the items, photos, signatures, timestamps, and the actor for every event, hash-chained so it can't be tampered with after the fact. Download a packet as PDF for an inspector or HQ audit.

Permissions — who can do what

  • checklists:read — view checklists and templates. Branch employees usually have just this.
  • checklists:run — start / complete runs. Branch employees + supervisors.
  • checklists:signoff — approve runs that need a supervisor signature. Managers.
  • checklists:manage — create / edit / publish / deactivate templates, force-generate runs, import packs. Org admins + owners.

FAQ

I created a template and clicked Generate today's runs but nothing happened.

The toast tells you the reason now (e.g. “weekend skip”, “no scheduled window”, “no steps yet”). Most common: today is in your org's weekend days setting, or your window start = window end (zero-length window), or you never published the template.

I changed a step and saved, but nothing updated.

If the template has run history, items are locked. The save button is disabled and the locked-state banner shows a Duplicate to edit button. Settings (schedule, branches, signoff) save normally even on locked templates.

What happens to a run if it never gets completed?

After scheduled time + grace period the run is marked MISSED and counts toward the Overdue KPI. The escalation ladder (if configured) fires notifications to the manager / on-call. The run stays available — workers can still complete it late, and the audit packet records both the lateness and the eventual completion.

Can I assign a step to a specific person?

Yes — in the step's Advanced settings, set Per-item assignee. When that step comes up in the runner, the assignee's kiosk PIN is required to mark it. Useful on shared tablets where multiple crew share a session.

Can a step depend on a previous answer?

Yes. In the step's Advanced settings → Conditional logic:

  • Show only if previous step — quick-pick (passed / failed / out-of-range).
  • Advanced rules — multiple rules (combined with OR) that reference any upstream step and trigger show, hide, require-photo, or require-corrective-action.

How do I roll a template back?

You don't — Mihwar pins every run to the template version it was generated under. If v3 turned out to be bad, publish v4 with the corrected shape. Past v3 runs keep their evidence and are still verifiable.