Inside the service
Most maintenance systems assume a default interval for every machine and paint green schedules that reflect nothing, so managers trust a due date nobody ever entered. This module is built on one strict rule: no default interval, ever. The interval is entered by a person, per task, per unit — and a unit whose data is incomplete honestly reads as needing setup rather than being scheduled on fiction. From there the engine tracks four tasks per machine through multiple triggers where the earliest wins, and every approved report re-anchors the schedule.
01
Four tasks, ruled by type
Engine oil with its filter, the air filter, the fuel filter and the hydraulic oil — each with its own interval and last-service anchor, per individual unit. A type map prevents fabricated tasks: a generator has no hydraulics so none is scheduled for it, an electric lift has no diesel engine, and attachments have no meter at all. A task that does not physically apply to the machine's type never appears, because scheduling a fictional task is the same green lie as inventing a reading.
02
Multiple triggers, earliest wins
Engine oil is watched by run-hours, actual working days and calendar months together, and whichever trigger falls due first raises the alert. Even long parking has its rule: a unit idle for ninety days forces an oil change on its return to work, because oil degrades standing still as surely as it does running. Readings flow in automatically from the daily inspection and from diesel fills into a single meter ledger guarded by monotonicity — no reading may go backward.
03
A jump guard, honest numbers
A reading that leaps past the last one by more than two thousand hours or twenty thousand kilometers is almost certainly a typing error that would poison the whole schedule, so the system demands explicit confirmation and flags the report for the reviewer before accepting it. Backward readings are rejected outright. Onboarding figures from the import file or the registration form build a schedule openly marked provisional, and the first approved maintenance report replaces it as the real authority.
04
An honest exit for broken meters
A machine whose meter breaks neither drops out of tracking nor gets scheduled on a dead reading: approving a report that declares a broken meter stamps the unit and switches its evaluation to time alone, and automatically opens a fault report for repairing the meter itself, without duplicating one already open. Replacing the meter is an audited operation that delta-shifts every schedule by the exact difference between the two readings, so the remaining distance to the next service is identical before and after the swap.
05
The approved report drives scheduling
The service itself is documented by a field report with the reading and photos, and its approval is what moves the schedule: the last-service anchor advances to the serviced reading, the entered interval is read, and the next due point is computed from both. Tasks the technician actually performed are captured at approval even if they were never scheduled before, so the plan grows from reality rather than assumption — and what is coming due shows on the unit's card and in reports before it falls.