Schedule & track maintenance (Staff workflow)
This page is for staff who schedule and record equipment maintenance activities.
Your goals
- Ensure equipment receives timely preventive maintenance.
- Document all maintenance activities for compliance and cost tracking.
- Keep equipment in optimal condition to extend its lifespan.
1) Types of maintenance
The system tracks several maintenance types:
| Type | Description | When to use |
|---|---|---|
| Preventive | Scheduled routine maintenance | Regular intervals (e.g., oil changes, filter replacements) |
| Corrective | Fixing identified issues | When problems are discovered during use or inspection |
| Repair | Major fixes for failures | Equipment breakdown or malfunction |
| Replacement | Part or component replacement | Worn parts need replacing |
| Inspection | Maintenance-related checks | Pre/post maintenance verification |
2) Scheduling maintenance
To schedule maintenance:
- Navigate to Equipment → Maintenance in Django Admin.
- Click Add Maintenance Record.
- Select the equipment item.
- Set the maintenance type and scheduled date.
- Add description of planned work.
- Assign who will perform the work (internal or external provider).
- Save with status "Scheduled".
Using default intervals
Equipment types have default maintenance intervals. The system can remind you when maintenance is due based on: - Time since last maintenance - Equipment type's default interval (in days)
3) Recording completed maintenance
When maintenance is completed:
- Open the maintenance record.
- Update status to "In Progress" or "Completed".
- Fill in completion details:
- Completed Date: When work was finished
- Work Performed: What was actually done
- Parts Replaced: List of replaced components
- Cost: Total cost of maintenance
- Set Next Maintenance Date if applicable.
- Save the record.
4) Maintenance status flow
Scheduled → In Progress → Completed
↘ Cancelled
- Scheduled: Planned but not started
- In Progress: Work is underway
- Completed: Work finished and documented
- Cancelled: Maintenance was cancelled (record reason in notes)
5) Tracking costs
The system calculates:
- Per-maintenance cost: Recorded on each maintenance record
- Total equipment cost: Sum of all maintenance costs for an item
- Cost by type: Filter to see preventive vs. corrective costs
Use this data to: - Justify equipment replacement decisions - Identify high-maintenance equipment - Budget for future maintenance
6) External providers
When using external service providers:
- Record the provider name in External Provider field.
- Include their invoice number in notes.
- Attach invoices/documentation to the record.
Behind the scenes (grounded in code)
- Maintenance model:
apps/equipment/models.py→EquipmentMaintenance - Status choices:
scheduled,in_progress,completed,cancelled - Cost tracking:
costfield withMinValueValidator(0.00) - Total cost calculation:
Equipment.total_maintenance_costproperty - Background reminders:
apps/equipment/tasks.py