Maintenance record
Plant service and maintenance records.
Part of Assets in the register catalog.
- Register ID
maintenance_recordUse this name to ask for the register. The API calls it a shelf ID.- Each record is
- An eventSomething that happened at a point in time.
- Status
- AvailableFilled today from connected systems, uploads or public data.
- Data
- OrganisationPrivate to each organisation's own workspace.
- Version
- v1Current version.
Standards
This register holds records these standards and laws ask for. Holding them does not by itself certify compliance.
Connectors
On the roadmap
Systems in the planned connector rollout that can fill this register. Partial means the system holds only some of its fields.
- EROAD
- GeotabPartial
- HammerTechPartial
- MittiPartial
- Procore
- Sitemate
Fields
24 fields: 4 required, 17 optional, 3 defined by each organisation.
Required
Every record carries these fields.
- external_idText
The source form-result's own identifier, as text.
Example:
mr-9301-0018- source_systemText
Which bound system emitted the row;
ASSIGNARtoday.Example:
ASSIGNAR- occurred_atDate and time
When the maintenance record was submitted; the date the retention clock runs from.
Example:
2026-08-05T08:00:00Z- assetText
The item of plant the record is about.
Example:
9301
Optional
Present when the source system records them.
- service_dateDate
The date carried on the form, where it differs from submission time.
Example:
2026-08-05- machine_hoursDecimal number
Operating-hour meter reading at the time of service — the preferred hour source.
- hour_meter_readingDecimal number
The second form family's hour/odometer reading at service.
- service_costDecimal number
The total cost of the service.
Example:
1240.5- labour_hoursDecimal number
Labour hours booked to the service.
Example:
3- projectNumber
The project the plant was working on when serviced.
- workerNumber
The worker who submitted the form; an anchor, not a declared axis.
- asset_hintText
The free-text machine name the form carries when the top-level asset id is empty, used to resolve the
assetanchor.- asset_typeText
The plant type named on the form (e.g. the machine class)
Example:
Excavator- locationText
The place named on the form where the work happened.
- form_idNumber
The source form template identity.
- source_unitsGroup of fields
The source unit each measure arrived in, beside the canonical unit.
- inspection_classText
Pre-operational / routine / major inspection or service.
- interval_basisText
Why the next inspection/service is due — statutory interval, a competent person's examination scheme, or the manufacturer's recommendation.
- next_due_atDate
The date the next inspection/service falls due.
- certifierText
The competent person who performed or certified the service.
- jurisdictionText
The WHS/examination regime whose interval and retention rule apply.
Defined by each organisation
Their contents come from the organisation's own forms or systems, so they differ between organisations.
- unplannedTrue or false
1 when this maintenance event was a breakdown, 0 when it was planned work.
Example:
false- form_titleText
The tenant's own name for the maintenance form the record was captured on; the key the SAS value-map is bound to.
- tenant_payloadGroup of fields
The tenant's own form questions and answers — servicing notes, faults found, parts, cost components, media/signature answers.
Example record
A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.
{ "asset": "9301", "asset_type": "Excavator", "external_id": "mr-9301-0018", "labour_hours": 3, "occurred_at": "2026-08-05T08:00:00Z", "service_cost": 1240.5, "service_date": "2026-08-05", "source_system": "ASSIGNAR", "unplanned": false}Use this contract
The contract is a standard JSON Schema (draft 2020-12) document, so any JSON Schema validator can check a record against it. Keywords starting with x-demiton- add Demiton's own meaning, such as units and requiredness, and validators ignore them.
https://docs.demiton.io/registers/maintenance_record/v1.jsonShow the full JSON Schema
Loading the schema…
Talk to the team
Tell us what you run - your ERP, field, payroll and document systems - and we will show you the registers Demiton would keep current from them, on your data, in a 30-minute call.