Quick Reference

Menu map, the demo data and what its codes mean, and the status vocabularies


The sidebar has eight groups (mirrored on the dashboard). Every one of the 50 models appears in exactly one group.

Group Models
⚠️ Requests & Defects Defect · ServiceRequest · PriorityAssessment · OperationalImpact · AlarmEventReference · WeatherEvent
🛠️ Work Management WorkOrder · WorkTask · WorkAssignment · WorkDependency · WorkStatusHistory · MaintenanceTemplate · MaintenanceTemplateTask
🔧 Field Execution Inspection · InspectionResult · Measurement · TechnicianNote · Evidence · TestResult · ReturnToService · Verification · Closeout
🦺 Safety & Access IsolationReference · AccessRequirement · SafetyDocument · Competency · PersonCompetency
📦 Parts & Warranty Part · StockLocation · PartStock · PartRequirement · PartUsage · RemovedComponent · WarrantyClaim
🌿 Vegetation & Site VegetationZone · VegetationInspection · SiteZone · AssetLocation
🔆 Assets & Portfolio Portfolio · SolarFarm · AssetType · Asset · AssetRelationship · SourceSystem
🏢 Administration Organisation · Person · Document · DefectCategory · InspectionTemplate · InspectionTemplateItem

The Demo Data

One coherent narrative dataset (apps/solarfarm/scripts/seed_data.py, 50 models, ~119 rows) built around Sun Plains Solar Farm (SPF01), a 120 MW DC / 100 MW AC single-axis-tracker plant near Emerald, Queensland, owned by Sun Plains Renewables and maintained under an O&M contract by FieldGrid Maintenance Services.

The headline scenario — an inverter fault, end to end

Code What it is
SCADA-2026-0724-1142 SCADA alarm — DC input imbalance, INV-07A running ~18% below peers
SR-000142 Service request raised from the alarm by the control room
DEF-000381 Defect — reduced inverter output; warranty_candidate; DERATED_CAPACITY impact of 450 kW
DEF-000382 Related defect — loose cable support at combiner CB-07A-03; a safety_risk; child of DEF-000381
DEF-000383 Vegetation defect — grass over intervention height in VZ07; a fire_risk
WO-000529 Work order — diagnose and restore INV-07A; P2_URGENT; outage + DC isolation required
WO-000530 Preventive vegetation work order — slash zone VZ07
PTW-2026-0450 Isolation on INV-07A — DC, proved dead 07:10, restored 13:20
CLAIM-000078 Warranty claim for the failed board DIM440-2022-0417, SUBMITTED for $1,850
EV-000501/502 Evidence — post-repair board photo and thermal scan
INSP-000210 Return-to-service inspection, overall PASS

The chain closes: ReturnToService (operating state NORMAL, monitor 48 h) → Verification (PERFORMANCE_MONITORING, ACCEPTED) → Closeout (450 kW restored, first_time_fix = true), and the defect ends CLOSED.

Assets and parties

Code Meaning
PF-QLD Portfolio — Queensland Solar Portfolio
SPF01 Solar farm — Sun Plains Solar Farm
AB07 / IS07 / VZ07 Site zones — Array Block 7 / Inverter Station 7 / Vegetation Zone 7
INV-07A Central inverter (SIS-2500, 2.5 MW), currently DEGRADED
CB-07A-03 Combiner feeding INV-07A (a child asset)
TRK-07-044 Single-axis tracker
SUNOWNER / FIELDOM / INVCO Asset owner / O&M provider / inverter manufacturer
GREENCUT / SPARESCO Vegetation contractor / spares supplier
SIS-DIM-440 Part — DC input monitoring board (the failed component)

Re-running the seed is safe — it guards on existing Organisation rows and prints Seed skipped rather than duplicating.


Status Vocabularies

The controlled values are stored UPPERCASE (from the pack's enums.yaml, inlined on each field as [enum: …]). The most load-bearing ones:

  • Defect.defect_statusREPORTED · TRIAGED · PLANNED · ASSIGNED · IN_PROGRESS · MONITORING · READY_FOR_VERIFICATION · CLOSED · DEFERRED · CANCELLED
  • WorkOrder.work_statusDRAFT · PLANNED · AWAITING_ACCESS · AWAITING_ISOLATION · AWAITING_PARTS · ASSIGNED · IN_PROGRESS · SUSPENDED · READY_FOR_TEST · RETURNED_TO_SERVICE · READY_FOR_VERIFICATION · CLOSED · CANCELLED
  • Priority (assessment + work order) — P1_CRITICAL · P2_URGENT · P3_PLANNED · P4_MONITOR · P5_OPPORTUNITY
  • IsolationReference.isolation_statusNOT_REQUIRED · REQUESTED · APPROVED · APPLIED · PROVED_DEAD · RELEASED_FOR_WORK · SUSPENDED · RESTORED · CANCELLED
  • Verification.resultACCEPTED · REJECTED · FURTHER_WORK · MONITOR
  • Closeout.closeout_statusDRAFT · READY · ACCEPTED · REJECTED
  • WarrantyClaim.claim_statusPOTENTIAL · PREPARING · SUBMITTED · INFORMATION_REQUESTED · APPROVED · REJECTED · CREDITED · REPLACED · CLOSED
  • Asset.operational_statusOPERATING · DEGRADED · UNAVAILABLE · ISOLATED · STANDBY · RETIRED
  • VegetationInspection.resultCOMPLIANT · ATTENTION_REQUIRED · NON_COMPLIANT

The complete per-field enum lists are in apps/solarfarm/schema/field_config.yaml (auto-generated by codegen — do not hand-edit).


Rules of Thumb

  • Detection has three doors. A defect can originate from an AlarmEventReference, an Inspection (via an exception InspectionResult) or an operator ServiceRequest. All three converge on the same Defect.
  • Closure is three rows, not one. Never read ReturnToService as "done". The plant being safe (ReturnToService), the fix being independently confirmed (Verification) and the defect being closed (Closeout) are distinct — that separation is the app's audit value.
  • Prove dead before you work. An HV/DC/LV IsolationReference should reach PROVED_DEAD and RELEASED_FOR_WORK before the work order goes IN_PROGRESS; the isolation WorkDependency should be SATISFIED.
  • Warranty follows the part. If a Defect is warranty_candidate, expect a RemovedComponent with disposition WARRANTY_RETURN and a WarrantyClaim against the manufacturer organisation.
  • Roles are separate tabs. On a Person, Asset, Organisation or WorkOrder page, each FK role is its own drill-down tab (see tab_config.yaml) — "Isolations Requested" and "Isolations Authorised" are deliberately not the same list.
  • After any schema change run python -m codegen.cli all solarfarm, re-run the seed against a fresh DB, and rebuild the diagram viewer with python apps/solarfarm/scripts/build_diagram_viewer.py.