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 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 |
|
|
V2 record is created every time a 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 . |
| 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 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 as 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 |
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 (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, 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 , , , , , 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) |
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 |
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 if the value is true. |
| Note |
TR1__Note__c |
Text(32768) |
Notes and details for a Milestone |
| Owner |
OwnerId |
Lookup () |
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 |