diff --git a/.vitepress/routes/master.ts b/.vitepress/routes/master.ts
index 4c74e36a0..3122a1492 100644
--- a/.vitepress/routes/master.ts
+++ b/.vitepress/routes/master.ts
@@ -132,6 +132,36 @@ const routes = [
{ text: 'Settings', link: '/master/manufacturing/settings' },
]
},
+ {
+ text: 'Maintenance',
+ collapsed: false,
+ items: [
+ {
+ text: 'Operations',
+ collapsed: true,
+ items: [
+ { text: 'Maintenance Requests', link: '/master/maintenance/operations/maintenance-requests' },
+ { text: 'Maintenance Calendar', link: '/master/maintenance/operations/calendar' },
+ ]
+ },
+ {
+ text: 'Equipment',
+ collapsed: true,
+ items: [
+ { text: 'Equipment', link: '/master/maintenance/equipments/equipments' },
+ ]
+ },
+ {
+ text: 'Configurations',
+ collapsed: true,
+ items: [
+ { text: 'Categories', link: '/master/maintenance/configurations/categories' },
+ { text: 'Teams', link: '/master/maintenance/configurations/teams' },
+ { text: 'Stages', link: '/master/maintenance/configurations/stages' },
+ ]
+ },
+ ]
+ },
{
text: 'Contacts',
collapsed: false,
diff --git a/src/index.md b/src/index.md
index 93151b949..b515059a2 100644
--- a/src/index.md
+++ b/src/index.md
@@ -48,6 +48,10 @@ features:
title: Manufacturing Management
details: Plan production, manage BoMs, and track work orders on the shop floor.
link: /master/manufacturing/operations/manufacturing-orders.md
+ - icon: 🔧
+ title: Maintenance Management
+ details: Track equipment, schedule preventive maintenance, and log corrective requests.
+ link: /master/maintenance/operations/maintenance-requests.md
- icon: 🎓
title: Recruitment System
details: Simplify recruitment and find the best talent with ease.
diff --git a/src/master/maintenance/configurations/categories.md b/src/master/maintenance/configurations/categories.md
new file mode 100644
index 000000000..513495575
--- /dev/null
+++ b/src/master/maintenance/configurations/categories.md
@@ -0,0 +1,65 @@
+# Equipment Categories
+
+An **Equipment Category** is a label you use to group similar pieces of [Equipment](../equipments/equipments.md) together — for example *Computers*, *Vehicles*, *Office Furniture*, or *Heavy Machinery*.
+Each category can have a **default responsible technician**, so every new equipment placed in that category automatically inherits the right person to look after it.
+
+**Use Case:**
+Create a category for every type of asset you maintain. This makes filtering, reporting, and assigning the right technician much faster.
+
+> **In simple words:** A Category is a *folder* for similar equipment. Put all your laptops in a "Computers" category, all your trucks in a "Vehicles" category, and so on.
+
+## Steps to Create a New Equipment Category
+
+1. Navigate to **`Maintenance → Configurations → Categories`** as shown below:
+
+
+
+2. Click **New Category** and fill in the following details:
+
+ #### General Information
+
+ - **_Name:_** The name of the category (e.g. `Computers`, `Vehicles`, `Printers`). Must be unique.
+ - **_Responsible:_** The default technician who looks after every equipment placed in this category. New equipment will pick this person automatically.
+ - **_Company:_** The company the category belongs to (useful in multi-company setups).
+ - **_Note:_** A free-text description — anything that helps explain what kind of equipment belongs in this category.
+
+
+
+3. **Action Buttons:**
+
+ - **Create** – Save and open the category record.
+ - **Create & Create Another** – Save and open a blank form for the next category.
+ - **Cancel** – Discard and return to the list.
+
+## Category View Page
+
+After creation, you are redirected to the **Category View Page** which summarizes the general information you saved.
+
+
+
+You can also:
+
+- **Edit:** Modify any saved field.
+- **Delete:** Remove the category. *Note:* deleting a category does not delete the equipment inside it — those records simply lose their category.
+
+## List View — Groups & Actions
+
+The **Categories** list view shows every category with the following columns: **Name**, **Responsible**, **Company**, and **Created At**.
+
+You can:
+
+- **Group by:** Responsible.
+- **Search by:** Name.
+- **Bulk Actions:** Delete selected categories.
+
+
+
+### Summary
+
+Equipment Categories help you:
+
+- Group similar [Equipment](../equipments/equipments.md) together for easy filtering and reporting.
+- Automatically assign the right default technician to every new equipment.
+- Keep your equipment list organized as it grows.
+
+> **Next step:** After creating categories, set up your [Maintenance Teams](teams.md) and the [Stages](stages.md) used in maintenance requests.
diff --git a/src/master/maintenance/configurations/stages.md b/src/master/maintenance/configurations/stages.md
new file mode 100644
index 000000000..ec5d8fbf1
--- /dev/null
+++ b/src/master/maintenance/configurations/stages.md
@@ -0,0 +1,65 @@
+# Stages
+
+A **Stage** represents a step in the lifecycle of a [Maintenance Request](../operations/maintenance-requests.md) — for example *New Request* → *In Progress* → *Repaired* → *Scrap*.
+Stages appear as a progress bar on top of every request so the technician can see exactly where the work is and move it forward with one click.
+
+**Use Case:**
+Customize the stages to match how your maintenance team actually works. You can add, rename, or reorder stages, and mark certain stages as **Done** so the system knows the request is closed.
+
+> **In simple words:** Stages are the *steps* a maintenance request goes through. The system ships with sensible defaults — change them only if your team uses different names.
+
+## Default Stages
+
+When the Maintenance plugin is installed, the following stages are created automatically:
+
+| Order | Stage Name | Done? |
+| ----- | -------------- | ----- |
+| 1 | New Request | No |
+| 2 | In Progress | No |
+| 3 | Repaired | Yes |
+| 4 | Scrap | Yes |
+
+Requests in **Done** stages are treated as closed. For **preventive recurring** requests, moving to a Done stage also triggers the system to automatically create the *next* recurring request.
+
+## Steps to Create a New Stage
+
+1. Navigate to **`Maintenance → Configurations → Stages`** as shown below:
+
+
+
+2. Click **New Stage** and fill in:
+
+ - **_Name:_** The display name of the stage (e.g. `Waiting for Parts`, `Quality Check`). Must be unique.
+ - **_Done:_** Toggle **ON** if a request reaching this stage should be considered **closed/complete**. Leave **OFF** for in-progress stages.
+
+
+
+3. **Action Buttons:**
+
+ - **Create** – Save the new stage.
+ - **Cancel** – Discard.
+
+## List View — Reordering & Actions
+
+The **Stages** list view shows every stage with the following columns: **Name** and **Done**.
+
+You can:
+
+- **Reorder Stages:** Drag-and-drop stages to change the order in which they appear on the request progress bar.
+- **Group by:** Done status or Created date.
+- **Edit:** Rename a stage or change its Done flag.
+- **Delete:** Remove a stage. *Be careful* — deleting a stage that requests are using will fail.
+
+
+
+### Summary
+
+Stages give you:
+
+- A clear visual workflow for every [Maintenance Request](../operations/maintenance-requests.md).
+- Control over what "done" means for your team.
+- Automatic generation of the next request when a recurring preventive request is closed.
+
+> **Tip:** Keep the number of stages small — 3 to 5 stages usually work best. More than that and the progress bar becomes hard to read.
+
+> **Next step:** With stages, [Teams](teams.md), and [Categories](categories.md) configured, you are ready to start creating [Maintenance Requests](../operations/maintenance-requests.md).
diff --git a/src/master/maintenance/configurations/teams.md b/src/master/maintenance/configurations/teams.md
new file mode 100644
index 000000000..ee59bdae1
--- /dev/null
+++ b/src/master/maintenance/configurations/teams.md
@@ -0,0 +1,52 @@
+# Maintenance Teams
+
+A **Maintenance Team** is a group of users who are collectively responsible for taking care of a set of [Equipment](../equipments/equipments.md) and handling [Maintenance Requests](../operations/maintenance-requests.md).
+Examples: *IT Support Team*, *Facility Team*, *Mechanical Team*.
+
+**Use Case:**
+Create one team per maintenance department or area of expertise. When a new request is raised, you simply pick the right team and the work lands in the right hands.
+
+> **In simple words:** A Team is a *crew* of people who fix things together. Add the right team members and assign the team to your equipment.
+
+## Steps to Create a New Maintenance Team
+
+1. Navigate to **`Maintenance → Configurations → Teams`** as shown below:
+
+
+
+2. Click **New Team** and fill in the following details:
+
+ - **_Name:_** The name of the team (e.g. `IT Support`, `Facility Maintenance`). Must be unique.
+ - **_Team Members:_** Select one or more users who are part of this team. You can add as many people as needed.
+ - **_Company:_** The company the team belongs to (useful in multi-company setups).
+
+
+
+3. **Action Buttons:**
+
+ - **Create** – Save the new team.
+ - **Create & Create Another** – Save and open a blank form for the next team.
+ - **Cancel** – Discard and return to the list.
+
+## List View — Columns & Actions
+
+The **Teams** list view shows every maintenance team with the following columns: **Name**, **Company**, and **Team Members** (shown as badges).
+
+You can:
+
+- **Search by:** Name.
+- **Edit:** Update the team name, members, or company.
+- **Archive / Restore:** Soft-delete a team. Archived teams are hidden from selection lists but kept in the database. You can restore them later.
+- **Delete (Permanent):** Force-delete a team if it is not used by any equipment or request.
+
+
+
+### Summary
+
+Maintenance Teams help you:
+
+- Route each [Maintenance Request](../operations/maintenance-requests.md) to the right group of people.
+- Assign a default team to each piece of [Equipment](../equipments/equipments.md).
+- Keep accountability clear — every request always has a team responsible.
+
+> **Next step:** After creating teams, define the workflow [Stages](stages.md) used in maintenance requests.
diff --git a/src/master/maintenance/equipments/equipments.md b/src/master/maintenance/equipments/equipments.md
new file mode 100644
index 000000000..872d8e63d
--- /dev/null
+++ b/src/master/maintenance/equipments/equipments.md
@@ -0,0 +1,101 @@
+# Equipment
+
+In the **Maintenance** module, an **Equipment** is any physical asset your company owns and needs to keep in good working condition — for example a *Laptop*, *Printer*, *CNC Machine*, *Forklift*, or *Air Conditioner*.
+Each equipment record stores its identity (model, serial number), who owns it, who looks after it, when it was purchased, and how often it is expected to fail.
+
+**Use Case:**
+Create an equipment record for every machine, tool, vehicle, or device you want to track. Once an equipment exists in the system, you can raise [Maintenance Requests](../operations/maintenance-requests.md) against it, assign a technician, and monitor how often it breaks down.
+
+> **In simple words:** Equipment is the *thing you take care of*. Before you can log a repair or schedule a check-up, the item must exist here.
+
+## Steps to Create a New Equipment
+
+1. Navigate to **`Maintenance → Equipment`** as shown below:
+
+
+
+2. Fill in the following details:
+
+ #### General Information
+
+ - **_Name:_** The name of the equipment (e.g. `Laptop - Dell Latitude 5420`). This is shown everywhere the equipment is referenced.
+ - **_Description:_** A free-text note describing the equipment, its purpose, or any extra information that helps identify it.
+
+
+
+ #### Product Information
+
+ - **_Vendor:_** The supplier or vendor from whom the equipment was purchased.
+ - **_Vendor Reference:_** The reference number or code given by the vendor (e.g. invoice number, vendor SKU).
+ - **_Model:_** Model name or number of the equipment (e.g. `Latitude 5420`).
+ - **_Serial Number:_** Unique serial number printed on the equipment — useful for warranty claims and traceability.
+ - **_Effective Date:_** The date the equipment was put into use. This is the starting point the system uses to calculate the **Mean Time Between Failures (MTBF)**.
+ - **_Cost:_** The purchase or acquisition cost of the equipment.
+ - **_Warranty Expiration Date:_** The date when the vendor warranty ends. Useful for planning replacements or claiming repairs under warranty.
+
+
+
+ #### Settings
+
+ - **_Equipment Category:_** Choose a [Category](../configurations/categories.md) (e.g. *Computers*, *Vehicles*, *Tools*) to group similar equipment together. Selecting a category auto-fills the default technician for that category.
+ - **_Maintenance Team:_** The [Team](../configurations/teams.md) responsible for taking care of this equipment.
+ - **_Company:_** The company that owns this equipment (useful in multi-company setups).
+ - **_Technician:_** The person primarily responsible for maintaining this equipment. Defaults to the technician set on the chosen category.
+ - **_Owner:_** The user who owns or uses this equipment day-to-day (e.g. the employee a laptop is assigned to).
+ - **_Used in Location:_** Free-text field describing where the equipment is physically located (e.g. *Floor 2, Cabin 12*, *Warehouse A*).
+
+
+
+ #### Maintenance
+
+ - **_Expected Mean Time Between Failure:_** The number of days you expect the equipment to run between two breakdowns. Helps you plan preventive maintenance before the next failure is due.
+
+
+
+3. **Action Buttons:**
+
+ - **Create** – Save and open the equipment record.
+ - **Create & Create Another** – Save and immediately open another blank form.
+ - **Cancel** – Discard the entry and return to the list view.
+
+## Equipment View Page
+
+After creation, you are redirected to the **Equipment View Page**, where you can review every detail.
+
+
+
+On this page you can see:
+
+- **General Information** — name and description.
+- **Product Information** — vendor, model, serial number, cost, dates.
+- **Settings** — category, team, technician, owner, location.
+- **Maintenance** — expected MTBF, total maintenance count, currently open maintenance count, assigned date, and scrap date.
+
+You can also:
+
+- **Edit:** Modify any saved field.
+- **Delete / Archive:** Remove or archive the equipment. Archived equipment stays in the database but no longer appears in selection lists.
+
+## List View — Filters, Groups & Actions
+
+The **Equipment** list view shows every equipment record with the following columns: **Equipment Name**, **Owner**, **Serial Number**, **Technician**, **Equipment Category**, and **Company**.
+
+You can:
+
+- **Filter by:** Equipment Category, Maintenance Team, or Technician.
+- **Group by:** Technician, Equipment Category, Owner, or Vendor.
+- **Search by:** Name or Serial Number.
+- **Bulk Actions:** Archive, restore, or permanently delete selected equipment.
+
+
+
+### Summary
+
+The **Equipment** section is the foundation of the Maintenance module. By keeping every asset listed here with the right category, team, and technician, you can:
+
+- Raise [Maintenance Requests](../operations/maintenance-requests.md) for any breakdown or check-up.
+- Track how many times each equipment has been repaired.
+- Plan **preventive maintenance** using the expected MTBF.
+- Get warranty alerts before the warranty expires.
+
+> **Next step:** Once your equipment is added, set up the supporting [Categories](../configurations/categories.md), [Teams](../configurations/teams.md), and [Stages](../configurations/stages.md), and then start logging [Maintenance Requests](../operations/maintenance-requests.md).
diff --git a/src/master/maintenance/operations/calendar.md b/src/master/maintenance/operations/calendar.md
new file mode 100644
index 000000000..a09cf69e2
--- /dev/null
+++ b/src/master/maintenance/operations/calendar.md
@@ -0,0 +1,89 @@
+# Maintenance Calendar
+
+The **Maintenance Calendar** is a visual planner that shows every [Maintenance Request](maintenance-requests.md) on a calendar grid based on its **Scheduled Date**.
+It helps managers and technicians see the whole maintenance plan at a glance — what is happening **today**, **this week**, **this month**, or **this year** — and quickly create new requests by clicking directly on a date.
+
+**Use Case:**
+Use the calendar when you want to plan workload, balance the team's schedule, or check whether a date already has too many overlapping requests before adding a new one.
+
+> **In simple words:** The Calendar is a *wall planner* for maintenance work. Every coloured block is a request, and you can click any day to add a new one.
+
+## Opening the Calendar
+
+Navigate to **`Maintenance → Maintenance Calendar`** as shown below:
+
+
+
+The calendar opens in **Month view** by default and lists every request that has a **Scheduled Date** set.
+
+
+
+## Switching Views
+
+Use the buttons at the top-right of the calendar to switch between views:
+
+- **Year** – See an overview of every month at once.
+- **Month** – Default; one full calendar month.
+- **Week** – A detailed week-by-week timeline.
+- **List** – A clean weekly list of requests.
+
+Use the **prev / next** buttons (top-left) to move forward or backward in time, and click **Today** to jump back to the current date.
+
+
+
+## Reading the Calendar
+
+Each request appears as a coloured block on its scheduled date:
+
+- **Blue** – The request is still in an open stage (e.g. *New Request*, *In Progress*).
+- **Green** – The request is in a **Done** stage (e.g. *Repaired*, *Scrap*).
+
+The block shows the request's **subject**, so you can identify it at a glance.
+
+
+
+## Viewing a Request from the Calendar
+
+Click any coloured block to open a **quick-view popup** containing the most important request details:
+
+- **Date** and **Time** (with duration if set).
+- **Technician** assigned.
+- **Priority**.
+- **Maintenance Type** (Corrective / Preventive).
+- **Stage**.
+
+From the popup you can also click **Edit** to open the full request form for changes.
+
+
+
+## Creating a Request from the Calendar
+
+There are two quick ways to create a new request without leaving the calendar:
+
+1. **Click the "New Request" button** at the top of the calendar — opens a small modal where you type the **Subject** and save.
+
+
+
+2. **Click directly on a date** in the calendar grid — the same modal opens with the **Scheduled Date** already filled in for that day.
+
+
+
+In both cases:
+
+- The new request is created in the **first stage** (e.g. *New Request*).
+- It is automatically of type **Corrective**.
+- The **first available team** is assigned by default.
+- The current user becomes the **Responsible**.
+
+> **Important:** The system needs at least one [Stage](../configurations/stages.md) and one [Team](../configurations/teams.md) configured before you can create a request from the calendar. If either is missing, the system shows an error message asking you to set them up first.
+
+### Summary
+
+The Maintenance Calendar is the **planning view** of your maintenance work. Use it to:
+
+- Spot overloaded days at a glance.
+- Quickly create new requests on the right day.
+- Track progress visually — blue blocks turn green as work is completed.
+- Switch between year, month, week, and list views to match the level of detail you need.
+
+> **Next step:** To dig into the details of any request — assign technicians, add instructions, or attach PDFs — open the [Maintenance Requests](maintenance-requests.md) page.
diff --git a/src/master/maintenance/operations/maintenance-requests.md b/src/master/maintenance/operations/maintenance-requests.md
new file mode 100644
index 000000000..c36245c90
--- /dev/null
+++ b/src/master/maintenance/operations/maintenance-requests.md
@@ -0,0 +1,163 @@
+# Maintenance Requests
+
+A **Maintenance Request** is a work ticket raised whenever a piece of [Equipment](../equipments/equipments.md) needs attention — either because it broke down (**corrective**) or because it is due for a routine check-up (**preventive**).
+Each request tells the system **what** is wrong, **which equipment** is affected, **who** will fix it, **when** the work is planned, and **how long** it should take.
+
+**Use Case:**
+Create a maintenance request every time something needs to be repaired, inspected, or replaced. The request travels through your custom [Stages](../configurations/stages.md) — *New Request → In Progress → Repaired* — until the work is complete.
+
+> **In simple words:** A Maintenance Request is a *job card*. It says *"Fix this laptop"* or *"Service this machine on Monday"*. The system then tracks the job from start to finish.
+
+## Before You Begin — Setup Checklist
+
+A Maintenance Request needs a few supporting records to exist first. Complete them in this order:
+
+| Step | What to set up | Where | Guide |
+| ---- | -------------- | ----- | ----- |
+| 1 | At least one **Stage** for the workflow | `Maintenance → Configurations → Stages` | [Stages](../configurations/stages.md) |
+| 2 | At least one **Maintenance Team** | `Maintenance → Configurations → Teams` | [Teams](../configurations/teams.md) |
+| 3 | One or more **Equipment Categories** *(optional but recommended)* | `Maintenance → Configurations → Categories` | [Categories](../configurations/categories.md) |
+| 4 | The **Equipment** you want to maintain *(optional — a request can be raised without equipment too)* | `Maintenance → Equipment` | [Equipment](../equipments/equipments.md) |
+| 5 | The **Maintenance Request** itself | `Maintenance → Maintenance Requests` | This page |
+
+> **Note:** A stage and a team **must exist** before you can create any request — the system uses the first stage and any team as defaults.
+
+## Steps to Create a New Maintenance Request
+
+1. Navigate to **`Maintenance → Maintenance Requests`** as shown below:
+
+
+
+2. Click **New Request** and fill in the following details:
+
+ #### Stage Progress Bar
+
+ At the top of the form you see a progress bar with every [Stage](../configurations/stages.md) you configured. The first stage is selected by default — you can click any stage to move the request through the workflow.
+
+
+
+ #### Request Section
+
+ - **_Request:_** A short title for the issue (e.g. `Screen not working`, `Quarterly oil change`). This is the main label used everywhere.
+ - **_Equipment:_** Select the [Equipment](../equipments/equipments.md) that needs maintenance. Once chosen, the system auto-fills the **Category**, **Request Date**, **Team**, **Responsible**, and **Company** based on what is set on the equipment.
+ - **_Category:_** The category the equipment belongs to (auto-filled from the equipment and read-only).
+ - **_Request Date:_** The date the issue was reported. Auto-filled from the equipment's effective date or today's date; read-only.
+ - **_Maintenance Type:_** Choose one:
+ - **Corrective** – Reactive work: something is broken and needs to be fixed.
+ - **Preventive** – Proactive work: a scheduled check-up to prevent future failures.
+ - **_Recurrent:_** *(Visible only when Maintenance Type is Preventive.)* Tick this if the same preventive work must repeat at a regular interval (e.g. every 3 months).
+ - **_Repeat Every:_** *(Visible when Recurrent is ticked.)* Define the recurrence rule with three fields:
+ - **Interval** – A number (e.g. `3`).
+ - **Unit** – `Day`, `Week`, `Month`, or `Year`.
+ - **Type** – `Forever` (repeat indefinitely) or `Until` (repeat until a specified date).
+
+
+
+3. Configure the **tabs** below the request section.
+
+### Notes Tab
+
+A free-text **Internal Notes** field where you can describe the problem, list symptoms, or add any context that helps the technician understand the issue.
+
+
+
+### Instructions Tab
+
+Instructions tell the technician exactly **how to perform** the maintenance. Choose one of three formats:
+
+- **_PDF:_** Upload a PDF document (e.g. a service manual page).
+- **_Google Slide:_** Paste a public Google Slides URL.
+- **_Text:_** Type free-text step-by-step instructions directly in the form.
+
+The system shows a **preview** of the selected instructions inside the tab, so the technician can confirm the right material is attached.
+
+
+
+### Settings Section (Right-hand Side)
+
+The Settings panel on the right captures **who** does the work and **when**:
+
+- **_Team:_** The [Maintenance Team](../configurations/teams.md) responsible for the request. Required.
+- **_Responsible:_** The specific user accountable for closing this request. Defaults to the equipment's technician or the current user.
+- **_Scheduled Date:_** The date and time when the work is planned to start. Shown on the [Calendar](calendar.md).
+- **_Duration:_** Expected length of the work in `HH:MM` format (e.g. `01:30` for one and a half hours).
+- **_Priority:_** A number between `0` (low) and `3` (very high). Helps technicians decide what to do first.
+- **_Company:_** The company that owns the request. Required.
+
+
+
+4. **Action Buttons:**
+
+ - **Create** – Save the request and open its view page.
+ - **Create & Create Another** – Save and immediately open a blank form for the next request.
+ - **Cancel** – Discard.
+
+## Maintenance Request View Page
+
+After creation, you are redirected to the **Request View Page** which summarizes everything in a read-only layout.
+
+
+
+From here you can:
+
+- **Move Stages:** Click any stage on the progress bar at the top to advance (or roll back) the request — e.g. from *New Request* → *In Progress* → *Repaired*.
+- **View Instructions:** See the attached PDF, Google Slide, or text instructions.
+- **Edit:** Update any of the saved fields.
+- **Archive / Restore:** Soft-delete the request (it stays in the database). Restore later from the list view.
+- **Delete (Permanent):** Force-delete a request that is no longer needed.
+- **Activities (Chatter):** Log activities, leave comments, and follow the conversation around the request.
+
+> **Recurring Preventive Requests — what happens behind the scenes:** When you move a *preventive recurring* request to a **Done** stage (e.g. *Repaired*), the system automatically creates the **next** request in the series. The new request keeps the same equipment, team, instructions, and recurrence rule, but its **Scheduled Date** is moved forward by the configured interval (e.g. +3 months). This continues forever (or until the **Until** date you configured).
+
+## List View — Filters, Groups & Actions
+
+The **Maintenance Requests** list view shows every request with the following columns: **Subject**, **Created by User**, **Technician**, **Category**, **Stage**, and **Company**.
+
+You can:
+
+- **Group by:** Stage, Assigned to, Category, or Created By.
+- **Search by:** Subject.
+- **Sort by:** Any column.
+- **Bulk Actions:** Archive, restore, or permanently delete selected requests.
+
+
+
+### Summary
+
+A Maintenance Request is the **heart** of the Maintenance module — it ties the [Equipment](../equipments/equipments.md), the [Team](../configurations/teams.md), the technician, and the [Stage](../configurations/stages.md) workflow together.
+Use **Corrective** requests for unexpected breakdowns and **Preventive** requests (with recurrence) for routine check-ups so your equipment keeps running with minimum downtime.
+
+## Maintenance Flow — Start to End
+
+The diagram below shows the typical journey, from setting up the basics to closing a request. Steps **1–4** are one-time setup (do them once, reuse forever). Steps **5–6** are repeated every time you raise a request.
+
+```text
+ ┌──────────────────────── ONE-TIME SETUP ────────────────────────┐
+
+ STEP 1 STEP 2 STEP 3 STEP 4
+┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
+│ Create the │ │ Create the │ │ Create │ │ Create the │
+│ STAGES │ ───▶ │ MAINTENANCE │ ───▶ │ EQUIPMENT │ ───▶ │ EQUIPMENT │
+│ (workflow │ │ TEAMS │ │ CATEGORIES │ │ (the actual │
+│ steps) │ │ (the crews) │ │ *(optional)* │ │ asset) │
+└─────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
+ │
+ ┌──────────────────────── EVERY REQUEST ─────────────────────────┐
+ ▼
+ STEP 5 — Raise a Maintenance Request: ┌──────────────┐
+ │ Create a │
+ Pick equipment ─▶ Choose Corrective or Preventive ─▶ Assign team │ MAINTENANCE │
+ │ REQUEST │
+ └──────────────┘
+ │
+ STEP 6 — Move it through the stages: ▼
+
+ New Request ─▶ In Progress ─▶ Repaired (Done)
+ │
+ └──▶ If preventive + recurring →
+ system auto-creates the NEXT request
+```
+
+> **Quick mental model:** *Equipment + Categories + Teams = the "who and what"*, *Stages = the "how the workflow looks"*, and the *Maintenance Request = the "do it now"*.
+
+> **Next step:** Use the [Maintenance Calendar](calendar.md) to see all scheduled requests in a single month/week/year view.