Skip to content

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:

  1. Navigate to Equipment → Maintenance in Django Admin.
  2. Click Add Maintenance Record.
  3. Select the equipment item.
  4. Set the maintenance type and scheduled date.
  5. Add description of planned work.
  6. Assign who will perform the work (internal or external provider).
  7. 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:

  1. Open the maintenance record.
  2. Update status to "In Progress" or "Completed".
  3. Fill in completion details:
  4. Completed Date: When work was finished
  5. Work Performed: What was actually done
  6. Parts Replaced: List of replaced components
  7. Cost: Total cost of maintenance
  8. Set Next Maintenance Date if applicable.
  9. 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:

  1. Record the provider name in External Provider field.
  2. Include their invoice number in notes.
  3. Attach invoices/documentation to the record.

Behind the scenes (grounded in code)

  • Maintenance model: apps/equipment/models.pyEquipmentMaintenance
  • Status choices: scheduled, in_progress, completed, cancelled
  • Cost tracking: cost field with MinValueValidator(0.00)
  • Total cost calculation: Equipment.total_maintenance_cost property
  • Background reminders: apps/equipment/tasks.py