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