Skip to main content

Leave Balance Events

Summary​

LeaveBalanceUpdated is produced for explicit balance saves and approval/cancellation usage changes; carry-forward and encashment triggers exist only at Foundation domain-method level.

Audience​

Developers, QA, architects, Payroll owners, and support.

Concept​

The event communicates balance/tenant/user/type/period categories, current available and used categories, and a source-provided reason. Detailed payload reference belongs to the shared contract source and is not repeated here.

Approval and cancellation save request decisions first, then balance mutation and its event in another commit. Downstream observers can therefore see a decision before the balance event. Payroll does not subscribe to LeaveBalanceUpdated; its confirmed Leave consumer uses decision events. No accrual-specific, adjustment-specific, carry-forward-specific, reservation, or balance-deleted integration event exists.

Source References​

  • microservices/src/leave-service/Domain/Leave/LeaveBalance.cs
  • microservices/src/leave-service/Domain/Leave/LeaveDomainEvents.cs
  • microservices/src/contracts/Events/LeaveLifecycleEvents.cs
  • microservices/src/leave-service/Infrastructure/LeaveDbContext.cs
  • microservices/src/leave-service/Application/LeaveWorkflows.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs

See Also​

Keywords​

  • LeaveBalanceUpdated
  • Balance usage
  • Eventual consistency

Revision Information​

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