Executive Search V2.0 Data Model

(2023.07)

Domain Model

The domain model diagram illustrates the relationships between objects in the Executive Search V2.0 system. View the interactive diagram at: https://app.diagrams.net/#G12cFmDvtnTdD_-fQEbrlgJ4pp10qyRkBj

Objects Descriptions

The following table provides an overview of the key objects in the Executive Search V2.0 data model:

Object Description
Account Salesforce CompanyClosed A Company is the organization where the contact works. This can also be called the Client. entity
Contact Salesforce Person entity
Employment History Career Positions on a Contact in Salesforce
Job Custom BH4SF object used to record Jobs for a Company
Application V2Closed A Bullhorn Recruitment Cloud custom object introduced when new data model ATSv2 was added to the core product ApplicationClosed First stage of Job placement flow (Application> Submittal>Interview>Offer> Placement) V2 record is created every time a CandidateClosed A person looking for a job. A candidate can also be referred to as a Job Seeker, Applicant, or Provider. is applied to a Job in ATS (any stage) for the first time.
Off Limit Policy Policy created for a Contact, Account or System wide policies like ATS Stage or Job RoleClosed A Job Role is a defined set of responsibilities, permissions, and expected tasks assigned to a user or group within a system or organization. Job Roles determine what actions a user can take, what information they can access, and how they interact with workflows or features..
Off Limit Info It is an Off Limit summary record on Contact or Account. Every Contact will have only one Off Limit Info record. This is a backend object and all field values are calculated internally using the recalculation engine.
Off Limit Line Item Off Limit Line Item specifies a badge. It is a junction object for Off Limit Policy and Off Limit Info record.
Off Limit Policy Child Account Junction object between an Account Policy and an Account to store the Child AccountsClosed A business entity/company that inherited the Parent Account's policy.
Off Limit Policy Extension Custom Object to determine badge behavior on Job Status and/or Job Closed Reason update. Different behavior can be configured based on ATS Stages.
Checkpoint Configurator Custom Metadata that allows admins to override the Off Limits Line Item's behavior type and set a specific behavior for a chosen action.
Milestone Custom object to track time or deliverable in the lifecycle of the project.
Ranking Group Icon Setting Custom Metadata to define icons for Ranking Groups to display on Job ATS
Team Members An association between an internal user, a job, and a particular position.
Team Member Credits Custom object to track how different Team Members contributed to the delivery of a Job.
Team Role The "role" a team member plays on a job
Job Role Custom object to identify ContactsClosed A contact (or client contact) is the person who the recruiter is working with at a Company. In Talent Rover a Contact can be either a Client Contact or a Candidate Contact. Both types of Contacts are stored in the same object (Contact). as Client ContactsClosed A contact (or client contact) is the person who the recruiter is working with at a Company. In Talent Rover a Contact can be either a Client Contact or a Candidate Contact. Both types of Contacts are stored in the same object (Contact). or Jury Member on a particular Job.

Field Descriptions

The following sections detail the fields for each object in the Executive Search V2.0 data model.

Off Limit Policy (TR1__Off_Limit_Policy__c)

Contact Policy Fields

Field Name APIClosed API, or Application Programming Interface, is used by customers to create custom career portals or to take advantage of Data Mirror/DataMart. Bullhorn prefers to use REST API. Name Field Type Description
Contact TR1__Contact__c Lookup(Contact) Contact for which the policy is created
Reason Code Reason_Code__c Picklist 'Reason Code' can be used to specify the reason for the Off Limits instead of the TR1__Reason__c text field. TR1__Reason__c is required at database level. If 'Reason Code' option is preferred, this field must be mandatory to ensure TR1__Reason__c always get populated

Account Policy Fields

Field Name API Name Field Type Description
Account TR1__Account__c Lookup(Account) Account for which the policy is created
Excluded Contact Ids TR1__Exclude_Contact_Ids__c Text(255) A comma separated list of contact Ids that should be excluded from the Account policy

ATS Stage Policy Fields

Field Name API Name Field Type Description
ATS Stage TR1__ATS_Stage__c Text(255) ATS Stage where this policy applies. Only one stage can be selected.
Behavior on Stage change TR1__Behavior_on_Stage_change__c Picklist For ATS Stage Policies only. The value chosen in the picklist determines what happens to the Line Item Duration when a Candidate is moved to a different stage. These are the OOTB values:

