Skip to main content

Asset Lifecycle Events

Summary​

The condition and terminal family: AssetLostOrDamaged for loss and damage, and AssetRetired for retirement from service.

Audience​

Engineering, integration, QA, architecture, security, and product reviewers.

Reference Content​

Events​

EventAggregate transition(s)DistinguisherNotification template
AssetLostOrDamagedMarkDamaged, MarkLostStatus and Condition in the payloadAsset.LostOrDamaged
AssetRetiredRetireTerminal statusAsset.Retired

AssetLostOrDamaged​

Both the damaged transition (Condition = Damaged) and the lost transition (Condition = Lost) raise the single AssetLostOrDamagedDomainEvent. The specific outcome is not a separate event type; consumers read Status and Condition from the uniform payload to distinguish loss from damage. The holder captured is the holder at the time of the event.

AssetRetired​

Raised by Asset.Retire when an asset is retired from service. Retirement is a terminal lifecycle state; the payload carries Status = Retired. If the asset is unassigned at retirement, the Notification consumer routes the message to the AssetAdmin role rather than to a holder.

Public-safety note​

Actual asset identifiers, serials, and condition notes are intentionally excluded.

Source References​

  • microservices/src/asset-service/Domain/Asset/Asset.cs
  • microservices/src/asset-service/Domain/Asset/AssetDomainEvents.cs
  • microservices/src/contracts/Events/AssetLifecycleEvents.cs

See Also​

Keywords​

  • AssetLostOrDamaged
  • AssetRetired
  • Terminal lifecycle

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly