Skip to main content

Attendance Integration Events

Summary

Five shared contract records derive from IntegrationEvent; Attendance mapping publishes all five with schema version 1.

Audience

  • Producers, consumers, integration engineers, QA engineers, and architects

Reference Content

Exact contractPurpose / triggerConfirmed consumerContext and maturity
AttendancePunchedEventPunch aggregate createdNonev1; Foundation downstream adoption
AttendanceSubmittedEventUnapproved daily computation savedPayroll, Integration Servicev1; Transitional
AttendanceApprovedEventApproved computation or recalculation savedPayroll, Integration Servicev1; Transitional
AttendanceRejectedEventDaily outcome rejected/clearedIntegration Servicev1; Transitional
AttendanceReopenedEventReopen approval applies recomputed resultNonev1; Foundation downstream adoption

All contracts carry the shared event envelope plus contract-specific Attendance facts. Numeric tenant context is carried by the Attendance contract; the cross-service GUID tenant/user fields are unset in current producer mapping. Correlation is derived from the daily business identity. Causation is unset.

Integration Service is a confirmed subscriber to Submitted, Approved, and Rejected and may route them to configured targets. That routed configuration does not make Notification Service a direct consumer: its current resolver does not subscribe to Attendance contracts.

Compatibility routes and direct routes converge on the same application/domain producer behavior; no separate compatibility event contract exists.

Source References

  • microservices/src/contracts/Events/IntegrationEvent.cs
  • microservices/src/contracts/Events/AttendanceLifecycleEvents.cs
  • microservices/src/attendance-service/Infrastructure/AttendanceDbContext.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/integration-service/Domain/IntegrationEntities.cs

See Also

Keywords

  • Attendance events
  • Integration contracts
  • Eventual consistency

Revision Information

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