Skip to main content

Asset Assignment Events

Summary​

The assignment family: AssetAssigned when an asset is issued to a holder, and AssetReturned when an issued asset is returned to the pool.

Audience​

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

Reference Content​

Events​

EventAggregate transitionHolder capturedNotification template
AssetAssignedIssued to a holder (Issued)New assigneeAsset.Assigned
AssetReturnedIssued asset returned (Returned)Previous holderAsset.Returned

AssetAssigned​

Raised by Asset.Assign when an asset is issued. The snapshot captures the new assignee's AssignedToUserId and LaborId, Status = Issued, and the current Condition. When workflow approval is enabled, an approval callback that approves the request drives the asset to Issued, which is what raises this event.

AssetReturned​

Raised by Asset.Return when an issued asset is returned. The snapshot captures the previous holder (recorded before the assignee is cleared) and Status = Returned. Returning an asset that is not issued is prevented by the aggregate and therefore produces no event.

Relationship to assignment history​

These events are lifecycle signals. The durable assignment history rows are a separate persistence concern in the asset schema; the events do not carry the full history. See Assignment history storage.

Public-safety note​

Actual holder identifiers, asset codes, and serials 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​

  • AssetAssigned
  • AssetReturned
  • Assignment lifecycle

Revision Information​

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