Attendance Domain Events
Summary
The Attendance domain defines exactly five concrete lifecycle event records.
Audience
- Domain developers, QA engineers, architects, and event-contract reviewers
Reference Content
| Exact domain event | Trigger and producer action | Business meaning | Conceptual data | Integration mapping / side effect |
|---|---|---|---|---|
AttendancePunchedDomainEvent | Punch aggregate creation | A punch was captured | tenant, employee/date, punch category, state | AttendancePunchedEvent; outbox row on save |
AttendanceSubmittedDomainEvent | Daily record computation saved without approval | Attendance awaits review | daily identity, outcome and calculated time | AttendanceSubmittedEvent; Payroll and Integration consumers |
AttendanceApprovedDomainEvent | Computation saved already approved, explicit approval, or approved punch recalculation | Canonical Attendance is approved | daily identity, approved outcome and time | AttendanceApprovedEvent; Payroll and Integration consumers |
AttendanceRejectedDomainEvent | Daily record rejection, including qualifying punch rejection | Attendance outcome was cleared/rejected | daily identity and reason category | AttendanceRejectedEvent; Integration consumer |
AttendanceReopenedDomainEvent | Approved reopen computation applied | An approved daily outcome was replaced after reopen review | daily identity, recomputed outcome, reopen reference | AttendanceReopenedEvent; no confirmed consumer |
The domain event base creates its own identity and occurrence time, but mapping creates the integration event’s identity. A newly created daily record may raise an event before its database-generated identifier exists, so consumers must use the business identity when necessary.
Creating or rejecting a reopen request does not raise a dedicated domain event. Punch approval changes punch state but raises an approved Attendance event only when a matching daily record is recomputed.
Source References
microservices/src/attendance-service/Domain/Attendance/AttendanceDomainEvents.csmicroservices/src/attendance-service/Domain/Attendance/AttendanceRecord.csmicroservices/src/attendance-service/Domain/Attendance/AttendancePunchRecord.csmicroservices/src/attendance-service/Infrastructure/AttendanceDbContext.cs
Related Articles
See Also
Keywords
- Attendance events
- Integration contracts
- Eventual consistency
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly