# PeopleForce schema ERD

Table and field reference for the Fivetran PeopleForce connector.

## Table & Field Reference

### task

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| assigned_to_id | Unknown | FK |
| created_by_id | Unknown | FK |
| associated_to_id | Unknown |  |
| associated_to_type | Unknown |  |
| completed | Unknown |  |
| completed_at | Unknown |  |
| created_at | Instant |  |
| ends_on | Unknown |  |
| starts_on | Unknown |  |
| title | Unknown |  |
| type | Unknown |  |
| updated_at | Instant |  |

### competencie

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| description | Unknown |  |
| name | Unknown |  |
| type | Unknown |  |
| updated_at | Instant |  |

### employment_type

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| name | Unknown |  |
| updated_at | Instant |  |

### leave_policy

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| leave_type_id | Unknown | FK |
| activity_type | Unknown |  |
| counted_as | Unknown |  |
| created_at | Instant |  |
| name | Unknown |  |
| type | Unknown |  |
| updated_at | Instant |  |
| visibility | Unknown |  |

### working_pattern

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| friday_hours | Unknown |  |
| monday_hours | Unknown |  |
| name | Unknown |  |
| saturday_hours | Unknown |  |
| sunday_hours | Unknown |  |
| thursday_hours | Unknown |  |
| tuesday_hours | Unknown |  |
| updated_at | Instant |  |
| wednesday_hours | Unknown |  |

### holiday

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| compensated_on | Unknown |  |
| country_code | Unknown |  |
| created_at | Instant |  |
| ends_on | Unknown |  |
| holiday_policy_id | Unknown |  |
| name | Unknown |  |
| observed_on | Unknown |  |
| occurs_on | Unknown |  |
| starts_on | Unknown |  |
| updated_at | Instant |  |
| working | Unknown |  |

### objective_key_result

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| objective_id | Unknown | PK, FK |
| currency_code | Unknown |  |
| metric | Unknown |  |
| progress | Unknown |  |
| start | Unknown |  |
| status | Unknown |  |
| target | Unknown |  |
| title | Unknown |  |
| weight | Unknown |  |

### objective

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| owner_id | Unknown | FK |
| created_at | Instant |  |
| ends_on | Unknown |  |
| parent_id | Unknown |  |
| progress | Unknown |  |
| starts_on | Unknown |  |
| status | Unknown |  |
| title | Unknown |  |
| updated_at | Instant |  |

### division

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| name | Unknown |  |
| updated_at | Instant |  |

### job_level

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| name | Unknown |  |
| updated_at | Instant |  |

### department

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| manager_id | Unknown | FK |
| created_at | Instant |  |
| name | Unknown |  |
| parent_id | Unknown |  |
| updated_at | Instant |  |

### vacancy_applicant_phone_number

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| vacancy_application_id | Unknown | PK, FK |
| phone_numbers | Unknown |  |

### vacancy_application

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| vacancy_id | Unknown | PK, FK |
| applicant_email | Unknown |  |
| applicant_full_name | Unknown |  |
| applicant_id | Unknown |  |
| applicant_phone_numbers | Unknown |  |
| created_at | Instant |  |
| disqualified_at | Unknown |  |
| pipeline_state_id | Unknown |  |
| pipeline_state_name | Unknown |  |
| updated_at | Instant |  |

### disqualify_reason

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| name | Unknown |  |
| updated_at | Instant |  |

### kpi

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| department_id | Unknown | FK |
| division_id | Unknown | FK |
| location_id | Unknown | FK |
| owner_id | Unknown | FK |
| created_at | Instant |  |
| currency_code | Unknown |  |
| description | Unknown |  |
| kpi_type | Unknown |  |
| metric | Unknown |  |
| progress_percentage | Unknown |  |
| status | Unknown |  |
| title | Unknown |  |
| updated_at | Instant |  |
| weight | Unknown |  |

### holiday_policy

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| country_code | Unknown |  |
| created_at | Instant |  |
| name | Unknown |  |
| updated_at | Instant |  |

### team_member

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| team_id | Unknown | PK, FK |
| user_id | Unknown | FK |

### team

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| team_lead_id | Unknown | FK |
| created_at | Instant |  |
| description | Unknown |  |
| name | Unknown |  |
| updated_at | Instant |  |

### leave_type

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| fa_class | Unknown |  |
| hex_color | Unknown |  |
| name | Unknown |  |
| unit | Unknown |  |

