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

# PM Templates

> Define preventive maintenance procedures — asset type, frequency, and compliance filters, with checklist items and required materials.

This screen lists and manages preventive maintenance templates and is available at `/fm/pm-templates`.

## Overview

The PM Templates page loads templates via `usePMTemplateList` with filter support for: text search, Asset Type (hvac, generator, elevator, fire\_system, plumbing, electrical, general), Frequency (daily, weekly, monthly, quarterly, semi\_annual, annual), Compliance Required (yes/no), and Active status. The `PMTemplateTable` renders the filtered list. An **Add Template** button opens `PMTemplateFormDialog`.

## Who it's for

Requires permission `fm.dashboard.view`. Creating or editing templates may require `fm.pm-templates.admin` — confirm with SME.

## Before you start

* Hold `fm.dashboard.view`.
* Asset type and frequency values are defined in the component — no picklist dependency for these fields.

## Finding a template

1. Navigate to `/fm/pm-templates` via the FM sidebar or Preventive Maintenance section.
2. Use the search bar and the Asset Type, Frequency, Compliance, and Status dropdowns to narrow the list.
3. Click **Add Template** to open the creation dialog; provide a template name, asset type, frequency, estimated duration, checklist items, and materials.
4. Click any template row to navigate to `/fm/pm-templates/:id`.

* **PM template** — a reusable definition of a preventive maintenance procedure including checklist steps and required materials.
* **Compliance required** — flag (`is_compliance_required`) indicating whether completion of this PM is required for regulatory compliance.
* **Frequency** — how often the PM should recur (daily through annual).

## Viewing a template

The PM Template Detail page (`/fm/pm-templates/:id`) loads a template by ID via `usePMTemplateDetail`. The header displays the template name, asset type badge, frequency badge, and active/inactive badge. Four stat cards summarize: **Est. Duration** (hours), **Checklist Items** (count), **Materials** (count), and **Compliance** (required/optional). A **Checklist Items** card lists each step with its `item_description`, optional `pass_criteria`, and a Required badge when `is_required` is true. A **Required Materials** card lists each material with the linked inventory item name and required quantity. An **Edit** button opens `PMTemplateFormDialog`.

Requires `fm.dashboard.view`. Editing requires `fm.pm-templates.admin` — confirm with SME.

Before you start: the template must exist and not have been deleted.

1. From the PM Templates list, click any row to navigate to `/fm/pm-templates/:id`.
2. Check the asset type, frequency, estimated duration, and compliance setting in the header and stat cards.
3. Examine each checklist item, pass criteria, and whether it is required.
4. Check the Required Materials card to see which inventory items are needed and in what quantities.
5. Click **Edit** to open the edit dialog and modify the template definition.

* **Checklist item** — a step in the PM procedure with optional `pass_criteria` to define what a passing result looks like.
* **Required material** — links to an inventory item (`inventory_item.item_name`) with a `quantity_required`.
* **is\_compliance\_required** — indicates whether completion of this template is tracked for regulatory purposes.

## Related

<Columns cols={2}>
  <Card title="Facilities & Inventory" icon="warehouse" href="/fm/overview">
    Facilities & Inventory core overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/fm.tsx
  * src/cores/fm/pages/PMTemplatesPage.tsx
  * src/cores/fm/pages/PMTemplateDetailPage.tsx
</Accordion>