Do Nothing: off limits duration runs its course
Disable: Duration is stopped, badge disabled (end date is populated with date of stage change)
Update: an extension (a set amount of days) is added to the duration - see 'Additional Days on Stage Update)
Additional Days on Stage Update TR1__Additional_Days_on_Stage_Update__c Number(18, 0) Days added to Off Limit Duration after triggering the update behavior on Stage Change. The 'clock' starts on the stage change date, so effectively the value in this field is the 'new' Duration.

Job Role Policy Fields

Field Name API Name Field Type Description
Job Role TR1__Job_Role__c Text(255) Job Role where this policy applies. Only one Job Role can be selected
Behavior on Role change TR1__Behavior_on_Role_change__c Picklist For Job Roles Policies only. The value chosen in the picklist determines what happens to the Line Item Duration when a Contact is assigned a new Job Role/ removed from Job Role. These are the OOTB values:

Do Nothing: off limits duration runs its course
Disable: Duration is stopped, badge disabled (end date is populated with date of Job Role update)
Update: an extension (a set amount of days) is added to the duration - see 'Additional Days on Role Update)
Additional Days on Role Update TR1__Additional_Days_on_Role_Update__c Number(18, 0) Days added to Off Limit Duration after triggering the update behavior on Job Role Change. The 'clock' starts on the Job Role change date, so effectively the value in this field is the 'new' Duration.

ATS Stage and Job Role Policy

Field Name API Name Field Type Description
Job Record Type TR1__Job_Record_Type__c Text(255) List of comma separated Job Record Type Ids where this policy applies
Job Status TR1__Job_Status__c Text(255) List of comma separated Job status where the policy applies.
Duration TR1__Duration__c Number(18, 0) This field determines the period of time that CandidatesClosed A person looking for a job. A candidate can also be referred to as a Job Seeker, Applicant, or Provider. (Contacts) remain Off Limits when a policy applies to them

Account and Contact Policy

Field Name API Name Field Type Description
Start Date TR1__Start_Date__c Date The date when the policy will start taking effect
End Date TR1__End_Date__c Date The date when this policy will end

General Fields

Field Name API Name Field Type Description
Active TR1__Active__c Checkbox Flag that shows if this policy is active or not
Classification TR1__Classification__c Picklist Used in the backend to classify a policy so that the correct algorithm can be called to process the policy. Values: Contact_Policy, Account_Policy, Job_Role_Policy, ATS_Stage_Policy
Description TR1__Description__c Text(255) General description of the policy
Disable Reason TR1__Disable_Reason__c Text(255) Reason why a policy was disabled
Legal Reason TR1__Legal_Reason__c Text(255) The legal description for the policy
Reason TR1__Reason__c Text(255) The name / short description of this policy
Type TR1__Type__c Picklist Values: Block, Warning

Off Limit Info (TR1__Off_Limit_Info__c)

Note: this is a backend object and all field values are calculated internally using the recalculation engine.
Field Name API Name Field Type Description
Account TR1__Account__c Lookup(Account) Account lookup required only for Contact Off Limit Info record
Behavior TR1__Behavior__c Picklist A boolean field that specifies if the associated record is off limit or not
Calculation Error Message TR1__Calculation_Error_Message__c Text(255) Store error related to the Off Limit Info record calculation.
Contact TR1__Contact__c Lookup(Contact) Contact lookup required only for Contact Off Limit Info record
Disabled Policy Ids TR1__Disabled_Policy_Ids__c Text(32768) DEPRECATED
Exempted Job Ids TR1__Exempted_Job_Ids__c Text(255) DEPRECATED
Got Dirty Date and Time TR1__Got_Dirty_Datetime__c Date/Time The moment the info record got dirty and needs recalculation
Locking Policy Ids TR1__Locking_Off_Limit_Ids__c Text(255) DEPRECATED
Object TR1__Object__c Picklist Identify which type of object the info records is related to. Values: Account, Contact
Reason TR1__Off_Limit_Reason__c Text(255) It shows the most restrictive policy behavior. In case of more than 1 policy, show the latest modified policy reason.
Record Id TR1__Record_Id__c Text(18) The Id of the record this off limit info belongs to.
State Processing Last Performed TR1__State_Processing_Last_Performed__c Date/Time This should be set to "now" when State processing is performed.
State Processing Last Required TR1__State_Processing_Last_Required__c Date/Time This should be set to "now" when State processing is required
State Processing Required TR1__State_Processing_Required__c Formula (Checkbox) Formula field that calculates if the info record needs processing or not

Off Limit Line Item (TR1__Off_Limit_Line_Item__c)

