Quick Reference

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


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

Group Models
🚜 Fleet & Assets Asset · AssetClass · AssetComponent · AssetAssignment · TyrePosition · Tyre
📈 Utilisation UsageEntry · MeterReading · AvailabilityEvent · FuelTransaction
🔍 Inspections & Defects Inspection · InspectionResponse · Defect
🛠️ Workshop & Work Orders WorkRequest · WorkOrder · WorkOrderTask · LabourEntry · AssetMaintenancePlan
📦 Stores & Parts InventoryItem · StoreLocation · InventoryBalance · PartIssue
🧾 Purchasing Supplier · PurchaseRequisition · PurchaseRequisitionLine · Quote · PurchaseOrder · PurchaseOrderLine · GoodsReceipt · GoodsReceiptLine · SupplierInvoice
💰 Cost & Lifecycle CostTransaction · Budget · HireRate · Risk · RenewalProgram · RenewalCandidate · Disposal
🎓 People & Compliance OperatorLicence · OperatorCompetency · TrainingRecord
Performance & Governance ServiceLevel · PerformanceResult · ImprovementAction · Audit · AuditFinding · Approval
🏢 Templates & Administration Organisation · BusinessUnit · Depot · Person · Evidence · InspectionTemplate · InspectionItemTemplate · MaintenanceTemplate · MaintenanceTemplateTask · IntegrationMessage

The Demo Data

One coherent narrative dataset (apps/uralla/scripts/seed_data.py, 57 models, ~161 rows) built around Demonstration Shire Council (DEMO-COUNCIL), running its plant and vehicle fleet from three depots. It contains no real council data.

The headline scenario — a grader hydraulic leak, end to end

Code What it is
HP-001 (P001) The hero asset — Motor Grader, HIGH criticality, FAIR condition, 8,448 operating hours
Pre-start inspection Daily inspection on HP-001 — "Fluid leaks" item fails
DEF-HYD-01 Defect — hydraulic weep at front axle; MAJOR; restricts the grader with an operating restriction
WR-00042 Work request raised from the failed pre-start; URGENT; approved by the supervisor
WO-00071 Corrective work order — replace hose, pressure test; COMPLETED, quality-checked and closed
WO-00072 Preventive work order — 250-hour service from the maintenance plan; PLANNED
PART-HOSE-01 Hydraulic hose part issued from STORE-A against WO-00071
REQ-00088 Requisition to replenish stock — $12,400, over the $10k three-quote threshold
QT-5501/2/3 Three quotes compared; QT-5501 (Regional Plant Spares) selected
PO-00104GRN-00061INV-77321 Purchase order → goods receipt → supplier invoice, matched within 2% tolerance
RISK-001 Risk — grader hydraulic system failure; residual score 6 after controls
DISP-0007 Disposal — the unserviceable push mower SP-001, sold at public auction

The chain closes: the work order completes → the defect moves to REPAIRED → the grader returns to AVAILABLE; cost transactions (labour, part, fuel, external service, overhead) accumulate against HP-001; and the ten-year renewal program scores the grader (retain to FY2028/29) and the mower (priority replacement).

Assets and parties

Code Meaning
DEMO-COUNCIL The organisation — Demonstration Shire Council
WORKS / WORKSHOP / FINANCE Business units — Works and Civil / Fleet and Workshop / Finance and Procurement
MAIN / WATER / WASTE Depots — Main Works Depot / Water Operations / Waste Facility
HP-001WE-001 Eight assets — grader, excavator, tipper, service truck, utility, mower, trailer, hoist
HEAVY_PLANT / HEAVY_TRUCK / SMALL_PLANT Asset classes (nine in total) that set meter type, life and criticality
SUP-PARTS / SUP-FUEL / SUP-TYRE / SUP-DLR Suppliers — parts / fuel / tyres / plant dealer
EMP-001EMP-010 People — fleet manager, workshop supervisor, planner, mechanic, storeperson, operator, procurement, finance, auditor, works supervisor

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 {}, inlined on each field as [enum: …]). The most load-bearing ones:

  • Asset.statusPROPOSED · ORDERED · RECEIVED · COMMISSIONED · ACTIVE · RESTRICTED · UNDER_REPAIR · UNAVAILABLE · STORED · SURPLUS · DECOMMISSIONED · DISPOSED
  • Asset.availability_statusAVAILABLE · ALLOCATED · OPERATING · STANDBY · RESTRICTED · BREAKDOWN · PLANNED_MAINTENANCE · UNPLANNED_MAINTENANCE
  • Defect.severityOBSERVATION · MINOR · MAJOR · CRITICAL
  • Defect.statusOPEN · MONITORED · DEFERRED · WORK_ORDERED · REPAIRED · ACCEPTED · CLOSED
  • WorkRequest.priorityROUTINE · PLANNED · URGENT · EMERGENCY
  • WorkOrder.statusDRAFT · APPROVED · PLANNED · WAITING_PARTS · SCHEDULED · IN_PROGRESS · QUALITY_CHECK · COMPLETED · CANCELLED · CLOSED
  • PurchaseRequisition.statusDRAFT · SUBMITTED · RETURNED · APPROVED · REJECTED · CONVERTED · CANCELLED
  • PurchaseOrder.statusDRAFT · ISSUED · PARTIALLY_RECEIVED · RECEIVED · CLOSED · CANCELLED
  • SupplierInvoice.statusRECEIVED · MATCHED · EXCEPTION · APPROVED · PAID · DISPUTED
  • RenewalCandidate.statusCANDIDATE · ASSESSED · PROPOSED · BUDGETED · APPROVED · PROCUREMENT · DELIVERED · DEFERRED · CANCELLED
  • Disposal.status / methodIDENTIFIED … SOLD … COMPLETED · WITHDRAWN / TRADE_IN · PUBLIC_TENDER · AUCTION · QUOTATION · TRANSFER · SCRAP · WRITE_OFF
  • ConditionGrade (asset / component / inspection) — EXCELLENT · GOOD · FAIR · POOR · VERY_POOR · UNSERVICEABLE

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


Rules of Thumb

  • Everything hangs off the Asset. Cost, utilisation, availability, condition and risk all accumulate against one Asset record — that is what makes the renewal decision evidence-based rather than age-only.
  • A serious defect restricts the asset. A MAJOR/CRITICAL Defect sets the asset availability_status = RESTRICTED and carries an operating_restriction until the repairing work order completes (the demo applies this by hand).
  • Work finishing ≠ defect closed. The WorkOrder is quality-checked and closed, then the linked Defect moves to REPAIRED and the asset returns to AVAILABLE.
  • Purchases carry controls. A requisition at or above the $10,000 three-quote threshold should have three Quote rows with one selected; a SupplierInvoice is MATCHED only within the 2% tolerance, else EXCEPTION.
  • 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) — "Defects Reported" and "Defects Closed" are deliberately not the same list.
  • After any schema change run python -m codegen.cli all uralla, re-run the seed against a fresh DB, and rebuild the diagram viewer with python apps/uralla/scripts/build_diagram_viewer.py.