### location

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| holiday_policy_id | Unknown | FK |
| address | Unknown |  |
| country_code | Unknown |  |
| created_at | Instant |  |
| name | Unknown |  |
| time_zone | Unknown |  |
| updated_at | Instant |  |

### position

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| created_at | Instant |  |
| name | Unknown |  |
| updated_at | Instant |  |

### vacancies_custom_fields

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| vacancy_id | Unknown | PK, FK |
| internal_name | Unknown |  |
| name | Unknown |  |
| vacancy_field_id | Unknown |  |
| value | Unknown |  |

### vacancies_collaborators

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| vacancy_id | Unknown | PK, FK |
| email | Unknown |  |
| first_name | Unknown |  |
| id | Unknown |  |
| last_name | Unknown |  |

### vacancies_recruitment_pipeline_stage

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| vacancy_id | Unknown | PK, FK |
| created_at | Instant |  |
| id | Unknown |  |
| name | Unknown |  |
| position | Unknown |  |
| updated_at | Instant |  |

### vacancy

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| department_id | Unknown | FK |
| employment_type_id | Unknown | FK |
| hiring_lead_id | Unknown | FK |
| job_level_id | Unknown | FK |
| location_id | Unknown | FK |
| applications_count | Unknown |  |
| created_at | Instant |  |
| currency_code | Unknown |  |
| description | Unknown |  |
| division | Unknown |  |
| ends_on | Unknown |  |
| maximum_salary | Unknown |  |
| minimum_salary | Unknown |  |
| opened_at | Unknown |  |
| position | Unknown |  |
| positions | Unknown |  |
| post_on_careers | Unknown |  |
| priority | Unknown |  |
| recruitment_pipeline_created_at | Instant |  |
| recruitment_pipeline_id | Unknown |  |
| recruitment_pipeline_name | Unknown |  |
| recruitment_pipeline_stages | Unknown |  |
| recruitment_pipeline_updated_at | Instant |  |
| skills | Json |  |
| starts_on | Unknown |  |
| state | Unknown |  |
| tags | Json |  |
| title | Unknown |  |
| updated_at | Instant |  |

### employee

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| department_id | Unknown | FK |
| division_id | Unknown | FK |
| employment_type_id | Unknown | FK |
| job_level_id | Unknown | FK |
| location_id | Unknown | FK |
| position_id | Unknown | FK |
| reporting_to_id | Unknown | FK |
| access | Unknown |  |
| active | Unknown |  |
| avatar_url | Unknown |  |
| created_at | Instant |  |
| date_of_birth | Unknown |  |
| email | Unknown |  |
| facebook_url | Unknown |  |
| first_name | Unknown |  |
| full_name | Unknown |  |
| gender | Unknown |  |
| gender_id | Unknown |  |
| hired_on | Unknown |  |
| last_name | Unknown |  |
| legal_entity | Unknown |  |
| linkedin_url | Unknown |  |
| middle_name | Unknown |  |
| mobile_number | Unknown |  |
| personal_email | Unknown |  |
| probation_ends_on | Unknown |  |
| skype_username | Unknown |  |
| slack_username | Unknown |  |
| status | Unknown |  |
| termination_comment | Unknown |  |
| termination_effective_on | Unknown |  |
| termination_eligible_for_rehire | Unknown |  |
| termination_reason_id | Unknown |  |
| termination_reason_name | Unknown |  |
| termination_type_id | Unknown |  |
| termination_type_name | Unknown |  |
| twitter_username | Unknown |  |
| updated_at | Instant |  |
| work_phone_number | Unknown |  |

### employee_anniversary

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK, FK |
| custom_** |  |  |

### calendar

| Column | Type | Keys |
| --- | --- | --- |
| starts_on | Unknown | PK |
| user_id | Unknown | PK, FK |
| leave_type_id | Unknown | FK |
| ends_on | Unknown |  |
| title | Unknown |  |
| type | Unknown |  |

### candidates_phone_number

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| candidates_id | Unknown | PK, FK |
| phone_numbers | Unknown |  |

### candidates_urls

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| candidates_id | Unknown | PK, FK |
| urls | Unknown |  |

### candidates_skills

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| candidates_id | Unknown | PK, FK |
| skills | Unknown |  |

### candidates_application

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| candidates_id | Unknown | PK, FK |
| vacancy_id | Unknown | FK |
| created_at | Instant |  |
| disqualified_at | Unknown |  |
| disqualify_reason | Unknown |  |
| updated_at | Instant |  |