Field Name API Name Field Type Description
Disabled Disabled__c Boolean A boolean field that specifies if the off limit is disabled or not
Disabled Reason Disabled_Reason__c Text(255) Specify the reason why this off limit was disabled
Duration End Date Duration_End_Date__c Date The date on which the Off Limit has expired, based on the Off Limit Policy duration
Duration Start Date Duration_Start_Date__c Date The date on which the Off Limit is applied, based on the Off Limit Policy duration
Exempt JobId Exempt_JobId__c Text(18) Specify the Job Id exempt from this Off Limit
Off Limit Info Off_Limit_Info__c Lookup(Off Limit Info) The Off Limit Info record related to the Off Limit Line Item
Off Limit Policy Off_Limit_Policy__c Lookup(Off Limit Policy) The policy related to the Off Limit Line Item

Off Limit Policy Child Account (TR1__Off_Limit_Policy_Child_Account__c)

Field Name API Name Field Type Description
Account TR1__Account__c Lookup(Account) Reference to Child account
Off Limit Policy TR1__Off_Limit_Policy__c Lookup(TR1__Off_Limit_Policy__c) Policy inherited by the child account

Off Limit Policy Extension (TR1__Off_Limit_Policy_Extension__c)

Field Name API Name Field Type Description
Job Status TR1__Job_Status_Picklist__c Picklist (required) Possible values are picklist values from Job Status field of Job: Open, Hold, Closed
Job Closed Reason TR1__Job_Closed_Reason_Picklist__c Picklist (optional) Possible values are picklist values from Job Closed Reason field of Job: Filled, Competitor Filled, ClientClosed A Company is the organization where the contact works. This can also be called the Client. Filled, Cancelled by Client, Cancelled by Job Owner, System Error, Other, None
Off Limit Policy TR1__Off_Limit_Policy__c Lookup to Policy (required) Defines which policy the extended behavior applies
ATS Stage TR1__ATS_Stage__c Multi-select Picklist Possible values are picklist values from Stage field of Application: Application, Internal InterviewClosed The third Stage of Job application flow. This is when the recruiter sets up a job interview between Candidate and Client., SubmittalClosed The Second Stage of Job application flow. This is when the recruiter sends the Candidate CV to the client, a sort of first introduction., Send OutClosed The third Stage of Job application flow. This is when the recruiter sets up a job interview between Candidate and Client., OfferClosed The fourth Stage of Job application flow. This is when the candidate is offered the position (details about salary, locations etc are shared and candidate decides if he wants to take the job), Closing ReportClosed Fifth Stage of Job placement flow, a Candidate that reaches the Closing Report Placement stage has been assigned to a job. In Bullhorn Recruitment Cloud, a 'Closing Report' is a record that captures all the information related to the newly filled position (name of Candidate, position, salary, start date, which recruiter gets credit for the hire etc.), None
Behavior on Job Change TR1__Behavior_on_Job_changes__c Picklist (required) Behavior on Duration of the badge when Job Status or Job Closed Reason changes:

Do Nothing: When set to Do Nothing, no change happens to the badges.
Disable: When set to Disable, the related policy generated badges for all candidates associated with this job on this are disabled.
Update: When Behaviour on Job Update change is set to Update, Duration changes to value "Additional Days".
Additional Days TR1__Additional_Days__c Number(18,0) When Behavior on Job Update change is set to Update, the additional days are added to the existing end date of all candidates' related Policy generated badges (which may have been populated by duration).
Record Type RecordTypeId NA The object record type. Available record types are: Job_Change_Rules.

Checkpoint Configurator (TR1__Checkpoint_Configurator__mdt)

       
Field Name API Name Field Type Description
Checkpoint Name__c Text (255) ActionClosed When used in ATS or Search and Match UI, one of multiple actions available after user has selected a sub-set of Candidates for which a checkpoint is setup to enforce a given behavior
Override Block Behavior Override_Block_Behavior__c Picklist Block behavior set on Off Limits Line Item will be overridden with these values:

None: The off-limit behavior is respected
Warn: Apply warning behavior
Allow: Apply no off-limits
Override Warn Behavior Override_Warn_Behavior__c Picklist Warn behavior set on Off Limits Line Item will be overridden with these values:

None: The off-limit behavior is respected
Block: Apply blocking behavior
Allow: Apply no off-limits

Contact (Contact)

Field Name API Name Field Type Description
Off Limit TR1__Off_Limit__c Formula To display Off Limit Icon on a Contact record
Off Limit Info TR1__Off_Limit_Info__c Lookup(TR1__Off_Limit_Info__c) Related Off Limit Info Record
Off Limit Reason TR1__Off_Limit_Reason__c Formula Off Limit Reason to be displayed on List view
Off Limit Custom Icon TR1__Off_Limit_Custom_Icon__c Text(255) Custom Icon to replace the packaged Off Limit Icon. If this field is populated, the custom icon will be shown everywhere if the Contact is Off Limit. The supported value is relative url to a Salesforce image resource preferably a SVG e.g. /resource/TR1__Lock_icon_svg

