Skip to main content

Message Contracts

Summary

This page records the verified Workforce Scheduling event boundary and its adjacent Attendance integration behavior.

Audience

Developers, integration engineers, QA engineers, security engineers, and solution architects.

Reference Content

Every adjacent Attendance contract extends a common envelope containing event identifier, type, occurrence time, optional correlation and causation identifiers, optional cross-service tenant and user identifiers, source service, and schema version. Attendance-specific numeric tenant and worker references remain in each payload.

Contract groupPayload ownershipValidation and compatibility
Common integration envelopeShared contracts assemblyTyped construction; no runtime schema registry found
Attendance punchAttendance contextVersion value set to 1
Attendance submit/approve/reopenAttendance contextIncludes work and overtime totals
Attendance rejectAttendance contextIncludes rejection reason

The outbox processor rebuilds broker metadata from persisted outbox fields and does not include causation, user, or schema-version metadata, although those values remain in serialized JSON. Contract evolution policy, schema registry enforcement, and consumer-version negotiation require confirmation.

Source References

  • microservices/src/contracts/Events/IntegrationEvent.cs
  • microservices/src/contracts/Events/AttendanceLifecycleEvents.cs
  • microservices/src/attendance-service/Infrastructure/AttendanceDbContext.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/shared-kernel/Messaging/RabbitMqEventBus.cs

See Also

Keywords

  • Workforce Scheduling events
  • Attendance integration contracts
  • Transactional outbox

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Next review: 2026-10-20