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