Skip to main content

Candidate Management

Summary

Candidate records hold normalized identity/contact fields, source, stage, compensation-approval state, applications, stage history, notes, and Document Service references.

Audience

Recruitment operations, hiring stakeholders, product, engineering, QA, support, and architecture teams. Candidate-facing behavior is identified explicitly.

Overview

Candidate records hold normalized identity/contact fields, source, stage, compensation-approval state, applications, stage history, notes, and Document Service references.

Confirmed behavior

  • Creation requires a name and at least one contact channel.
  • Creation begins at Applied with Pending compensation approval and an initial history entry.
  • A candidate can hold application links to multiple openings, although the public flow creates a new candidate per accepted application.
  • Stage changes append history; notes are append-only through the exposed command.
  • Candidate documents are stored outside Recruitment; Recruitment retains references.

Candidate lifecycle

This diagram shows confirmed orchestrated moves. The general stage command can set any defined candidate stage, so it is not a restrictive transition engine.

Ownership and access

Tenant scoping is implemented. The portal presents recruiter and HR-administrator navigation candidates, but the native service defines no active permission policies. Candidate ownership, recruiter assignment, hiring-manager scope, deletion, retention, merge, and subject-access governance Require confirmation.

Requires confirmation

Formal ownership, production policy, authorization parity, and approved operating procedures require confirmation.

Source References

  • microservices/src/recruitment-service/Domain/Recruitment/Candidate.cs
  • microservices/src/recruitment-service/Application/Commands/CandidateCommands.cs
  • UI/salary-ui/apps/client-hrms-portal/src/pages/hr/RecruitmentCandidatesPage.tsx

See Also

Keywords

  • Recruitment
  • Hiring lifecycle
  • Candidates

Revision Information

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