How the due point is worked out
An interval is kept in engine hours or in months. The next due point in hours is the last recorded reading plus the interval length; the next due point in the calendar is the last date plus the months.
The pre-warning is set to twenty running hours or thirty days ahead. Both values can be changed per interval — the preset is a default, not a limit.
Three status values, and one statement beside them
An interval's status has three values: in order, pre-warning, or overdue. There is no fourth value, and the database accepts none.
Where there is no record of a service, the interval cannot be assessed — and that is shown as a statement of its own beside the status, not as in order. Where a number is missing, a dash stands there rather than a zero: „0 hours left“ would assert „due now“, and nobody asserted that.
Which tier opens what
Maintenance is unlocked from the Skipper tier, and so are the service history and the fuel log. The running-cost breakdown per boat and year belongs to the Ultimate tier.
The running hours the calculation uses live in one place. The interface does not recompute them, it reads them — a second calculation would be a second truth, and it would be the first to go stale.
A status says how things stand. Assessability says whether that can be said at all. Those are two questions and they sit in two fields — a status that makes „could not check“ look like „checked and in order“ is no cosmetic flaw on a motor yacht.
An interval can carry both routes at once, hours and months; the two figures are kept apart. Where the engine's hour reading is missing for the hours route, that is reported in its own right rather than answering a different question with the calendar.