Account (Account)

Field Name API Name Field Type Description
Off Limit TR1__Off_Limit__c Formula To display Off Limit Icon on an Account
Off Limit Info TR1__Off_Limit_Info__c Lookup(TR1__Off_Limit_Info__c) Related Off Limit Info Record
Off Limit Reason TR1__Off_Limit_Reason__c Formula Off Limit Reason to be displayed on List view

Job (Job__c)

Field Name API Name Field Type Description
Is Confidential Is_Confidential__c Checkbox Specifies the job as Confidential

Milestone (TR1__Milestone__c)

Field Name API Name Field Type Description
Billing EventClosed A Salesforce term used to describe an activity that involves invitations being sent out and calendar appointments being made. TR1__Billing_Event__c Checkbox Marks the Milestone as a Billing Event
Completed TR1__Completed__c Checkbox Check box for whether it's actually completed
Date Completed TR1__Date_Completed__c Date The date someone checked the completed box
Due Date TR1__Due_Date__c Date The expected completion date for the milestone
End TR1__End__c Checkbox The milestone represents the End of the AssignmentClosed A Job position if the value is true.
Note TR1__Note__c Text(32768) Notes and details for a Milestone
Owner OwnerId Lookup (UserClosed In Salesforce terminology, this is anybody that has login access to an instance. In Bullhorn Recruitment Cloud instances, usually the staff of recruiting companies) Milestone Owner
Related Job TR1__Related_Job__c Lookup (Job__c) Related Job for the Milestone
Sequence TR1__Sequence__c Number Sequence for milestones.
Start TR1__Start__c Checkbox The milestone represents the Start of the Assignment if the value is true.
Start Date TR1__Start_Date__c Date Start Date for milestone

Application V2 (TR1__Application_V2__c)

Field Name API Name Field Type Description
Ranking Group TR1__Ranking_Group__c Picklist Define rank groups for Candidates within ATS. Values: Rank 1, Rank 2, Rank 3, Rank 4, Rank 5

ATS Configuration Setting (TR1__ATS_Configuration_Settings__c)

Field Name API Name Field Type Description
Enable Icons for Ranking Group TR1__Enable_Icons_For_Ranking_Groups__c Checkbox Setting to display icons instead of names on ATS for Ranking Group

Ranking Group Icon Setting (TR1__Ranking_Group_Icon_Setting__mdt)

Field Name API Name Field Type Description
Ranking Group API Name TR1__Ranking_Group_API_Name__c Text(80) API Name of Ranking Group picklist value for which the icon is defined
Alternative Text TR1__Alternative_Text__c Text(80) Alternative text to be displayed in case no icon is found
Icon Name TR1__Icon_Name__c Text(80) Salesforce icon name to display on Job ATS

Team Member (TR1__Team_Member__c)

Field Name API Name Field Type Description
Team Member - Lookup(User) The user who is the Team Member
Job - Master-Detail(TR1__Job__c) The Job for which this User is a Team member
Job Type - Formula Linked to the Job Record Type
Team Member Role - Lookup(Team Member Role) To specify the Role of the Team Member
Date From - Date Start date of the role
Date To - Date End date of the role
Active - checkbox To specify if Team Member is active

Team Member Credit (TR1__Team_Member_Credit__c)

Field Name API Name Field Type Description
Job TR1__Job__c Master-Detail(TR1__Job__c) The Job to which the credit is related.
Team Member TR1__Team_Member__c Lookup(User) User linked to this credit
Credit Type TR1__Credit_Type__c Picklist Specifies a Credit Type based on the Credit Category field.
Date From TR1__Date_From__c Date Start date of the Credit
Date To TR1__Date_To__c Date End date of the Credit
% Value TR1__Value_Percent__c Number (16,2) The Credit value in percent (%)
Value (Decimal) TR1__Value__c Number (16, 2) The Credit value

Team Role (TR1__Team_Role__c)

Field Name API Name Field Type Description
Team Role Name Name Text (80) The name of the team role
Job Record Types TR1__Job_Record_Types__c LongTextArea(5000) List of Job Record Type Ids or developer names
Active TR1__Active__c Checkbox Specifies if it is an active Role
Note TR1__Note__c LongTextArea(5000) General description