All documentation

Core concepts

Minutes, money and rates

The three storage decisions that everything else is expressed in.

Time is stored in minutes
Leave, capacity, estimates and working patterns are all minutes. Days are a rendering, resolved against the legal entity's standard working day. Minutes are what let hourly sick-leave accrual in the United States and a half-day in the UAE share one unit.
Money is stored in integer minor units
Tetri, fils, cents. Never a floating-point number, and never converted between currencies — reporting sums per currency and leaves conversion to finance, who own the rate and the date it applies on.
Rates and fractions are basis points
An FTE of 0.6 is 6000 basis points; an overtime multiplier of 1.5× is 15000. Same reason as money: no rounding drift.

Days are entered, minutes are stored

Forms take days or hours and convert against the relevant entity's standard working day. Asking somebody to type 11520 for twenty-four days is how a policy gets entered wrong by a factor of sixty.

Dates are handled in UTC

Every date-only value — a hire date, a leave day, a holiday — is stored and compared in UTC. Mixing in a local-time reading is what makes somebody in UTC+4 book leave a day early.