### candidates

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| cover_letter | Unknown |  |
| created_at | Instant |  |
| created_by | Unknown |  |
| currency_code | Unknown |  |
| desired_salary | Unknown |  |
| email | Unknown |  |
| full_name | Unknown |  |
| gender | Unknown |  |
| last_contacted_at | Unknown |  |
| level | Unknown |  |
| location | Unknown |  |
| position | Unknown |  |
| resume | Unknown |  |
| source | Unknown |  |
| tags | Json |  |
| updated_at | Instant |  |

### leave_request_entries

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| leave_request_id | Unknown | PK, FK |
| amount | Unknown |  |
| date | Unknown |  |
| ends_at | Unknown |  |
| starts_at | Unknown |  |

### leave_request_approval

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| leave_request_id | Unknown | PK, FK |
| assigned_to_id | Unknown | FK |
| state | Unknown |  |

### leave_request

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | FK |
| leave_type_id | Unknown | FK |
| amount | Unknown |  |
| attachment_url | Unknown |  |
| attachments | Json |  |
| comment | Unknown |  |
| created_at | Instant |  |
| ends_on | Unknown |  |
| hours | Unknown |  |
| leave_type_policy_activity_type | Unknown |  |
| leave_type_policy_name | Unknown |  |
| leave_type_policy_visibility | Unknown |  |
| on_demand | Unknown |  |
| starts_on | Unknown |  |
| state | Unknown |  |
| tracking_time_in | Unknown |  |
| updated_at | Instant |  |

### salary

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | PK, FK |
| amount | Unknown |  |
| comment | Unknown |  |
| created_at | Instant |  |
| currency_code | Unknown |  |
| effective_on | Unknown |  |
| overtime | Unknown |  |
| pay_schedule_id | Unknown |  |
| pay_schedule_name | Unknown |  |
| per | Unknown |  |
| updated_at | Instant |  |

### leave_balance

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| employee_id | Unknown | PK, FK |
| leave_policy_id | Unknown | FK |
| leave_type_id | Unknown | FK |
| balance | Unknown |  |
| created_at | Instant |  |
| effective_on | Unknown |  |
| updated_at | Instant |  |

## Relationships

- task(assigned_to_id) → employee(id)
- task(created_by_id) → employee(id)
- leave_policy(leave_type_id) → leave_type(id)
- objective_key_result(objective_id) → objective(id)
- objective(owner_id) → employee(id)
- department(manager_id) → employee(id)
- vacancy_applicant_phone_number(vacancy_application_id) → vacancy_application(id)
- vacancy_application(vacancy_id) → vacancy(id)
- kpi(department_id) → department(id)
- kpi(owner_id) → employee(id)
- kpi(division_id) → division(id)
- kpi(location_id) → location(id)
- team_member(user_id) → employee(id)
- team_member(team_id) → team(id)
- team(team_lead_id) → employee(id)
- location(holiday_policy_id) → holiday_policy(id)
- vacancies_custom_fields(vacancy_id) → vacancy(id)
- vacancies_collaborators(vacancy_id) → vacancy(id)
- vacancies_recruitment_pipeline_stage(vacancy_id) → vacancy(id)
- vacancy(employment_type_id) → employment_type(id)
- vacancy(department_id) → department(id)
- vacancy(job_level_id) → job_level(id)
- vacancy(hiring_lead_id) → employee(id)
- vacancy(location_id) → location(id)
- employee(position_id) → position(id)
- employee(employment_type_id) → employment_type(id)
- employee(reporting_to_id) → employee(id)
- employee(department_id) → department(id)
- employee(division_id) → division(id)
- employee(job_level_id) → job_level(id)
- employee(location_id) → location(id)
- employee_anniversary(id) → employee(id)
- calendar(user_id) → employee(id)
- calendar(leave_type_id) → leave_type(id)
- candidates_phone_number(candidates_id) → candidates(id)
- candidates_urls(candidates_id) → candidates(id)
- candidates_skills(candidates_id) → candidates(id)
- candidates_application(vacancy_id) → vacancy(id)
- candidates_application(candidates_id) → candidates(id)
- leave_request_entries(leave_request_id) → leave_request(id)
- leave_request_approval(assigned_to_id) → employee(id)
- leave_request_approval(leave_request_id) → leave_request(id)
- leave_request(leave_type_id) → leave_type(id)
- leave_request(employee_id) → employee(id)
- salary(employee_id) → employee(id)
- leave_balance(leave_policy_id) → leave_policy(id)
- leave_balance(leave_type_id) → leave_type(id)
- leave_balance(employee_id) → employee(id)
