ReadonlybusinessReadonlyhiredGame-time instant the actor was hired.
ReadonlyonGame-time instant the current shift began, or null.
ReadonlypositionThe Position key held at that Business.
ReadonlystatusCurrent shift-lifecycle status.
True iff the holder is currently on shift.
The plain-data round-trip form.
A copy with a new status and onShiftSince. Callers pass the
onShiftSince the transition implies (stamped on off→on, cleared on
on→off) — the value object stays dumb about clock semantics.
StaticfromCoerce a loosely-typed (hydrated) blob into an Employment.
StaticofBuild an Employment from an already-typed descriptor.
templatePath of the employing Business.