Asset Damage, Loss, and Theft
Damage and loss are separate commands but share a lifecycle event type. Each accepts optional notes, changes both status and condition, retains the current holder reference, and records history, audit, timeline, and AssetLostOrDamaged. Any status other than Retired or Rejected may be marked, including records without a holder. Damaged and Lost block employee clearance when a labor reference remains.
There is no incident entity/reference, reporter field, event date input, severity, approval, recovery action, replacement linkage, financial recovery, payroll deduction, disciplinary process, or automatic document requirement. The aggregate may later be retired, but there is no restore-to-available transition from damage/loss.
Theft is Not implemented: there is no Stolen status, condition, command, or event. Theft must not be treated as a synonym for Lost without confirmed business policy.
Source References
microservices/src/asset-service/Domain/Asset/Asset.csmicroservices/src/asset-service/Application/Commands/AssetCommands.csmicroservices/src/contracts/Events/AssetLifecycleEvents.cs