Skip to main content

Attendance Database Ownership and Boundaries

Summary

Attendance Service owns Attendance and Time Office persistence. Other domains are represented only by identifiers, local projections, integration calls, or snapshots.

Audience

  • Backend developers, architects, QA engineers, and data-governance reviewers

Ownership model

Data categoryOwner / classificationBoundary
Attendance records, punches, reopen requestsAttendance Service / masterAggregate state stored locally
Shifts, weekly offs, policies, assignmentsAttendance Service / Time Office masterCurrent ownership; legacy coexistence remains Transitional
Employee profileEmployee domain master; Attendance-local read modelNo cross-database join is modeled
LeaveExternal domainNo Leave table is modeled in this context
Payroll-approved snapshotAttendance-owned snapshot; Payroll is a consumerSnapshot is not the Payroll master record
Audit, timeline, outboxAttendance Service / operational historyStored with Attendance changes
Legacy persistenceMonolith / TransitionalRead-only source for backfill; no shared-table assumption

Automatic synchronization of the employee projection from integration events is Foundation / Requires confirmation at runtime; the current source explicitly supports an upsert path.

Source References

  • microservices/src/attendance-service/Infrastructure/AttendanceDbContext.cs
  • microservices/src/attendance-service/Domain/Attendance/EmployeeProfile.cs
  • microservices/src/attendance-service/Domain/Attendance/PayrollApprovedSnapshot.cs
  • microservices/src/attendance-service/Backfill/AttendanceMonolithSourceReader.cs

See Also

Keywords

  • Attendance persistence
  • EF Core
  • PostgreSQL

Revision Information

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