Semantius Logo

Employee Referrals

1. Overview

Employee-driven candidate sourcing with referral-bonus tracking (candidate_referrals). Embedded-masters candidates. Cross-domain handoffs to PAYROLL (bonus payout) and EMP-EXP (engagement signal).

2. Entity summary

NameDescription
ReferralsEmployee-submitted candidate suggestion linked to a requisition. Tracks the referring employee, candidate, status, and any payable bonus.
CandidatesPerson known to the recruiting org, with or without an active application. Carries contact details, resume, tags, GDPR consent, and source. Distinct from Employee until hired.
flowchart TD
  classDef master fill:#d4f4dd,stroke:#27ae60,color:#0b3d20;
  classDef embedded_master fill:#fff4cc,stroke:#c79100,color:#5b4500;
  classDef platform_builtin fill:#e0e0e0,stroke:#424242,color:#1a1a1a;
  candidate_referrals["Referrals"]
  candidates["Candidates"]
  users["Users"]
  candidate_referrals -->|"introduces"| candidates
  candidate_referrals -->|"has referring employee"| users
  class candidate_referrals master;
  class candidates embedded_master;
  class users platform_builtin;

3. Entities catalog

#data_objectrolemastered innecessitypattern flagsnotes
1candidate_referrals (Referrals)master-required--
2candidates (Candidates)embedded_masterats-candidate-crmrequiredpersonal_content-

4. Aliases and industry synonyms

(no industry-scoped aliases or non-synonym alias types loaded for this scope; generic synonyms are omitted as common knowledge.)

5. Relationships

5.1 Intra-scope edges

fromverbtocardinalitykindnecessityowner_sidenotes
candidate_referralsintroducescandidatesone_to_manyreferencerequiredtarget-

5.2 Built-in edges (users and other platform built-ins)

fromverbtocardinalitynecessityowner_sidenotes
candidate_referralshas referring employeeusersmany_to_manyrequiredsource-

5.3 Cross-scope edges

fromverbtocardinalitynecessitynotes
skill_profilesfeedscandidatesone_to_manyoptional-
candidatessubmitsjob_applicationsone_to_manyrequired-
recruitment_sourcesattributescandidatesone_to_manyrequired-
recruitment_agenciessourcescandidatesone_to_manyrequired-
recruitment_eventsattractscandidatesone_to_manyrequired-
talent_poolsgroupscandidatesmany_to_manyrequired-
candidatesbecomesemployeesone_to_onerequired-
candidatesbecomes pre-employeepre_employeesone_to_onerequired-

6. Cross-domain context

6.1 Master consumers (other modules / domains that embed this scope’s masters)

data_objectother module / domainrolenecessitynotes
candidate_referralsPAYROLL-EARNINGS-DEDUCTIONS (Earnings, Deductions and Garnishments) - PAYROLLconsumerrequired-

6.2 Outbound handoffs (events this scope publishes)

source moduletarget domaintarget moduletrigger_eventpayloadintegrationfrictiondescription
ATS-REFERRALSPAYROLLPAYROLL-EARNINGS-DEDUCTIONScandidate_referral.bonus_earnedcandidate_referralsapi_callmediumReferral-bonus eligibility milestone reached; PAYROLL pays bonus via off-cycle or next regular run.
ATS-REFERRALSATSATS-CANDIDATE-CRMcandidate_referral.submittedcandidateslifecycle_progressionlow-

6.3 Inbound handoffs (events this scope reacts to)

(no inbound handoffs whose payload is in this scope.)

6.4 Master providers (modules / domains that own masters this scope embeds)

data_objectrole herenecessitycanonical owner(s)slice notes
candidatesembedded_masterrequiredATS-CANDIDATE-CRM (ATS)-

7. Lifecycle states (per touched entity)

candidate_referrals (Referral)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1submitted---Employee submitted a referral candidate against a requisition.
2under_review----Recruiter is evaluating the referred candidate.
3converted---Referral became a job application in the ATS pipeline.
4bonus_payable--ats-referrals:pay_referral_bonusHire confirmed; gated step to approve the referral bonus payout.
5bonus_paid---Referral bonus has been issued to the referring employee.
6rejected---Referral not pursued.

candidates (Candidate)

This scope holds candidates as embedded_master; the canonical state machine is owned by ATS-CANDIDATE-CRM.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1prospect---Person known to the recruiting org with no active application.
2active----Candidate has at least one open application or is actively engaged.
3hired-ats-candidate-crm:hire_candidateCandidate accepted an offer and converted to employee.
4do_not_hire-ats-candidate-crm:flag_do_not_hireCandidate flagged as ineligible for future consideration; gated decision.
5archived---Candidate kept in the database but not active in any pipeline.

8. Permissions and business rules (derived)

8.1 Permissions

permissiontierdescriptionincluded in :admin?
ats-referrals:readbaseline-readRead access to every entity in the module
ats-referrals:managebaseline-manageEdit operational records
ats-referrals:adminbaseline-adminEdit reference data and inherit every workflow gate below-
ats-referrals:pay_referral_bonusworkflow-gate (lifecycle)Transition candidate_referrals into state bonus_payable

8.2 Business rules

(no flag-derived business rules.)