@adaptware/eagles-db 0.5.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/edge.js +17 -6
- package/client/index-browser.js +14 -2
- package/client/index.d.ts +330 -38
- package/client/index.js +17 -6
- package/client/package.json +1 -1
- package/client/schema.prisma +33 -5
- package/client/wasm.js +17 -6
- package/package.json +1 -1
- package/prisma/schema/action.prisma +6 -0
- package/prisma/schema/department.prisma +20 -4
- package/prisma/schema/hiringPlan.prisma +7 -1
package/client/wasm.js
CHANGED
|
@@ -691,10 +691,15 @@ exports.Prisma.HiringPlanSectionScalarFieldEnum = {
|
|
|
691
691
|
hiring_plan_id: 'hiring_plan_id',
|
|
692
692
|
department_id: 'department_id',
|
|
693
693
|
status: 'status',
|
|
694
|
+
requested_by: 'requested_by',
|
|
695
|
+
requested_at: 'requested_at',
|
|
694
696
|
submitted_by: 'submitted_by',
|
|
695
697
|
submitted_at: 'submitted_at',
|
|
696
698
|
approved_by: 'approved_by',
|
|
697
699
|
approved_at: 'approved_at',
|
|
700
|
+
skipped_by: 'skipped_by',
|
|
701
|
+
skipped_at: 'skipped_at',
|
|
702
|
+
review_note: 'review_note',
|
|
698
703
|
created_at: 'created_at',
|
|
699
704
|
updated_at: 'updated_at',
|
|
700
705
|
created_by: 'created_by',
|
|
@@ -860,6 +865,7 @@ exports.Prisma.HiringPlanLineScalarFieldEnum = {
|
|
|
860
865
|
cost_per_hire: 'cost_per_hire',
|
|
861
866
|
start_month: 'start_month',
|
|
862
867
|
hire_schedule: 'hire_schedule',
|
|
868
|
+
details: 'details',
|
|
863
869
|
sort_order: 'sort_order',
|
|
864
870
|
job_description_id: 'job_description_id',
|
|
865
871
|
created_at: 'created_at',
|
|
@@ -1992,7 +1998,10 @@ exports.Prisma.JsonNullValueFilter = {
|
|
|
1992
1998
|
exports.ActionType = exports.$Enums.ActionType = {
|
|
1993
1999
|
TAKE_INTERVIEW: 'TAKE_INTERVIEW',
|
|
1994
2000
|
PROVIDE_FEEDBACK: 'PROVIDE_FEEDBACK',
|
|
1995
|
-
SCHEDULE_INTERVIEW: 'SCHEDULE_INTERVIEW'
|
|
2001
|
+
SCHEDULE_INTERVIEW: 'SCHEDULE_INTERVIEW',
|
|
2002
|
+
SUBMIT_DEPARTMENT_HIRING_REQUIREMENTS: 'SUBMIT_DEPARTMENT_HIRING_REQUIREMENTS',
|
|
2003
|
+
REVIEW_DEPARTMENT_HIRING_REQUIREMENTS: 'REVIEW_DEPARTMENT_HIRING_REQUIREMENTS',
|
|
2004
|
+
UPDATE_DEPARTMENT_HIRING_REQUIREMENTS: 'UPDATE_DEPARTMENT_HIRING_REQUIREMENTS'
|
|
1996
2005
|
};
|
|
1997
2006
|
|
|
1998
2007
|
exports.ActionStatus = exports.$Enums.ActionStatus = {
|
|
@@ -2164,8 +2173,11 @@ exports.CommMessageStatus = exports.$Enums.CommMessageStatus = {
|
|
|
2164
2173
|
|
|
2165
2174
|
exports.HiringPlanSectionStatus = exports.$Enums.HiringPlanSectionStatus = {
|
|
2166
2175
|
DRAFT: 'DRAFT',
|
|
2176
|
+
REQUESTED: 'REQUESTED',
|
|
2167
2177
|
SUBMITTED: 'SUBMITTED',
|
|
2168
|
-
|
|
2178
|
+
CHANGES_REQUESTED: 'CHANGES_REQUESTED',
|
|
2179
|
+
APPROVED: 'APPROVED',
|
|
2180
|
+
SKIPPED: 'SKIPPED'
|
|
2169
2181
|
};
|
|
2170
2182
|
|
|
2171
2183
|
exports.CriteriaScope = exports.$Enums.CriteriaScope = {
|
|
@@ -2576,7 +2588,6 @@ const config = {
|
|
|
2576
2588
|
"db"
|
|
2577
2589
|
],
|
|
2578
2590
|
"activeProvider": "postgresql",
|
|
2579
|
-
"postinstall": false,
|
|
2580
2591
|
"inlineDatasources": {
|
|
2581
2592
|
"db": {
|
|
2582
2593
|
"url": {
|
|
@@ -2585,13 +2596,13 @@ const config = {
|
|
|
2585
2596
|
}
|
|
2586
2597
|
}
|
|
2587
2598
|
},
|
|
2588
|
-
"inlineSchema": "model CandidateQuestionResponse {\n id String @id @default(uuid())\n //foreign keys\n question_id String\n candidate_id String\n assessment_id String\n //data\n response String\n score Float?\n /// Audit fields\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n question Question @relation(fields: [question_id], references: [id], onDelete: Cascade)\n assessment Assessment @relation(fields: [assessment_id], references: [id], onDelete: Cascade)\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([assessment_id, question_id, candidate_id])\n @@index([candidate_id])\n @@index([assessment_id])\n @@schema(\"public\")\n}\n\nmodel UserRole {\n id String @id @default(uuid())\n role String\n organisation_id String?\n is_custom Boolean @default(false)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n permission_id String? @unique\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n users User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([role, organisation_id])\n @@index([role, organisation_id])\n @@index([organisation_id])\n @@index([permission_id])\n @@schema(\"public\")\n}\n\nenum ActionType {\n TAKE_INTERVIEW\n PROVIDE_FEEDBACK\n SCHEDULE_INTERVIEW\n\n @@schema(\"public\")\n}\n\nenum ActionStatus {\n PENDING\n COMPLETED\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel Action {\n id String @id @default(uuid())\n assignee_id String\n title String\n action_type ActionType\n action_id String // Generic foreign key that can link to any entity\n due_date DateTime?\n organisation_id String\n status ActionStatus @default(PENDING)\n // Relations\n user User @relation(fields: [assignee_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@index([assignee_id, action_type])\n @@index([status])\n @@index([due_date])\n @@schema(\"public\")\n}\n\nenum ActivityEventType {\n APPLICATION_CREATED\n APPLICATION_STARTED\n APPLICATION_REJECTED\n APPLICATION_ON_HOLD\n APPLICATION_WITHDRAWN\n APPLICATION_SHORTLISTED\n\n FIT_CHECK_COMPLETED\n\n ROUND_ASSIGNED\n ROUND_COMPLETED\n ROUND_PASSED\n ROUND_FAILED\n\n INTERVIEW_CREATED\n INTERVIEW_SCHEDULED\n INTERVIEW_RESCHEDULED\n INTERVIEW_CANCELLED\n INTERVIEW_STARTED\n INTERVIEW_COMPLETED\n INTERVIEW_NO_SHOW\n INTERVIEW_EVALUATION_PENDING\n INTERVIEW_EVALUATED\n\n FEEDBACK_SUBMITTED\n\n ASSIGNMENT_CREATED\n ASSIGNMENT_STARTED\n ASSIGNMENT_COMPLETED\n ASSIGNMENT_CANCELLED\n ASSIGNMENT_EVALUATED\n\n ASSESSMENT_CREATED\n ASSESSMENT_STARTED\n ASSESSMENT_COMPLETED\n ASSESSMENT_CANCELLED\n ASSESSMENT_EVALUATED\n\n JOB_CREATED\n JOB_PUBLISHED\n JOB_CLOSED\n JOB_DEACTIVATED\n\n USER_INVITED\n USER_INVITATION_RESENT\n USER_CREATED\n USER_INVITATION_ACCEPTED\n USER_INVITATION_EXPIRED\n USER_DEACTIVATED\n USER_REACTIVATED\n USER_ROLE_CHANGED\n USER_PROFILE_COMPLETED\n\n CANDIDATE_REGISTERED\n CANDIDATE_CREATED\n CANDIDATE_PROFILE_COMPLETED\n\n EVALUATION_PLAN_CREATED\n EVALUATION_PLAN_PUBLISHED\n EVALUATION_PLAN_DELETED\n EVALUATION_PLAN_UPDATED\n STATUS_CHANGED\n\n CUSTOM\n\n @@schema(\"public\")\n}\n\nenum ActivityEntityType {\n APPLICATION\n\n CANDIDATE\n\n JOB\n\n ONGOING_EVALUATION\n\n EVALUATION_PLAN\n\n INTERVIEW\n\n ASSIGNMENT\n\n ASSESSMENT\n\n ORGANISATION\n\n USER\n\n @@schema(\"public\")\n}\n\nenum ActivityEntityActorType {\n USER\n\n SYSTEM\n\n AI_AGENT\n\n WEBHOOK\n\n @@schema(\"public\")\n}\n\nmodel ActivityEvent {\n id String @id @default(uuid())\n\n organisation_id String?\n\n event_type ActivityEventType\n\n entity_type ActivityEntityType\n entity_id String\n\n actor_id String?\n actor_type ActivityEntityActorType\n\n related_entities Json?\n\n snapshot Json?\n\n payload Json?\n\n schema_version Int @default(1)\n\n occurred_at DateTime\n\n created_at DateTime @default(now())\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id])\n\n @@index([organisation_id, occurred_at])\n @@index([organisation_id, event_type])\n @@index([entity_type, entity_id])\n @@index([actor_id])\n @@index([occurred_at])\n @@map(\"activity_events\")\n @@schema(\"public\")\n}\n\nenum ActivityActorType {\n USER\n AI\n SYSTEM\n\n @@schema(\"public\")\n}\n\nmodel ActivityLog {\n id String @id @default(uuid())\n application_id String\n actor_id String?\n actor_type ActivityActorType @default(USER)\n message String\n timestamp DateTime @default(now())\n metadata Json?\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n // Relations\n actor User? @relation(\"ActorActivityLogs\", fields: [actor_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id])\n @@schema(\"public\")\n}\n\nmodel ApplicationAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n application_id String @unique\n job_description_id String\n candidate_id String\n\n source_id String?\n source_name String?\n source_category SourceCategory?\n source_colour String?\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n candidate_name String?\n recruiter_id String?\n\n applied_at DateTime\n status_updated_at DateTime?\n\n status ApplicationStatus?\n fit_check_score Float?\n\n is_screened Boolean @default(false)\n is_evaluated Boolean @default(false)\n is_rejected Boolean @default(false)\n is_shortlisted Boolean @default(false)\n is_on_hold Boolean @default(false)\n is_withdrawn Boolean @default(false)\n has_committed_evaluation Boolean @default(false)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, applied_at])\n @@index([organisation_id, source_id, applied_at])\n @@index([job_description_id, applied_at])\n @@index([organisation_id, hiring_manager_id])\n @@map(\"application_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel ApplicationAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n application_id String\n job_description_id String\n candidate_id String\n\n source_id String?\n source_name String?\n source_category SourceCategory?\n source_colour String?\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n candidate_name String?\n recruiter_id String?\n\n applied_at DateTime\n status_updated_at DateTime?\n\n status ApplicationStatus?\n fit_check_score Float?\n\n is_screened Boolean @default(false)\n is_evaluated Boolean @default(false)\n is_rejected Boolean @default(false)\n is_shortlisted Boolean @default(false)\n is_on_hold Boolean @default(false)\n is_withdrawn Boolean @default(false)\n has_committed_evaluation Boolean @default(false)\n\n @@unique([snapshot_date, application_id])\n @@index([snapshot_date], map: \"aad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"aad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, source_id], map: \"aad_snapshot_org_source_idx\")\n @@index([snapshot_date, organisation_id, applied_at], map: \"aad_snapshot_org_applied_idx\")\n @@index([snapshot_date, job_description_id], map: \"aad_snapshot_job_idx\")\n @@map(\"application_analytics_daily\")\n @@schema(\"analytics\")\n}\n\n// PENDING could be understood as unscreened\nenum ApplicationStatus {\n PENDING\n IN_PROGRESS\n SELECTED\n SHORTLISTED\n REJECTED\n ON_HOLD\n WITHDRAWN\n\n @@schema(\"public\")\n}\n\nmodel Application {\n id String @id @default(uuid())\n candidate_id String\n resume_id String\n organisation_id String\n job_description_id String\n fit_check_score Float?\n applied_at DateTime @default(now())\n evaluation_plan_id String?\n fit_check_id String? @unique\n recruiter_id String?\n source_id String?\n round_no Int @default(0)\n is_jaf_completed Boolean @default(false)\n proceed_to_next_round Boolean? @default(false)\n //Screening fields\n on_notice_period Boolean @default(false)\n expected_joining_date DateTime?\n current_ctc String?\n expected_ctc String?\n notice_period Int?\n preferred_location String?\n evaluationComment String?\n // Relations\n fit_check_status FitCheckStatus?\n status ApplicationStatus @default(PENDING)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recruiter User? @relation(\"ApplicationRecruiter\", fields: [recruiter_id], references: [id])\n source Source? @relation(fields: [source_id], references: [id], onDelete: SetNull)\n interviews Interview[]\n assignments Assignment[]\n ongoing_evaluations OngoingEvaluation[]\n activity_logs ActivityLog[]\n notes Notes[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n job_application_responses JobApplicationResponse[]\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([candidate_id, job_description_id]) // Ensures candidate applies only once per job\n @@index([candidate_id])\n @@index([job_description_id])\n @@index([source_id])\n @@schema(\"public\")\n}\n\nmodel Approval {\n id String @id @default(uuid())\n job_description_id String\n user_id String\n organisaton_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisaton_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@schema(\"public\")\n}\n\nmodel Assessment {\n id String @id @default(uuid())\n //foreign keys\n organisation_id String?\n assessment_library_id String\n candidate_id String\n reviewer_id String?\n //data\n score Float?\n feedback Json?\n // Scheduled Deadline Window\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n /// Actual Start and End Time\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Attempt Expires At\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n assessment_library AssessmentLibrary @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User @relation(\"CandidateAssessments\", fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"ReviewerAssessments\", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n questions AssessmentQuestion[] @relation(\"AssessmentToAssessmentQuestion\")\n candidateResponse CandidateQuestionResponse[]\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n User User? @relation(fields: [userId], references: [id])\n userId String?\n ongoingEvaluation OngoingEvaluation?\n\n @@unique([assessment_library_id, candidate_id])\n @@index([assessment_library_id])\n @@index([candidate_id])\n @@schema(\"public\")\n}\n\n/// Defines how an assessment is conducted.\n\nmodel AssessmentLibrary {\n id String @id @default(uuid())\n title String\n time_required Int\n passing_score Float?\n max_score Float?\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n questions Question[] // One assessment → many questions\n assessments Assessment[]\n evaluation_Plans EvaluationPlan[]\n\n @@index([organisation_id])\n @@schema(\"public\")\n}\n\n/**\n * Join table linking Assessments and Questions in a many-to-many relationship.\n * - Each row represents one link between a specific Assessment and a specific Question.\n * - Composite ID ensures no duplicate pairings exist.\n * - Cascade delete ensures join rows are removed when either side is deleted.\n * - Enables sharing the same Question across multiple Assessments.\n */\nmodel AssessmentQuestion {\n assessment_id String\n question_id String\n assessment Assessment @relation(\"AssessmentToAssessmentQuestion\", fields: [assessment_id], references: [id], onDelete: Cascade)\n question Question @relation(\"QuestionToAssessmentQuestion\", fields: [question_id], references: [id], onDelete: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@id([assessment_id, question_id])\n @@schema(\"public\")\n}\n\nenum AssessmentRoundStatus {\n SCHEDULED\n IN_PROGRESS\n COMPLETED\n EVALUATED\n CANCELLED\n\n @@schema(\"analytics\")\n}\n\nmodel AssessmentRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n assessment_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n\n score Float?\n status AssessmentRoundStatus?\n round_result RoundResult?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, reviewer_id])\n @@index([job_description_id])\n @@index([application_id])\n @@map(\"assessment_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel AssessmentRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n assessment_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n\n score Float?\n status AssessmentRoundStatus?\n round_result RoundResult?\n\n @@unique([snapshot_date, assessment_id])\n @@index([snapshot_date], map: \"asrad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"asrad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"asrad_snapshot_job_idx\")\n @@map(\"assessment_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AssignmentStatus {\n AVAILABLE\n SCHEDULED\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel Assignment {\n id String @id @default(uuid())\n candidate_id String\n assignment_library_id String\n reviewer_id String?\n application_id String?\n job_description_id String\n organisation_id String\n ongoing_evaluation_id String? @unique\n overallScore Int?\n feedback Json?\n status AssignmentStatus @default(AVAILABLE)\n cancel_reason String?\n /// @deprecated Prefer `solution_document_id` + `Document`.\n solution_url String?\n /// @deprecated Prefer `zip_document_id` + `Document`.\n zip_url String?\n solution_document_id String? @unique\n zip_document_id String? @unique\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n evaluated_at DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateAssignments\", fields: [candidate_id], references: [id], onDelete: Cascade)\n assignment_library AssignmentLibrary @relation(fields: [assignment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"AssignmentReviewer\", fields: [reviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation? @relation(fields: [ongoing_evaluation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n solution_document Document? @relation(\"AssignmentSolutionDocument\", fields: [solution_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n zip_document Document? @relation(\"AssignmentZipDocument\", fields: [zip_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([candidate_id, ongoing_evaluation_id])\n @@index([candidate_id])\n @@index([reviewer_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel AssignmentLibrary {\n id String @id @default(uuid())\n deadline Int\n /// Flexible JSON for assignment-specific config (rubrics, instructions, criteria, etc.)\n assignment Json?\n job_description_id String\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Back-relation: one-to-one from EvaluationPlan (FK lives on EvaluationPlan.assignment_library_id)\n evaluationPlan EvaluationPlan[]\n assignments Assignment[]\n\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel AssignmentRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n assignment_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n completed_at DateTime?\n evaluated_at DateTime?\n cancelled_at DateTime?\n\n status AssignmentStatus?\n overall_score Int?\n cancel_reason String?\n round_result RoundResult?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, reviewer_id])\n @@index([job_description_id])\n @@index([application_id])\n @@map(\"assignment_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel AssignmentRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n assignment_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n completed_at DateTime?\n evaluated_at DateTime?\n cancelled_at DateTime?\n\n status AssignmentStatus?\n overall_score Int?\n cancel_reason String?\n round_result RoundResult?\n\n @@unique([snapshot_date, assignment_id])\n @@index([snapshot_date], map: \"arad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"arad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"arad_snapshot_job_idx\")\n @@map(\"assignment_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AuthProvider {\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n\n @@schema(\"public\")\n}\n\nmodel AuthModule {\n id String @id @default(uuid())\n user_id String\n /// The provider of the authentication module\n provider AuthProvider\n provider_account_id String? @db.Text\n\n access_token String? @db.Text\n refresh_token String? @db.Text\n id_token String? @db.Text\n expires_at DateTime?\n\n token_type String?\n\n scope String?\n is_active Boolean @default(true)\n\n /// Provider-specific JSON (e.g. Zoom: email, display); tokens remain in encrypted columns.\n metadata Json @default(\"{}\")\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(\"UserAuthModule\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@unique([user_id, provider])\n @@unique([provider, provider_account_id])\n @@index([user_id])\n @@schema(\"public\")\n}\n\nenum JobType {\n Full_time\n Part_time\n Contract\n Internship\n Temporary\n\n @@schema(\"public\")\n}\n\nenum JDCreationType {\n Pick_from_Library\n Upload_JD\n Create_New\n Create_From_Profile\n\n @@schema(\"public\")\n}\n\nmodel Budget {\n id String @id @default(uuid())\n job_type JobType\n location String\n shift String\n openings Int\n budget_per_job String\n level String\n start_date DateTime\n closing_date DateTime\n business_unit String\n purpose String\n role String\n domain String\n jd_creation_type JDCreationType\n job_description_id String @unique\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Optional link to annual plan line (legacy Budget API; primary commit path is JobDescription).\n hiring_plan_line_id String?\n hiring_plan_line HiringPlanLine? @relation(fields: [hiring_plan_line_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@index([hiring_plan_line_id])\n @@schema(\"public\")\n}\n\nmodel Calendly {\n id String @id @default(uuid())\n user_id String @unique\n\n access_token String\n refresh_token String\n expires_at DateTime\n calendly_user_uri String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel CandidateProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n location String\n salary String?\n description String?\n resume_id String? @unique\n date_of_birth DateTime?\n\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n work_experience Json?\n education Json?\n notice_period String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n is_active Boolean @default(true)\n planned_candidates PlannedCandidate[]\n\n @@schema(\"public\")\n}\n\n// Multi-channel communication (WhatsApp, Email, SMS, Call) with provider abstraction.\n// Strategy: typed columns for everything stable; JSON only for genuinely variable data.\n\nenum CommChannel {\n WHATSAPP\n EMAIL\n SMS\n CALL\n\n @@schema(\"public\")\n}\n\nenum CommProvider {\n META_WHATSAPP\n TWILIO\n GUPSHUP\n MTALKZ\n THREE_SIXTY_DIALOG\n GMAIL\n OUTLOOK\n GENERIC_SMTP\n GENERIC\n\n @@schema(\"public\")\n}\n\nenum CommDirection {\n INBOUND\n OUTBOUND\n\n @@schema(\"public\")\n}\n\nenum CommMessageStatus {\n QUEUED\n SENT\n DELIVERED\n READ\n FAILED\n RECEIVED\n\n @@schema(\"public\")\n}\n\n/// Per-organisation provider selection + (encrypted) credentials for one channel.\n/// `metadata` stores non-secret provider settings (e.g. phone_number_id, waba_id, webhook_verify_token).\nmodel ChannelProviderConfig {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n /// Encrypted JSON blob of secrets (token, app_secret, …) using integrationTokenCrypto.\n credentials String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n is_default Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n conversations Conversation[]\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider])\n @@index([organisation_id, channel])\n @@index([organisation_id, channel, is_active])\n @@schema(\"public\")\n}\n\n/// A logical conversation thread with one external party on one channel.\n/// `external_id` is the channel-native identifier (E.164 phone for WhatsApp/SMS, email address for email).\n///\n/// `application_id` / `job_description_id` are the *current* recruiting scope\n/// the thread is bound to (the recruiter can switch context, but individual\n/// `CommunicationMessage` rows record the scope they were sent under so the\n/// audit trail is preserved). Both nullable so pre-application sourcing\n/// (no application yet, just a JD) still works.\nmodel Conversation {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n external_id String\n contact_user_id String?\n application_id String?\n job_description_id String?\n provider_thread_id String?\n subject String?\n status String @default(\"open\")\n unread_count Int @default(0)\n last_message_at DateTime?\n metadata Json @default(\"{}\")\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider, external_id])\n @@index([organisation_id, channel])\n @@index([organisation_id, last_message_at])\n @@index([external_id])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n @@schema(\"public\")\n}\n\n/// Individual message in a conversation. Inbound + outbound share the same model.\n/// `body` is plain text. `attachments` is a JSON array of media descriptors (no binaries persisted).\n/// `metadata` stores raw provider payloads + interactive payloads for audit/debug.\n///\n/// `application_id` / `job_description_id` are the recruiting scope this\n/// specific message was sent/received under, captured at the time of the\n/// event (not derived from the parent conversation, since a recruiter may\n/// reuse a thread across multiple applications). Both nullable.\nmodel CommunicationMessage {\n id String @id @default(uuid())\n conversation_id String\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n direction CommDirection\n status CommMessageStatus\n body String?\n from_identifier String\n to_identifier String\n sender_user_id String?\n application_id String?\n job_description_id String?\n provider_message_id String?\n template_name String?\n attachments Json @default(\"[]\")\n metadata Json @default(\"{}\")\n error String?\n sent_at DateTime?\n delivered_at DateTime?\n read_at DateTime?\n\n conversation Conversation @relation(fields: [conversation_id], references: [id], onDelete: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([provider, provider_message_id])\n @@index([conversation_id, created_at])\n @@index([organisation_id, channel, created_at])\n @@index([organisation_id, status])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n @@schema(\"public\")\n}\n\nmodel ContactUs {\n id String @id @default(uuid())\n name String\n email String\n organisation_name String\n organisation_website String\n subject String\n message String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\n/// Section-level status for a department's slice of the hiring plan.\n/// DRAFT — department head is editing\n/// SUBMITTED — head submitted; awaiting CHRO\n/// APPROVED — CHRO locked; line writes rejected until reopened to DRAFT\nenum HiringPlanSectionStatus {\n DRAFT\n SUBMITTED\n APPROVED\n\n @@schema(\"public\")\n}\n\n/// First-class org unit that owns a slice of the annual hiring plan.\n/// Replaces the free-text `business_unit` string on HiringPlanLine / Employee.\n/// Headship lives on DepartmentMember.is_head (at most one per dept, enforced in service).\nmodel Department {\n id String @id @default(uuid())\n organisation_id String\n name String\n code String?\n /// Global display order across departments within the org (drag-reorder in plan grid).\n sort_order Int @default(0)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n members DepartmentMember[]\n hiring_plan_lines HiringPlanLine[]\n employees Employee[]\n job_descriptions JobDescription[]\n sections HiringPlanSection[]\n\n @@unique([organisation_id, name])\n @@index([organisation_id])\n @@schema(\"public\")\n}\n\n/// Many-to-many membership: a user can belong to multiple departments.\n/// is_head marks the department head for that membership row. The same user can\n/// be head of multiple departments (multiple rows with is_head=true). At most\n/// one is_head=true per department is enforced in DepartmentService.\nmodel DepartmentMember {\n id String @id @default(uuid())\n department_id String\n user_id String\n is_head Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n department Department @relation(fields: [department_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(\"DepartmentMemberships\", fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([department_id, user_id])\n @@index([user_id])\n @@index([department_id, is_head])\n @@schema(\"public\")\n}\n\n/// Per-department status for a specific hiring plan (submit → approve/lock).\nmodel HiringPlanSection {\n id String @id @default(uuid())\n hiring_plan_id String\n department_id String\n status HiringPlanSectionStatus @default(DRAFT)\n submitted_by String?\n submitted_at DateTime?\n approved_by String?\n approved_at DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n hiring_plan HiringPlan @relation(fields: [hiring_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department @relation(fields: [department_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([hiring_plan_id, department_id])\n @@index([hiring_plan_id])\n @@index([department_id])\n @@index([status])\n @@schema(\"public\")\n}\n\nmodel Document {\n // Primary key\n id String @id @default(uuid())\n // Foreign keys\n organisation_id String?\n candidate_id String?\n // Data fields\n original_file_name String\n stored_file_name String\n file_extension String?\n s3_bucket String?\n s3_key String?\n mime_type String?\n file_size BigInt?\n file_hash String?\n metadata Json?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n resume Resume? @relation(\"ResumeSourceDocument\")\n resume_rendered_export Resume? @relation(\"RenderedResumeExport\")\n job_description_source JobDescription? @relation(\"SourceDocument\")\n job_description_rendered JobDescription? @relation(\"RenderedJdDocument\")\n job_description_display_html JobDescription? @relation(\"DisplayHtmlDocument\")\n interview_recording Interview?\n job_application_responses JobApplicationResponse[]\n assignment_solution Assignment? @relation(\"AssignmentSolutionDocument\")\n assignment_zip Assignment? @relation(\"AssignmentZipDocument\")\n\n // Indexes\n @@index([candidate_id])\n @@index([organisation_id, candidate_id])\n @@index([file_hash])\n @@schema(\"public\")\n}\n\nenum CriteriaScope {\n ORGANISATION\n TREADSPACE\n\n @@schema(\"public\")\n}\n\nmodel EvaluationCriteria {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String?\n /// Data fields\n scope CriteriaScope\n key String\n criteria String?\n description String?\n weightage Float?\n is_elimination Boolean @default(false)\n metadata Json?\n /// Audit fields\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n /// Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n /// Indexes\n @@index([scope, organisation_id])\n @@schema(\"public\")\n}\n\nenum RoundType {\n ASSESSMENT\n INTERVIEW\n ASSIGNMENT\n SCREENING\n\n @@schema(\"public\")\n}\n\nenum EvaluationCategory {\n SCREENING\n BUSINESS_SCREENING\n BUSINESS_ROUND\n BEHAVIORAL_ROUND\n\n @@schema(\"public\")\n}\n\nenum EvaluationRoundFormat {\n // ────────────────\n // Screening formats\n // ────────────────\n PHONE_CALL\n VIDEO_CALL_AI_ASSISTED\n VIDEO_CALL_UNASSISTED\n\n // ────────────────\n // Assessment formats\n // ────────────────\n AI_GENERATED_TEST\n UPLOADED_TEST\n EXTERNAL_PLATFORM\n\n // ────────────────\n // Assignment formats\n // ────────────────\n AI_GENERATED_ASSIGNMENT\n UPLOADED_ASSIGNMENT\n\n // ────────────────\n // Interview formats\n // ────────────────\n TREADSPACE_AI_ASSISTED\n EXTERNAL_VIDEO_AI_ASSISTED\n EXTERNAL_VIDEO_UNASSISTED\n\n @@schema(\"public\")\n}\n\nenum EvaluationType {\n // New (In active use now)\n TREADSPACE_AI_ASSISTED\n TREADSPACE_FULL_AI\n EXTERNAL_AI_ASSISTED\n NON_AI_ASSISTED\n\n @@schema(\"public\")\n}\n\nenum EvaluationPlanType {\n CUSTOM\n GENERIC\n DELETED\n\n @@schema(\"public\")\n}\n\nenum EvaluationPlanShareScope {\n PRIVATE\n CREATOR\n ORGANIZATION\n\n @@schema(\"public\")\n}\n\nenum DurationUnit {\n MINUTES\n HOURS\n DAYS\n\n @@schema(\"public\")\n}\n\nmodel EvaluationPlan {\n id String @id @default(uuid())\n job_description_id String\n assessment_id String?\n assignment_library_id String?\n title String\n description String?\n format EvaluationRoundFormat?\n focus_areas String[]\n topics String[]\n assignee String?\n elimination_round Boolean @default(false)\n evaluation_type EvaluationType @default(TREADSPACE_AI_ASSISTED)\n type_of_round RoundType\n round_purpose String?\n timeline Int?\n order_no Int?\n details Json?\n plan_type EvaluationPlanType @default(GENERIC)\n share_scope EvaluationPlanShareScope @default(PRIVATE)\n duration Int?\n duration_unit DurationUnit?\n deadline Int?\n category EvaluationCategory?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n questions Question[] // One evaluation plan → many questions\n interviews Interview[]\n applications Application[]\n // New optional one-to-one relation with AssessmentLibrary\n assessment AssessmentLibrary? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)\n ongoing_evaluations OngoingEvaluation[]\n\n @@index([job_description_id])\n @@index([job_description_id, plan_type, share_scope])\n @@index([created_by, share_scope])\n @@schema(\"public\")\n}\n\nmodel Feedback {\n id String @id @default(uuid())\n interview_id String\n order_no Int\n\n ai_feedback Json?\n human_feedback Json?\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nenum FitCheckStatus {\n RECOMMENDED\n TO_REVIEW\n NOT_RECOMMENDED\n\n @@schema(\"public\")\n}\n\nmodel FitCheck {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// FK to organisations table\n organisation_id String?\n candidate_id String?\n resume_id String\n job_description_id String\n\n /// Old Fields will be deprecated soon\n skills_match String[]\n responsibilities_match String[]\n responsibilities_score Float?\n experience_match String[]\n experience_score Float?\n organisation_value_score Float?\n organisation_value_match String[]\n qualifications_match String[]\n qualifications_score Float?\n fit Json[]\n fit_check_status FitCheckStatus?\n // Fields to be used now\n skills_analysis Json?\n overall_analysis Json?\n skills_score Float?\n overall_score Float\n short_match_analysis Json[]\n fit_comparison Json?\n recommendation Json?\n // New Fields needs to be changed now\n candidate_analysis Json[]\n technical_analysis Json[]\n competency_analysis Json[]\n\n /// Audit fields\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Timestamps\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application?\n\n /// Ensure one FitCheck per (resume_id, job_description_id) pair\n @@unique([resume_id, job_description_id])\n @@index([resume_id])\n @@schema(\"public\")\n}\n\nmodel Google {\n id String @id @default(uuid())\n user_id String @unique\n\n google_email String\n refresh_token String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nenum HiringPlanStatus {\n DRAFT\n ACTIVE\n CLOSED\n\n @@schema(\"public\")\n}\n\nenum PeriodType {\n ANNUAL\n\n @@schema(\"public\")\n}\n\nenum EmployeeStatus {\n ACTIVE\n ATTRITION_EXPECTED\n DEPARTED\n\n @@schema(\"public\")\n}\n\nenum AttritionRisk {\n LOW\n MEDIUM\n HIGH\n\n @@schema(\"public\")\n}\n\nenum ReviewRating {\n OUTSTANDING\n EXCEEDS_EXPECTATIONS\n MEETS_EXPECTATIONS\n NEEDS_IMPROVEMENT\n UNSATISFACTORY\n\n @@schema(\"public\")\n}\n\nenum PlannedCandidateStatus {\n IDENTIFIED\n IN_PIPELINE\n OFFER\n SELECTED\n DECLINED\n\n @@schema(\"public\")\n}\n\n/// Org-level annual hiring plan (CHRO budgeting).\nmodel HiringPlan {\n id String @id @default(uuid())\n organisation_id String\n fiscal_year Int\n period_type PeriodType @default(ANNUAL)\n currency String @default(\"INR\")\n status HiringPlanStatus @default(DRAFT)\n total_headcount_budget Int?\n total_cost_budget Decimal? @db.Decimal(18, 2)\n /// Workbook assumptions (multipliers, inflation, fiscal start month, etc.).\n assumptions Json?\n notes String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n lines HiringPlanLine[]\n sections HiringPlanSection[]\n\n @@unique([organisation_id, fiscal_year])\n @@index([organisation_id])\n @@index([status])\n @@schema(\"public\")\n}\n\n/// One allocation row: dimensions + planned headcount + monthly phasing inputs.\nmodel HiringPlanLine {\n id String @id @default(uuid())\n hiring_plan_id String\n /// Owning department (grouping + section ownership). Legacy `business_unit` is\n /// kept for back-compat and populated from Department.name for a while.\n department_id String?\n business_unit String?\n level String?\n location String?\n role String?\n planned_headcount Int @default(1)\n /// Fully-loaded annual run-rate cost per hire (not in-year cost).\n cost_per_hire Decimal @db.Decimal(18, 2)\n /// Fiscal month 1–12 when hires start (used when hire_schedule is null).\n start_month Int @default(1)\n /// Optional staggered starts: { \"1\": 2, \"4\": 2 } (fiscal-month → count).\n hire_schedule Json?\n /// Display order within a business unit (lower first).\n sort_order Int @default(0)\n /// Reference/template JD for this role (definition).\n job_description_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n hiring_plan HiringPlan @relation(fields: [hiring_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department? @relation(fields: [department_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription? @relation(\"PlanLineTemplateJd\", fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n requisitions JobDescription[] @relation(\"PlanLineRequisitions\")\n budgets Budget[]\n planned_candidates PlannedCandidate[]\n backfill_from_employees Employee[] @relation(\"EmployeeBackfillLine\")\n\n @@index([hiring_plan_id])\n @@index([department_id])\n @@index([job_description_id])\n @@index([business_unit, level, location, role])\n @@schema(\"public\")\n}\n\n/// Existing workforce roster (manual / CSV). Baseline for net-new vs backfill.\nmodel Employee {\n id String @id @default(uuid())\n organisation_id String\n /// Owning department (Department.name mirrors legacy business_unit for back-compat).\n department_id String?\n employee_code String?\n name String?\n email String?\n gender String?\n business_unit String?\n level String?\n location String?\n role String?\n employment_type JobType?\n starting_designation String?\n current_designation String?\n start_date DateTime?\n starting_salary Decimal? @db.Decimal(18, 2)\n /// Comp immediately before the latest raise (or prior cycle). Optional.\n previous_salary Decimal? @db.Decimal(18, 2)\n current_comp Decimal @db.Decimal(18, 2)\n currency String @default(\"INR\")\n last_increment_date DateTime?\n last_increment_amount Decimal? @db.Decimal(18, 2)\n last_increment_pct Decimal? @db.Decimal(8, 4)\n last_review_date DateTime?\n last_review_rating ReviewRating?\n last_feedback_date DateTime?\n last_feedback_summary String?\n status EmployeeStatus @default(ACTIVE)\n attrition_risk AttritionRisk?\n expected_exit_date DateTime?\n backfill_plan_line_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department? @relation(fields: [department_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n backfill_plan_line HiringPlanLine? @relation(\"EmployeeBackfillLine\", fields: [backfill_plan_line_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([organisation_id, employee_code])\n @@index([organisation_id])\n @@index([department_id])\n @@index([status])\n @@index([business_unit, level, location, role])\n @@index([backfill_plan_line_id])\n @@schema(\"public\")\n}\n\n/// Tentative candidate attached to a plan line (ATS CandidateProfile or free-text).\nmodel PlannedCandidate {\n id String @id @default(uuid())\n hiring_plan_line_id String\n candidate_profile_id String?\n name String?\n status PlannedCandidateStatus @default(IDENTIFIED)\n note String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n hiring_plan_line HiringPlanLine @relation(fields: [hiring_plan_line_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate_profile CandidateProfile? @relation(fields: [candidate_profile_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@index([hiring_plan_line_id])\n @@index([candidate_profile_id])\n @@index([status])\n @@schema(\"public\")\n}\n\nenum IntegrationProvider {\n NAUKRI\n ZOHO_RECRUIT\n LINKEDIN\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n\n @@schema(\"public\")\n}\n\nenum IntegrationAuthType {\n OAUTH2\n API_KEY\n SSO\n\n @@schema(\"public\")\n}\n\nenum SyncDirection {\n PUSH\n PULL\n BIDIRECTIONAL\n\n @@schema(\"public\")\n}\n\nenum SyncEntityType {\n CANDIDATE\n JOB_OPENING\n INTERVIEW\n APPLICATION\n\n @@schema(\"public\")\n}\n\nenum SyncStatus {\n SYNCED\n PENDING\n FAILED\n\n @@schema(\"public\")\n}\n\nmodel IntegrationCredential {\n id String @id @default(uuid())\n organisation_id String?\n provider IntegrationProvider\n auth_type IntegrationAuthType\n access_token String?\n refresh_token String?\n token_expires_at DateTime?\n api_key String?\n api_secret String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, provider])\n @@index([provider])\n @@schema(\"public\")\n}\n\nmodel IntegrationJobSync {\n id String @id @default(uuid())\n job_description_id String\n provider IntegrationProvider\n external_id String?\n sync_enabled Boolean @default(true)\n last_synced_at DateTime?\n sync_direction SyncDirection @default(PUSH)\n metadata Json @default(\"{}\")\n\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, provider])\n @@index([provider])\n @@schema(\"public\")\n}\n\nmodel ZohoSyncMapping {\n id String @id @default(uuid())\n organisation_id String\n entity_type SyncEntityType\n treadspace_id String\n zoho_module String\n zoho_record_id String\n last_synced_at DateTime @default(now())\n sync_status SyncStatus @default(PENDING)\n error_message String?\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, entity_type, treadspace_id])\n @@index([zoho_record_id])\n @@index([sync_status])\n @@schema(\"public\")\n}\n\nenum InterviewStatus {\n INTERVIEW_REQUESTED\n SCHEDULED\n IN_PROGRESS\n CANCELLED\n NO_SHOW // Candidate or interviewer failed to appear\n EVALUATION_PENDING // Waiting for feedback or evaluation\n EVALUATED // Feedback completed and locked\n\n @@schema(\"public\")\n}\n\nenum InterviewFeedback {\n STRONG_HIRE\n HIRE\n NO_HIRE\n STRONG_NO_HIRE\n\n @@schema(\"public\")\n}\n\nenum InterviewPlatform {\n TREADSPACE\n ZOOM\n\n @@schema(\"public\")\n}\n\nenum AiAssistanceMode {\n NONE\n ASSISTED\n\n @@schema(\"public\")\n}\n\nmodel Interview {\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n candidate_id String\n interviewer_id String?\n evaluation_plan_id String\n application_id String?\n resume_id String\n job_description_id String\n calendar_event_id String?\n /// Data\n room_name String?\n interview_summary String[]\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Interview length in minutes (source of truth; not derived from schedule window).\n duration Int?\n /// @deprecated Prefer `recording_document_id` + `Document` (type INTERVIEW_RECORDING).\n recording_url String?\n recording_document_id String? @unique\n evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)\n ai_assistance_mode AiAssistanceMode? @default(ASSISTED)\n interview_status InterviewStatus @default(SCHEDULED)\n interview_platform InterviewPlatform @default(TREADSPACE)\n /// Old Feedback fields will be deprecated soon\n ai_interview_feedback InterviewFeedback?\n interview_feedback InterviewFeedback?\n overall_feedback String?\n interview_rating Float? // Overall rating out of 100 based on evaluation\n /// New Feedback fields\n ai_feedback Json?\n human_feedback Json?\n interviewer_feedback Json?\n section_feedback Json[]\n interview_preparation Json?\n final_feedback Json?\n interview_analysis_ranges Json?\n interview_flow_summary String?\n /// When Orion AI feedback was last persisted on this interview.\n ai_feedback_generated_at DateTime?\n /// When recruiter human feedback was last saved (draft or final).\n human_feedback_updated_at DateTime?\n /// When final human feedback was submitted.\n evaluated_at DateTime?\n\n /// Self-scheduling\n reschedule_count Int @default(0)\n last_rescheduled_at DateTime?\n first_assigned_at DateTime?\n /// True while the candidate is waiting on recruiter action (typically a\n /// reassign) after they submitted alternate slots via \"None match\" /\n /// \"Suggest times\". Cleared whenever the recruiter routes a fresh\n /// request via `upsertInterviewRequestRecord`.\n awaiting_recruiter_action Boolean @default(false)\n\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateInterviews\", fields: [candidate_id], references: [id], onDelete: SetNull)\n interviewer User? @relation(\"InterviewerInterviews\", fields: [interviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation?\n transcripts Transcript[]\n suggestions Suggestion[]\n feedback Feedback[]\n interviewNotes InterviewNotes[]\n liveAnalysis LiveAnalysis[]\n zoom_meeting ZoomMeeting?\n\n // Indexes\n @@unique([interviewer_id, candidate_id, evaluation_plan_id])\n @@index([candidate_id])\n @@index([interviewer_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel InterviewNotes {\n id String @id @default(uuid())\n interview_id String\n note String\n details Json?\n timestamp DateTime @default(now())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nenum InterviewRecommendation {\n ACCEPTED\n REJECTED\n UNSURE\n\n @@schema(\"analytics\")\n}\n\nmodel InterviewRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n interview_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n interviewer_id String?\n interviewer_employee_id String?\n interviewer_name String?\n\n candidate_name String?\n candidate_email String?\n\n evaluation_type EvaluationType?\n ai_assistance_mode AiAssistanceMode?\n interview_platform InterviewPlatform?\n interview_status InterviewStatus?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n evaluated_at DateTime?\n first_assigned_at DateTime?\n duration_minutes Int?\n\n human_rating String?\n ai_rating String?\n recommendation InterviewRecommendation?\n ai_disagrees_with_ai Boolean?\n\n difficulty_score Float?\n supportiveness_score Float?\n topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, interviewer_id, evaluated_at])\n @@index([job_description_id])\n @@index([application_id])\n @@index([organisation_id, hiring_manager_id])\n @@map(\"interview_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n interview_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n interviewer_id String?\n interviewer_employee_id String?\n interviewer_name String?\n\n candidate_name String?\n candidate_email String?\n\n evaluation_type EvaluationType?\n ai_assistance_mode AiAssistanceMode?\n interview_platform InterviewPlatform?\n interview_status InterviewStatus?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n evaluated_at DateTime?\n first_assigned_at DateTime?\n duration_minutes Int?\n\n human_rating String?\n ai_rating String?\n recommendation InterviewRecommendation?\n ai_disagrees_with_ai Boolean?\n\n difficulty_score Float?\n supportiveness_score Float?\n topics_coverage_percent Float?\n\n @@unique([snapshot_date, interview_id])\n @@index([snapshot_date], map: \"irad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"irad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, interviewer_id], map: \"irad_snapshot_org_interviewer_idx\")\n @@index([snapshot_date, job_description_id], map: \"irad_snapshot_job_idx\")\n @@index([snapshot_date, organisation_id, evaluated_at], map: \"irad_snapshot_org_evaluated_idx\")\n @@map(\"interview_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerOrganisationAnalytics {\n id String @id @default(uuid())\n organisation_id String\n user_id String\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, user_id])\n @@index([organisation_id])\n @@index([organisation_id, user_id])\n @@map(\"interviewer_organisation_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n user_id String\n job_description_id String\n\n hiring_manager_id String?\n department String?\n location String?\n role_title String?\n job_code String?\n opened_at DateTime?\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, user_id, job_description_id])\n @@index([organisation_id, job_description_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, department])\n @@index([organisation_id, location])\n @@index([organisation_id, user_id])\n @@map(\"interviewer_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerOrganisationAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n user_id String\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n @@unique([snapshot_date, organisation_id, user_id])\n @@index([snapshot_date], map: \"ioad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"ioad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, user_id], map: \"ioad_snapshot_org_user_idx\")\n @@map(\"interviewer_organisation_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerJobAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n user_id String\n job_description_id String\n\n hiring_manager_id String?\n department String?\n location String?\n role_title String?\n job_code String?\n opened_at DateTime?\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n @@unique([snapshot_date, organisation_id, user_id, job_description_id])\n @@index([snapshot_date], map: \"ijad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id, job_description_id], map: \"ijad_snapshot_org_job_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"ijad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, department], map: \"ijad_snapshot_org_dept_idx\")\n @@index([snapshot_date, organisation_id, location], map: \"ijad_snapshot_org_loc_idx\")\n @@index([snapshot_date, organisation_id, user_id], map: \"ijad_snapshot_org_user_idx\")\n @@map(\"interviewer_job_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum JobApplicationFieldType {\n TEXT\n NUMBER\n DATE\n BOOLEAN\n MULTI_SELECT\n FILE\n DROP_DOWN\n\n @@schema(\"public\")\n}\n\nmodel JobApplicationField {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n template_id String\n /// Data fields\n field_type JobApplicationFieldType\n label String\n description String?\n is_mandatory Boolean @default(false)\n is_draft Boolean @default(true)\n options String[]\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_template JobApplicationTemplate @relation(fields: [template_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_responses JobApplicationResponse[]\n\n /// Indexes\n @@index([organisation_id, template_id])\n @@schema(\"public\")\n}\n\nmodel JobApplicationResponse {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n application_id String\n job_application_field_id String?\n document_id String?\n /// Answer payload\n response Json?\n /// Denormalized question snapshot (immutable on candidate save)\n field_type JobApplicationFieldType?\n label String?\n description String?\n is_mandatory Boolean?\n is_draft Boolean?\n is_submitted Boolean @default(false)\n options String[]\n updated_by_organisation Boolean @default(false)\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n field JobApplicationField? @relation(fields: [job_application_field_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n document Document? @relation(fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n /// Partial unique on (application_id, job_application_field_id) WHERE job_application_field_id IS NOT NULL — see migration SQL\n @@index([application_id])\n @@index([job_application_field_id])\n @@schema(\"public\")\n}\n\nenum JobApplicationTemplateScope {\n ORGANIZATION\n JOB\n\n @@schema(\"public\")\n}\n\nmodel JobApplicationTemplate {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n job_description_id String? @unique\n /// Data fields\n name String\n description String?\n scope JobApplicationTemplateScope @default(ORGANIZATION)\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fields JobApplicationField[]\n\n /// Indexes\n @@index([organisation_id, scope])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nenum JobDescriptionStatus {\n CREATED\n DRAFT\n ACTIVE\n DEACTIVATED\n CLOSED\n\n @@schema(\"public\")\n}\n\nmodel JobDescription {\n id String @id @default(uuid())\n organisation_id String\n /// Owning department (visibility scope for DepartmentHead; optional).\n department_id String?\n hiring_manager_id String?\n status JobDescriptionStatus @default(DRAFT)\n screeningQuestions String[]\n recommendedQuestions Json[]\n /// @deprecated Prefer `source_document_id` + `Document` (type JOB_DESCRIPTION).\n uploaded_job_description_path String?\n source_document_id String? @unique\n rendered_jd_document_id String? @unique\n rendered_jd_document Document? @relation(\"RenderedJdDocument\", fields: [rendered_jd_document_id], references: [id], onDelete: SetNull)\n display_html_document_id String? @unique\n display_html_document Document? @relation(\"DisplayHtmlDocument\", fields: [display_html_document_id], references: [id], onDelete: SetNull)\n is_plan_published Boolean @default(false)\n is_posted Boolean @default(false)\n summary Json?\n ai_insight Json?\n job_fit_comparison Json?\n target_closing_date DateTime?\n closing_date DateTime?\n opened_at DateTime?\n\n job_number Int?\n job_code String? @unique\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n openings Int @default(1)\n job_profile_id String?\n job_profile JobProfile? @relation(fields: [job_profile_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department? @relation(fields: [department_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n source_document Document? @relation(\"SourceDocument\", fields: [source_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n job_description_data JobDescriptionData[] // one-to-many link\n evaluationPlan EvaluationPlan[] // relation to evaluation methods\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n assignment_library AssignmentLibrary[]\n approvals Approval[] // one-to-many relation\n resumes Resume[] // one-to-many link\n budget Budget?\n hiring_manager User? @relation(\"HiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n recruiters User[]\n transcripts Transcript[]\n integration_job_syncs IntegrationJobSync[]\n job_application_template JobApplicationTemplate?\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n /// Plan line this opening is committed against (requisition → plan).\n hiring_plan_line_id String?\n hiring_plan_line HiringPlanLine? @relation(\"PlanLineRequisitions\", fields: [hiring_plan_line_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n /// Plan lines that use this JD as the role template/reference.\n referenced_by_plan_lines HiringPlanLine[] @relation(\"PlanLineTemplateJd\")\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([job_profile_id])\n @@index([hiring_plan_line_id])\n @@index([department_id])\n @@schema(\"public\")\n}\n\nmodel JobDescriptionData {\n id String @id @default(uuid())\n job_description_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([job_description_id, key])\n @@schema(\"public\")\n}\n\nenum JobProfileStatus {\n DRAFT\n INTAKE_SENT\n INTAKE_IN_PROGRESS\n COMPLETE\n\n @@schema(\"public\")\n}\n\nmodel JobProfile {\n id String @id @default(uuid())\n organisation_id String\n hiring_manager_id String?\n created_by String\n assigned_to String?\n status JobProfileStatus @default(DRAFT)\n\n // Basics\n title String?\n role_type String? // new / replacement / backfill\n work_arrangement String? // onsite / hybrid / remote\n employment_type String? // full_time / part_time / contract / internship\n location String?\n experience String?\n experience_min String?\n comp_range String?\n budget String?\n\n // Requirements (structured from AI conversation)\n responsibilities Json?\n must_have_skills Json?\n nice_to_have_skills Json?\n culture Json?\n\n // Competencies\n competencies Json?\n\n // Conversation state\n conversation_history Json?\n orion_execution_id String?\n\n // Audit\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n // Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n hiring_manager User? @relation(\"JobProfileHiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n creator User @relation(\"ProfileCreator\", fields: [created_by], references: [id], onDelete: Restrict, onUpdate: Cascade)\n assignee User? @relation(\"ProfileAssignee\", fields: [assigned_to], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_descriptions JobDescription[]\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([assigned_to])\n @@index([created_by])\n @@schema(\"public\")\n}\n\nmodel JobRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_name String\n\n evaluation_category EvaluationCategory?\n\n job_code String?\n\n role_title String?\n\n hiring_manager_id String?\n\n plan_order_no Int?\n\n plan_type EvaluationPlanType?\n\n is_custom Boolean @default(false)\n\n assigned_count Int @default(0)\n\n completed_count Int @default(0)\n\n passed_count Int @default(0)\n\n failed_count Int @default(0)\n\n withdrawn_count Int @default(0)\n\n no_show_count Int @default(0)\n\n total_completion_minutes BigInt @default(0)\n\n avg_completion_minutes Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, evaluation_plan_id])\n @@index([organisation_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([job_description_id])\n @@schema(\"analytics\")\n}\n\nmodel JobRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_name String\n\n evaluation_category EvaluationCategory?\n\n job_code String?\n\n role_title String?\n\n hiring_manager_id String?\n\n plan_order_no Int?\n\n plan_type EvaluationPlanType?\n\n is_custom Boolean @default(false)\n\n assigned_count Int @default(0)\n\n completed_count Int @default(0)\n\n passed_count Int @default(0)\n\n failed_count Int @default(0)\n\n withdrawn_count Int @default(0)\n\n no_show_count Int @default(0)\n\n total_completion_minutes BigInt @default(0)\n\n avg_completion_minutes Float?\n\n @@unique([snapshot_date, job_description_id, evaluation_plan_id])\n @@index([snapshot_date], map: \"jrad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"jrad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"jrad_snapshot_org_hm_idx\")\n @@index([snapshot_date, job_description_id], map: \"jrad_snapshot_job_idx\")\n @@map(\"job_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel LiveAnalysis {\n id String @id @default(uuid())\n //foreign keys\n interview_id String\n //data\n analysis Json\n //audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n //relations\n interview Interview @relation(fields: [interview_id], references: [id])\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nmodel Message {\n id String @id @default(uuid())\n sender_id String\n receiver_id String\n message String\n\n sender User @relation(\"Sent Messages\", fields: [sender_id], references: [id])\n receiver User @relation(\"Received Messages\", fields: [receiver_id], references: [id])\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel Notes {\n id String @id @default(uuid())\n application_id String\n user_id String\n note String\n pinned Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id, created_at])\n @@index([user_id, created_at])\n @@schema(\"public\")\n}\n\nenum OngoingEvaluationState {\n NOT_STARTED\n IN_PROGRESS\n CLEARED\n SKIPPED\n NOT_CLEARED\n\n @@schema(\"public\")\n}\n\nenum OngoingEvaluationRoundStatus {\n NOT_SCHEDULED\n REQUESTED_SCHEDULING\n SCHEDULED\n IN_PROGRESS\n PENDING_EVALUATION\n EVALUATED\n\n @@schema(\"public\")\n}\n\nmodel OngoingEvaluation {\n // Primary Key\n id String @id @default(uuid())\n // Foreign Keys \n organisation_id String\n application_id String\n candidate_id String\n resume_id String\n job_description_id String\n evaluation_plan_id String\n interview_id String? @unique\n assignment_id String? @unique\n assessment_id String? @unique\n // Data Fields\n state OngoingEvaluationState? @default(NOT_STARTED)\n round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)\n comments String? @default(\"\")\n completed_at DateTime?\n assigned_at DateTime?\n result_at DateTime?\n is_committed Boolean?\n /// Evaluation Plan Fields Filled After Round Started\n title String?\n description String?\n order_no Int?\n format EvaluationRoundFormat?\n round_purpose String?\n focus_areas String[]\n topics String[]\n assignee String?\n elimination_round Boolean? @default(false)\n evaluation_type EvaluationType?\n type_of_round RoundType?\n duration Int?\n deadline Int?\n duration_unit DurationUnit?\n details Json?\n category EvaluationCategory?\n // Audit Fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_current Boolean @default(false)\n // Relations\n jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n assignment Assignment?\n assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n\n @@unique([application_id, evaluation_plan_id])\n @@index([application_id])\n @@index([evaluation_plan_id])\n @@schema(\"public\")\n}\n\nmodel OpenJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n role_title String?\n department String?\n hiring_manager_id String?\n hiring_manager_name String?\n location String?\n compensation String?\n vacancies Int @default(1)\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n application_count Int @default(0)\n unscreened_count Int @default(0)\n ongoing_count Int @default(0)\n selected_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n withdrawn_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, is_open])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, opened_at])\n @@index([organisation_id, job_number])\n @@index([organisation_id, is_open, closure_type, closing_date])\n @@index([job_description_id])\n @@map(\"open_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel OpenJobAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n\n job_code String?\n job_number Int?\n role_title String?\n department String?\n hiring_manager_id String?\n hiring_manager_name String?\n location String?\n compensation String?\n vacancies Int @default(1)\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n application_count Int @default(0)\n unscreened_count Int @default(0)\n ongoing_count Int @default(0)\n selected_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n withdrawn_count Int @default(0)\n\n @@unique([snapshot_date, job_description_id])\n @@index([snapshot_date], map: \"ojad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id, is_open], map: \"ojad_snapshot_org_open_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"ojad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, opened_at], map: \"ojad_snapshot_org_opened_idx\")\n @@index([snapshot_date, organisation_id, job_number], map: \"ojad_snapshot_org_job_num_idx\")\n @@index([snapshot_date, job_description_id], map: \"ojad_snapshot_job_idx\")\n @@map(\"open_job_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum OrganisationSize {\n ONE_TO_TEN @map(\"1-10\")\n ELEVEN_TO_FIFTY @map(\"11-50\")\n FIFTY_ONE_TO_TWO_HUNDRED @map(\"51-200\")\n TWO_HUNDRED_ONE_TO_FIVE_HUNDRED @map(\"201-500\")\n FIVE_HUNDRED_PLUS @map(\"500+\")\n\n @@schema(\"public\")\n}\n\nmodel Organisation {\n id String @id @default(uuid())\n name String @unique\n industry String\n about String\n website String\n size OrganisationSize @default(ONE_TO_TEN)\n phone String\n address String\n company_values Json[]\n allowed_email_domains String[]\n send_email Boolean @default(true)\n interviewers User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n alias String? @unique\n logo String?\n job_sequence Int @default(1)\n employee_sequence Int @default(1)\n applications Application[]\n user_roles UserRole[]\n job_descriptions JobDescription[]\n job_profiles JobProfile[]\n assessment_library AssessmentLibrary[]\n assignment_library AssignmentLibrary[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n resumes Resume[] // one-to-many link\n approvals Approval[] // one-to-many link\n suggestions Suggestion[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actions Action[]\n integration_credentials IntegrationCredential[]\n zoho_sync_mappings ZohoSyncMapping[]\n assessments Assessment[]\n timezone String @default(\"Asia/Kolkata\")\n organisation_configs OrganisationConfig[]\n activity_events ActivityEvent[]\n\n channel_provider_configs ChannelProviderConfig[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n job_application_fields JobApplicationField[]\n documents Document[]\n job_application_templates JobApplicationTemplate[]\n sources Source[]\n evaluation_criteria EvaluationCriteria[]\n departments Department[]\n hiring_plans HiringPlan[]\n employees Employee[]\n\n @@index([name])\n @@schema(\"public\")\n}\n\nmodel OrganisationConfig {\n id String @id @default(uuid())\n organisation_id String\n config_key String\n value Json\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([organisation_id, config_key])\n @@map(\"organisationConfig\")\n @@schema(\"public\")\n}\n\nmodel Permission {\n id String @id @default(uuid())\n permissions String[] @default([])\n created_by String?\n updated_by String?\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n user User?\n user_roles UserRole?\n\n @@index([created_at])\n @@schema(\"public\")\n}\n\nmodel PipelineDistributionAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n application_count Int @default(0)\n filtered_in_count Int @default(0)\n min_fit_score Float?\n\n screening_count Int @default(0)\n business_screening_count Int @default(0)\n business_round_count Int @default(0)\n behavioral_round_count Int @default(0)\n\n shortlisted_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, job_number])\n @@index([job_description_id])\n @@map(\"pipeline_distribution_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel PipelineDistributionAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n application_count Int @default(0)\n filtered_in_count Int @default(0)\n min_fit_score Float?\n\n screening_count Int @default(0)\n business_screening_count Int @default(0)\n business_round_count Int @default(0)\n behavioral_round_count Int @default(0)\n\n shortlisted_count Int @default(0)\n\n @@unique([snapshot_date, job_description_id])\n @@index([snapshot_date], map: \"pdad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"pdad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"pdad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, job_number], map: \"pdad_snapshot_org_job_num_idx\")\n @@index([snapshot_date, job_description_id], map: \"pdad_snapshot_job_idx\")\n @@map(\"pipeline_distribution_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AsyncOperationStatus {\n PENDING\n IN_PROGRESS\n SUCCESS\n FAILED\n RETRYING\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel AsyncOperation {\n id String @id @default(uuid())\n // Identification\n operation_name String\n // Status tracking\n status AsyncOperationStatus @default(PENDING)\n started_at DateTime?\n completed_at DateTime?\n // Execution metadata\n payload Json?\n metadata Json?\n // Tracing\n correlationId String?\n sourceService String?\n // Retry information\n retry_count Int @default(0)\n max_retries Int @default(0)\n next_retry_at DateTime?\n // Error information\n error_message String?\n error_details String?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@index([status])\n @@index([operation_name])\n @@index([correlationId])\n @@schema(\"public\")\n}\n\nenum Difficulty {\n EASY // simple/basic questions\n MEDIUM // moderate difficulty\n HARD // challenging questions\n\n @@schema(\"public\")\n}\n\nmodel Question {\n id String @id @default(uuid())\n assessment_library_id String?\n evaluation_plan_id String?\n candidate_id String?\n skill String?\n question String\n answer String\n options String[] // For MCQ's\n max_score Float?\n difficulty Difficulty?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull)\n assessments AssessmentQuestion[] @relation(\"QuestionToAssessmentQuestion\")\n assessmentLibrary AssessmentLibrary? @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade)\n evaluationPlan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull)\n candidateResponse CandidateQuestionResponse[]\n\n @@schema(\"public\")\n}\n\nmodel RefreshToken {\n id String @id @default(uuid())\n user_id String\n token String @unique\n is_active Boolean @default(true)\n expires_at DateTime\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n user User @relation(\"TokenRefresh\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@schema(\"public\")\n}\n\nenum OpenJobClosureType {\n FILLED\n CANCELLED\n\n @@schema(\"analytics\")\n}\n\nmodel ReportingOverviewJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n hiring_manager_id String?\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n in_consideration_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n recruiters ReportingOverviewJobRecruiter[]\n\n @@index([organisation_id, is_open])\n @@index([organisation_id, hiring_manager_id, is_open])\n @@index([organisation_id, closing_date, closure_type])\n @@map(\"reporting_overview_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel ReportingOverviewJobRecruiter {\n id String @id @default(uuid())\n job_description_id String\n recruiter_user_id String\n\n job ReportingOverviewJobAnalytics @relation(fields: [job_description_id], references: [job_description_id], onDelete: Cascade)\n\n @@unique([job_description_id, recruiter_user_id])\n @@index([recruiter_user_id])\n @@map(\"reporting_overview_job_recruiters\")\n @@schema(\"analytics\")\n}\n\nmodel Resume {\n id String @id @default(uuid())\n user_id String?\n organisation_id String?\n job_description_id String?\n /// @deprecated Prefer `document_id` + `Document`. Kept until backfill completes.\n uploaded_resume_path String?\n document_id String? @unique\n /// Latest ATS template export (PDF). Null until first successful export.\n rendered_export_document_id String? @unique\n /// Last chosen ATS layout template id (e.g. ats-classic). Set on first export.\n resume_template_id String?\n /// @deprecated Prefer `Document.file_hash`. Kept for legacy read fallback.\n file_hash String?\n summary Json?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n name String?\n user User? @relation(fields: [user_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n document Document? @relation(\"ResumeSourceDocument\", fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n rendered_export_document Document? @relation(\"RenderedResumeExport\", fields: [rendered_export_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n\n resume_data ResumeData[] // one-to-many link\n fit_check FitCheck[] // one-to-many link\n // inverse side of the relation — no foreign key here\n candidate_profile CandidateProfile? // one-to-one link\n yearsOfExperience Int?\n\n @@index([user_id])\n @@index([file_hash])\n @@schema(\"public\")\n}\n\nmodel ResumeData {\n id String @id @default(uuid())\n resume_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([created_at])\n @@schema(\"public\")\n}\n\nenum RoundResult {\n PASSED\n FAILED\n\n @@schema(\"analytics\")\n}\n\nmodel RoundAnalytics {\n id String @id @default(uuid())\n\n // Core Dimensions\n organisation_id String\n\n application_id String\n\n candidate_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_id String @unique\n\n // Round Information\n round_name String?\n\n evaluation_category EvaluationCategory?\n\n round_type RoundType?\n\n // Lifecycle Timestamps\n assigned_at DateTime?\n\n scheduled_at DateTime?\n\n started_at DateTime?\n\n completed_at DateTime?\n\n evaluated_at DateTime?\n\n round_completed_at DateTime?\n round_created_at DateTime?\n\n // Decision\n round_result RoundResult?\n\n round_result_at DateTime?\n\n // Derived Metrics\n scheduling_duration_minutes Int?\n\n round_duration_minutes Int?\n\n feedback_duration_minutes Int?\n\n decision_duration_minutes Int?\n\n total_round_duration_minutes Int?\n\n is_custom Boolean @default(false)\n\n // Audit\n created_at DateTime @default(now())\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id])\n @@index([job_description_id])\n @@index([application_id])\n @@index([candidate_id])\n @@index([evaluation_category])\n @@index([round_result])\n @@map(\"round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel RoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n // Core Dimensions\n organisation_id String\n\n application_id String\n\n candidate_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_id String\n\n // Round Information\n round_name String?\n\n evaluation_category EvaluationCategory?\n\n round_type RoundType?\n\n // Lifecycle Timestamps\n assigned_at DateTime?\n\n scheduled_at DateTime?\n\n started_at DateTime?\n\n completed_at DateTime?\n\n evaluated_at DateTime?\n\n round_completed_at DateTime?\n round_created_at DateTime?\n\n // Decision\n round_result RoundResult?\n\n round_result_at DateTime?\n\n // Derived Metrics\n scheduling_duration_minutes Int?\n\n round_duration_minutes Int?\n\n feedback_duration_minutes Int?\n\n decision_duration_minutes Int?\n\n total_round_duration_minutes Int?\n\n is_custom Boolean @default(false)\n\n @@unique([snapshot_date, round_id])\n @@index([snapshot_date], map: \"rad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"rad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"rad_snapshot_job_idx\")\n @@index([snapshot_date, application_id], map: \"rad_snapshot_app_idx\")\n @@index([snapshot_date, candidate_id], map: \"rad_snapshot_candidate_idx\")\n @@index([snapshot_date, evaluation_category], map: \"rad_snapshot_eval_cat_idx\")\n @@index([snapshot_date, round_result], map: \"rad_snapshot_round_result_idx\")\n @@map(\"round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\n// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../../client\"\n binaryTargets = [\"native\", \"linux-arm64-openssl-1.1.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n\n schemas = [\"public\", \"analytics\"]\n}\n\nenum SourceCategory {\n JOB_BOARD\n REFERRAL\n AGENCY\n SOCIAL_MEDIA\n CAREERS_PAGE\n EVENT\n OTHER\n\n @@schema(\"public\")\n}\n\nmodel Source {\n id String @id @default(uuid())\n organisation_id String\n name String\n category SourceCategory?\n parent_source_id String?\n colour String?\n description String?\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n parent Source? @relation(\"SourceHierarchy\", fields: [parent_source_id], references: [id], onDelete: SetNull)\n children Source[] @relation(\"SourceHierarchy\")\n applications Application[]\n\n @@unique([organisation_id, name])\n @@index([organisation_id])\n @@index([organisation_id, category])\n @@index([organisation_id, is_active])\n @@index([parent_source_id])\n @@schema(\"public\")\n}\n\nmodel SourceEffectivenessAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String\n source_id String\n\n source_name String\n source_category SourceCategory?\n source_colour String?\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n applications_count Int @default(0)\n screened_count Int @default(0)\n evaluated_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n shortlisted_count Int @default(0)\n offered_count Int @default(0)\n offer_accepted_count Int @default(0)\n offer_declined_count Int @default(0)\n withdrawn_count Int @default(0)\n hired_count Int @default(0)\n\n total_fit_score Float @default(0)\n fit_score_sample_count Int @default(0)\n average_fit_score Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, job_description_id, source_id])\n @@index([organisation_id])\n @@index([organisation_id, source_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([job_description_id])\n @@map(\"source_effectiveness_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel SourceEffectivenessAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n source_id String\n\n source_name String\n source_category SourceCategory?\n source_colour String?\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n applications_count Int @default(0)\n screened_count Int @default(0)\n evaluated_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n shortlisted_count Int @default(0)\n offered_count Int @default(0)\n offer_accepted_count Int @default(0)\n offer_declined_count Int @default(0)\n withdrawn_count Int @default(0)\n hired_count Int @default(0)\n\n total_fit_score Float @default(0)\n fit_score_sample_count Int @default(0)\n average_fit_score Float?\n\n @@unique([snapshot_date, organisation_id, job_description_id, source_id])\n @@index([snapshot_date], map: \"sead_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"sead_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, source_id], map: \"sead_snapshot_org_source_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"sead_snapshot_org_hm_idx\")\n @@index([snapshot_date, job_description_id], map: \"sead_snapshot_job_idx\")\n @@map(\"source_effectiveness_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel Suggestion {\n id String @id @default(uuid())\n interview_id String?\n transcript_id String? @unique // ✅ ensures one-to-one\n organisation_id String\n suggestion String?\n question String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull)\n transcripts Transcript[]\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nmodel Transcript {\n id String @id @default(uuid())\n interview_id String?\n suggestion_id String?\n intermediate_feedback_id String?\n job_description_id String?\n interviewer_timestamp DateTime?\n candidate_timestamp DateTime?\n interviewer String\n candidate String\n order_no Int @default(autoincrement())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: SetNull)\n suggestion Suggestion? @relation(fields: [suggestion_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nenum FirstLoginStatus {\n PENDING\n COMPLETED\n\n @@schema(\"public\")\n}\n\nenum UserInvitationStatus {\n INVITED\n ACCEPTED\n EXPIRED\n\n @@schema(\"public\")\n}\n\nmodel User {\n id String @id @default(uuid())\n email String @unique\n password String\n role_id String\n role UserRole @relation(fields: [role_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n organisation_id String?\n // Back-relations are defined from Resume side via user_id\n google_id String? @unique\n refresh_token String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_self_registered Boolean @default(true)\n permission_id String? @unique\n preferences Json? @default(\"{}\")\n invitation_status UserInvitationStatus @default(INVITED)\n invited_at DateTime? @default(now())\n invitation_expires_at DateTime?\n invitation_accepted_at DateTime?\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n resume Resume[]\n candidate_profile CandidateProfile?\n user_profile UserProfile?\n job_description JobDescription[]\n hiring_manager_job_descriptions JobDescription[] @relation(\"HiringManager\")\n hiring_manager_job_profiles JobProfile[] @relation(\"JobProfileHiringManager\")\n approvals Approval[]\n sent_messages Message[] @relation(\"Sent Messages\")\n received_messages Message[] @relation(\"Received Messages\")\n profile_created Boolean\n first_login_status FirstLoginStatus @default(PENDING)\n // Back-relations for interviews (optional but recommended for clarity)\n candidate_interviews Interview[] @relation(\"CandidateInterviews\")\n interviewer_interviews Interview[] @relation(\"InterviewerInterviews\")\n assessment_results Assessment[]\n candidate_assessments Assessment[] @relation(\"CandidateAssessments\")\n reviewer_assessments Assessment[] @relation(\"ReviewerAssessments\")\n candidate_assignments Assignment[] @relation(\"CandidateAssignments\")\n reviewer_assignments Assignment[] @relation(\"AssignmentReviewer\")\n candidateResponses CandidateQuestionResponse[]\n questions Question[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actor_activity_logs ActivityLog[] @relation(\"ActorActivityLogs\")\n actions Action[]\n calendly Calendly?\n google Google?\n fitChecks FitCheck[]\n created_job_profiles JobProfile[] @relation(\"ProfileCreator\")\n assigned_job_profiles JobProfile[] @relation(\"ProfileAssignee\")\n user_auth_modules AuthModule[] @relation(\"UserAuthModule\")\n refresh_token_auth RefreshToken[] @relation(\"TokenRefresh\")\n zoom_meeting_participants ZoomMeetingParticipant[]\n notes Notes[]\n recruiter_applications Application[] @relation(\"ApplicationRecruiter\")\n\n name String?\n phone String?\n description String?\n date_of_birth DateTime?\n designation String?\n location String?\n salary String?\n work_experience Json?\n education Json?\n skills Json?\n notice_period String?\n preferred_work_mode String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n professional_expertise String?\n documents Document[]\n\n employee_number Int?\n employee_code String? @unique\n\n department_members DepartmentMember[] @relation(\"DepartmentMemberships\")\n\n @@index([role_id])\n @@index([permission_id])\n @@index([organisation_id])\n @@index([organisation_id, employee_number])\n @@schema(\"public\")\n}\n\nmodel UserProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n description String\n date_of_birth String\n designation String\n is_active Boolean @default(true)\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n work_experience Json?\n\n @@schema(\"public\")\n}\n\n/// Expected attendee slot when persisting interview-linked Zoom participants (`CANDIDATE` | `INTERVIEWER`).\nenum ZoomMeetingParticipantRole {\n CANDIDATE\n INTERVIEWER\n\n @@schema(\"public\")\n}\n\n/// Zoom meeting linked 1:1 to an interview; Zoom REST host is `zoom_host_user_id`.\nmodel ZoomMeeting {\n id String @id @default(uuid())\n /// One Zoom row per interview.\n interview_id String @unique\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n /// Treadspace user id whose Zoom User-OAuth token created this meeting; required for PATCH/DELETE on Zoom REST.\n /// Set from the Zoom host `userId` in `ZoomMeetingDAO.upsertZoomParticipants` (same user as `POST /users/me/meetings`).\n zoom_host_user_id String\n\n /// Zoom REST/API meeting id (same value used as Meeting SDK `meetingNumber` / JWT `mn`).\n zoom_meeting_id String\n /// Zoom meeting **instance** UUID from REST create (`uuid`) and RTMS/webhooks (`meeting_uuid`).\n zoom_meeting_uuid String?\n join_url String\n start_url String?\n password String?\n topic String?\n\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Audit; kept aligned with `zoom_host_user_id` when the meeting is recreated under a new host.\n created_by String\n updated_by String\n\n participants ZoomMeetingParticipant[]\n\n @@index([interview_id])\n @@index([zoom_meeting_id])\n @@index([zoom_meeting_uuid])\n @@schema(\"public\")\n}\n\n/// Expected participants for a `ZoomMeeting`: links to `User` (candidate / interviewer). Replaced on each meeting upsert.\nmodel ZoomMeetingParticipant {\n id String @id @default(uuid())\n zoom_meeting_row_id String\n zoom_meeting ZoomMeeting @relation(fields: [zoom_meeting_row_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user_id String\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Zoom account id (`AuthModule.provider_account_id`) when this `user_id` has linked Zoom; usually set for interviewer, often null for candidate.\n zoom_participant_id String?\n role ZoomMeetingParticipantRole\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@index([zoom_meeting_row_id])\n @@index([user_id])\n @@index([zoom_participant_id])\n @@schema(\"public\")\n}\n\n/// Ledger of processed Zoom webhook deliveries: one row per `dedupe_key` (request id or body hash).\n/// Stops double-handling when Zoom retries the same notification (e.g. RTMS, `meeting.started`).\nmodel ZoomWebhookEvent {\n id String @id @default(uuid())\n /// Stable key: SHA-256 of raw request body, or `x-zm-trackingid` when present.\n dedupe_key String @unique\n event String\n created_at DateTime @default(now())\n\n @@index([event])\n @@index([created_at])\n @@schema(\"public\")\n}\n",
|
|
2589
|
-
"inlineSchemaHash": "
|
|
2599
|
+
"inlineSchema": "model CandidateQuestionResponse {\n id String @id @default(uuid())\n //foreign keys\n question_id String\n candidate_id String\n assessment_id String\n //data\n response String\n score Float?\n /// Audit fields\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n question Question @relation(fields: [question_id], references: [id], onDelete: Cascade)\n assessment Assessment @relation(fields: [assessment_id], references: [id], onDelete: Cascade)\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([assessment_id, question_id, candidate_id])\n @@index([candidate_id])\n @@index([assessment_id])\n @@schema(\"public\")\n}\n\nmodel UserRole {\n id String @id @default(uuid())\n role String\n organisation_id String?\n is_custom Boolean @default(false)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n permission_id String? @unique\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n users User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([role, organisation_id])\n @@index([role, organisation_id])\n @@index([organisation_id])\n @@index([permission_id])\n @@schema(\"public\")\n}\n\nenum ActionType {\n TAKE_INTERVIEW\n PROVIDE_FEEDBACK\n SCHEDULE_INTERVIEW\n /// Dept head is asked to submit their department's hiring requirements.\n SUBMIT_DEPARTMENT_HIRING_REQUIREMENTS\n /// CHRO must review a department's submitted hiring requirements.\n REVIEW_DEPARTMENT_HIRING_REQUIREMENTS\n /// Dept head must update requirements after CHRO requested changes.\n UPDATE_DEPARTMENT_HIRING_REQUIREMENTS\n\n @@schema(\"public\")\n}\n\nenum ActionStatus {\n PENDING\n COMPLETED\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel Action {\n id String @id @default(uuid())\n assignee_id String\n title String\n action_type ActionType\n action_id String // Generic foreign key that can link to any entity\n due_date DateTime?\n organisation_id String\n status ActionStatus @default(PENDING)\n // Relations\n user User @relation(fields: [assignee_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@index([assignee_id, action_type])\n @@index([status])\n @@index([due_date])\n @@schema(\"public\")\n}\n\nenum ActivityEventType {\n APPLICATION_CREATED\n APPLICATION_STARTED\n APPLICATION_REJECTED\n APPLICATION_ON_HOLD\n APPLICATION_WITHDRAWN\n APPLICATION_SHORTLISTED\n\n FIT_CHECK_COMPLETED\n\n ROUND_ASSIGNED\n ROUND_COMPLETED\n ROUND_PASSED\n ROUND_FAILED\n\n INTERVIEW_CREATED\n INTERVIEW_SCHEDULED\n INTERVIEW_RESCHEDULED\n INTERVIEW_CANCELLED\n INTERVIEW_STARTED\n INTERVIEW_COMPLETED\n INTERVIEW_NO_SHOW\n INTERVIEW_EVALUATION_PENDING\n INTERVIEW_EVALUATED\n\n FEEDBACK_SUBMITTED\n\n ASSIGNMENT_CREATED\n ASSIGNMENT_STARTED\n ASSIGNMENT_COMPLETED\n ASSIGNMENT_CANCELLED\n ASSIGNMENT_EVALUATED\n\n ASSESSMENT_CREATED\n ASSESSMENT_STARTED\n ASSESSMENT_COMPLETED\n ASSESSMENT_CANCELLED\n ASSESSMENT_EVALUATED\n\n JOB_CREATED\n JOB_PUBLISHED\n JOB_CLOSED\n JOB_DEACTIVATED\n\n USER_INVITED\n USER_INVITATION_RESENT\n USER_CREATED\n USER_INVITATION_ACCEPTED\n USER_INVITATION_EXPIRED\n USER_DEACTIVATED\n USER_REACTIVATED\n USER_ROLE_CHANGED\n USER_PROFILE_COMPLETED\n\n CANDIDATE_REGISTERED\n CANDIDATE_CREATED\n CANDIDATE_PROFILE_COMPLETED\n\n EVALUATION_PLAN_CREATED\n EVALUATION_PLAN_PUBLISHED\n EVALUATION_PLAN_DELETED\n EVALUATION_PLAN_UPDATED\n STATUS_CHANGED\n\n CUSTOM\n\n @@schema(\"public\")\n}\n\nenum ActivityEntityType {\n APPLICATION\n\n CANDIDATE\n\n JOB\n\n ONGOING_EVALUATION\n\n EVALUATION_PLAN\n\n INTERVIEW\n\n ASSIGNMENT\n\n ASSESSMENT\n\n ORGANISATION\n\n USER\n\n @@schema(\"public\")\n}\n\nenum ActivityEntityActorType {\n USER\n\n SYSTEM\n\n AI_AGENT\n\n WEBHOOK\n\n @@schema(\"public\")\n}\n\nmodel ActivityEvent {\n id String @id @default(uuid())\n\n organisation_id String?\n\n event_type ActivityEventType\n\n entity_type ActivityEntityType\n entity_id String\n\n actor_id String?\n actor_type ActivityEntityActorType\n\n related_entities Json?\n\n snapshot Json?\n\n payload Json?\n\n schema_version Int @default(1)\n\n occurred_at DateTime\n\n created_at DateTime @default(now())\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id])\n\n @@index([organisation_id, occurred_at])\n @@index([organisation_id, event_type])\n @@index([entity_type, entity_id])\n @@index([actor_id])\n @@index([occurred_at])\n @@map(\"activity_events\")\n @@schema(\"public\")\n}\n\nenum ActivityActorType {\n USER\n AI\n SYSTEM\n\n @@schema(\"public\")\n}\n\nmodel ActivityLog {\n id String @id @default(uuid())\n application_id String\n actor_id String?\n actor_type ActivityActorType @default(USER)\n message String\n timestamp DateTime @default(now())\n metadata Json?\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n // Relations\n actor User? @relation(\"ActorActivityLogs\", fields: [actor_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id])\n @@schema(\"public\")\n}\n\nmodel ApplicationAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n application_id String @unique\n job_description_id String\n candidate_id String\n\n source_id String?\n source_name String?\n source_category SourceCategory?\n source_colour String?\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n candidate_name String?\n recruiter_id String?\n\n applied_at DateTime\n status_updated_at DateTime?\n\n status ApplicationStatus?\n fit_check_score Float?\n\n is_screened Boolean @default(false)\n is_evaluated Boolean @default(false)\n is_rejected Boolean @default(false)\n is_shortlisted Boolean @default(false)\n is_on_hold Boolean @default(false)\n is_withdrawn Boolean @default(false)\n has_committed_evaluation Boolean @default(false)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, applied_at])\n @@index([organisation_id, source_id, applied_at])\n @@index([job_description_id, applied_at])\n @@index([organisation_id, hiring_manager_id])\n @@map(\"application_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel ApplicationAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n application_id String\n job_description_id String\n candidate_id String\n\n source_id String?\n source_name String?\n source_category SourceCategory?\n source_colour String?\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n candidate_name String?\n recruiter_id String?\n\n applied_at DateTime\n status_updated_at DateTime?\n\n status ApplicationStatus?\n fit_check_score Float?\n\n is_screened Boolean @default(false)\n is_evaluated Boolean @default(false)\n is_rejected Boolean @default(false)\n is_shortlisted Boolean @default(false)\n is_on_hold Boolean @default(false)\n is_withdrawn Boolean @default(false)\n has_committed_evaluation Boolean @default(false)\n\n @@unique([snapshot_date, application_id])\n @@index([snapshot_date], map: \"aad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"aad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, source_id], map: \"aad_snapshot_org_source_idx\")\n @@index([snapshot_date, organisation_id, applied_at], map: \"aad_snapshot_org_applied_idx\")\n @@index([snapshot_date, job_description_id], map: \"aad_snapshot_job_idx\")\n @@map(\"application_analytics_daily\")\n @@schema(\"analytics\")\n}\n\n// PENDING could be understood as unscreened\nenum ApplicationStatus {\n PENDING\n IN_PROGRESS\n SELECTED\n SHORTLISTED\n REJECTED\n ON_HOLD\n WITHDRAWN\n\n @@schema(\"public\")\n}\n\nmodel Application {\n id String @id @default(uuid())\n candidate_id String\n resume_id String\n organisation_id String\n job_description_id String\n fit_check_score Float?\n applied_at DateTime @default(now())\n evaluation_plan_id String?\n fit_check_id String? @unique\n recruiter_id String?\n source_id String?\n round_no Int @default(0)\n is_jaf_completed Boolean @default(false)\n proceed_to_next_round Boolean? @default(false)\n //Screening fields\n on_notice_period Boolean @default(false)\n expected_joining_date DateTime?\n current_ctc String?\n expected_ctc String?\n notice_period Int?\n preferred_location String?\n evaluationComment String?\n // Relations\n fit_check_status FitCheckStatus?\n status ApplicationStatus @default(PENDING)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recruiter User? @relation(\"ApplicationRecruiter\", fields: [recruiter_id], references: [id])\n source Source? @relation(fields: [source_id], references: [id], onDelete: SetNull)\n interviews Interview[]\n assignments Assignment[]\n ongoing_evaluations OngoingEvaluation[]\n activity_logs ActivityLog[]\n notes Notes[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n job_application_responses JobApplicationResponse[]\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([candidate_id, job_description_id]) // Ensures candidate applies only once per job\n @@index([candidate_id])\n @@index([job_description_id])\n @@index([source_id])\n @@schema(\"public\")\n}\n\nmodel Approval {\n id String @id @default(uuid())\n job_description_id String\n user_id String\n organisaton_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisaton_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@schema(\"public\")\n}\n\nmodel Assessment {\n id String @id @default(uuid())\n //foreign keys\n organisation_id String?\n assessment_library_id String\n candidate_id String\n reviewer_id String?\n //data\n score Float?\n feedback Json?\n // Scheduled Deadline Window\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n /// Actual Start and End Time\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Attempt Expires At\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n assessment_library AssessmentLibrary @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User @relation(\"CandidateAssessments\", fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"ReviewerAssessments\", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n questions AssessmentQuestion[] @relation(\"AssessmentToAssessmentQuestion\")\n candidateResponse CandidateQuestionResponse[]\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n User User? @relation(fields: [userId], references: [id])\n userId String?\n ongoingEvaluation OngoingEvaluation?\n\n @@unique([assessment_library_id, candidate_id])\n @@index([assessment_library_id])\n @@index([candidate_id])\n @@schema(\"public\")\n}\n\n/// Defines how an assessment is conducted.\n\nmodel AssessmentLibrary {\n id String @id @default(uuid())\n title String\n time_required Int\n passing_score Float?\n max_score Float?\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n questions Question[] // One assessment → many questions\n assessments Assessment[]\n evaluation_Plans EvaluationPlan[]\n\n @@index([organisation_id])\n @@schema(\"public\")\n}\n\n/**\n * Join table linking Assessments and Questions in a many-to-many relationship.\n * - Each row represents one link between a specific Assessment and a specific Question.\n * - Composite ID ensures no duplicate pairings exist.\n * - Cascade delete ensures join rows are removed when either side is deleted.\n * - Enables sharing the same Question across multiple Assessments.\n */\nmodel AssessmentQuestion {\n assessment_id String\n question_id String\n assessment Assessment @relation(\"AssessmentToAssessmentQuestion\", fields: [assessment_id], references: [id], onDelete: Cascade)\n question Question @relation(\"QuestionToAssessmentQuestion\", fields: [question_id], references: [id], onDelete: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@id([assessment_id, question_id])\n @@schema(\"public\")\n}\n\nenum AssessmentRoundStatus {\n SCHEDULED\n IN_PROGRESS\n COMPLETED\n EVALUATED\n CANCELLED\n\n @@schema(\"analytics\")\n}\n\nmodel AssessmentRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n assessment_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n\n score Float?\n status AssessmentRoundStatus?\n round_result RoundResult?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, reviewer_id])\n @@index([job_description_id])\n @@index([application_id])\n @@map(\"assessment_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel AssessmentRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n assessment_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n\n score Float?\n status AssessmentRoundStatus?\n round_result RoundResult?\n\n @@unique([snapshot_date, assessment_id])\n @@index([snapshot_date], map: \"asrad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"asrad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"asrad_snapshot_job_idx\")\n @@map(\"assessment_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AssignmentStatus {\n AVAILABLE\n SCHEDULED\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel Assignment {\n id String @id @default(uuid())\n candidate_id String\n assignment_library_id String\n reviewer_id String?\n application_id String?\n job_description_id String\n organisation_id String\n ongoing_evaluation_id String? @unique\n overallScore Int?\n feedback Json?\n status AssignmentStatus @default(AVAILABLE)\n cancel_reason String?\n /// @deprecated Prefer `solution_document_id` + `Document`.\n solution_url String?\n /// @deprecated Prefer `zip_document_id` + `Document`.\n zip_url String?\n solution_document_id String? @unique\n zip_document_id String? @unique\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n evaluated_at DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateAssignments\", fields: [candidate_id], references: [id], onDelete: Cascade)\n assignment_library AssignmentLibrary @relation(fields: [assignment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"AssignmentReviewer\", fields: [reviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation? @relation(fields: [ongoing_evaluation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n solution_document Document? @relation(\"AssignmentSolutionDocument\", fields: [solution_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n zip_document Document? @relation(\"AssignmentZipDocument\", fields: [zip_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([candidate_id, ongoing_evaluation_id])\n @@index([candidate_id])\n @@index([reviewer_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel AssignmentLibrary {\n id String @id @default(uuid())\n deadline Int\n /// Flexible JSON for assignment-specific config (rubrics, instructions, criteria, etc.)\n assignment Json?\n job_description_id String\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Back-relation: one-to-one from EvaluationPlan (FK lives on EvaluationPlan.assignment_library_id)\n evaluationPlan EvaluationPlan[]\n assignments Assignment[]\n\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel AssignmentRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n assignment_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n completed_at DateTime?\n evaluated_at DateTime?\n cancelled_at DateTime?\n\n status AssignmentStatus?\n overall_score Int?\n cancel_reason String?\n round_result RoundResult?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, reviewer_id])\n @@index([job_description_id])\n @@index([application_id])\n @@map(\"assignment_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel AssignmentRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n assignment_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n completed_at DateTime?\n evaluated_at DateTime?\n cancelled_at DateTime?\n\n status AssignmentStatus?\n overall_score Int?\n cancel_reason String?\n round_result RoundResult?\n\n @@unique([snapshot_date, assignment_id])\n @@index([snapshot_date], map: \"arad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"arad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"arad_snapshot_job_idx\")\n @@map(\"assignment_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AuthProvider {\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n\n @@schema(\"public\")\n}\n\nmodel AuthModule {\n id String @id @default(uuid())\n user_id String\n /// The provider of the authentication module\n provider AuthProvider\n provider_account_id String? @db.Text\n\n access_token String? @db.Text\n refresh_token String? @db.Text\n id_token String? @db.Text\n expires_at DateTime?\n\n token_type String?\n\n scope String?\n is_active Boolean @default(true)\n\n /// Provider-specific JSON (e.g. Zoom: email, display); tokens remain in encrypted columns.\n metadata Json @default(\"{}\")\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(\"UserAuthModule\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@unique([user_id, provider])\n @@unique([provider, provider_account_id])\n @@index([user_id])\n @@schema(\"public\")\n}\n\nenum JobType {\n Full_time\n Part_time\n Contract\n Internship\n Temporary\n\n @@schema(\"public\")\n}\n\nenum JDCreationType {\n Pick_from_Library\n Upload_JD\n Create_New\n Create_From_Profile\n\n @@schema(\"public\")\n}\n\nmodel Budget {\n id String @id @default(uuid())\n job_type JobType\n location String\n shift String\n openings Int\n budget_per_job String\n level String\n start_date DateTime\n closing_date DateTime\n business_unit String\n purpose String\n role String\n domain String\n jd_creation_type JDCreationType\n job_description_id String @unique\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Optional link to annual plan line (legacy Budget API; primary commit path is JobDescription).\n hiring_plan_line_id String?\n hiring_plan_line HiringPlanLine? @relation(fields: [hiring_plan_line_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@index([hiring_plan_line_id])\n @@schema(\"public\")\n}\n\nmodel Calendly {\n id String @id @default(uuid())\n user_id String @unique\n\n access_token String\n refresh_token String\n expires_at DateTime\n calendly_user_uri String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel CandidateProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n location String\n salary String?\n description String?\n resume_id String? @unique\n date_of_birth DateTime?\n\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n work_experience Json?\n education Json?\n notice_period String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n is_active Boolean @default(true)\n planned_candidates PlannedCandidate[]\n\n @@schema(\"public\")\n}\n\n// Multi-channel communication (WhatsApp, Email, SMS, Call) with provider abstraction.\n// Strategy: typed columns for everything stable; JSON only for genuinely variable data.\n\nenum CommChannel {\n WHATSAPP\n EMAIL\n SMS\n CALL\n\n @@schema(\"public\")\n}\n\nenum CommProvider {\n META_WHATSAPP\n TWILIO\n GUPSHUP\n MTALKZ\n THREE_SIXTY_DIALOG\n GMAIL\n OUTLOOK\n GENERIC_SMTP\n GENERIC\n\n @@schema(\"public\")\n}\n\nenum CommDirection {\n INBOUND\n OUTBOUND\n\n @@schema(\"public\")\n}\n\nenum CommMessageStatus {\n QUEUED\n SENT\n DELIVERED\n READ\n FAILED\n RECEIVED\n\n @@schema(\"public\")\n}\n\n/// Per-organisation provider selection + (encrypted) credentials for one channel.\n/// `metadata` stores non-secret provider settings (e.g. phone_number_id, waba_id, webhook_verify_token).\nmodel ChannelProviderConfig {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n /// Encrypted JSON blob of secrets (token, app_secret, …) using integrationTokenCrypto.\n credentials String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n is_default Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n conversations Conversation[]\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider])\n @@index([organisation_id, channel])\n @@index([organisation_id, channel, is_active])\n @@schema(\"public\")\n}\n\n/// A logical conversation thread with one external party on one channel.\n/// `external_id` is the channel-native identifier (E.164 phone for WhatsApp/SMS, email address for email).\n///\n/// `application_id` / `job_description_id` are the *current* recruiting scope\n/// the thread is bound to (the recruiter can switch context, but individual\n/// `CommunicationMessage` rows record the scope they were sent under so the\n/// audit trail is preserved). Both nullable so pre-application sourcing\n/// (no application yet, just a JD) still works.\nmodel Conversation {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n external_id String\n contact_user_id String?\n application_id String?\n job_description_id String?\n provider_thread_id String?\n subject String?\n status String @default(\"open\")\n unread_count Int @default(0)\n last_message_at DateTime?\n metadata Json @default(\"{}\")\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider, external_id])\n @@index([organisation_id, channel])\n @@index([organisation_id, last_message_at])\n @@index([external_id])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n @@schema(\"public\")\n}\n\n/// Individual message in a conversation. Inbound + outbound share the same model.\n/// `body` is plain text. `attachments` is a JSON array of media descriptors (no binaries persisted).\n/// `metadata` stores raw provider payloads + interactive payloads for audit/debug.\n///\n/// `application_id` / `job_description_id` are the recruiting scope this\n/// specific message was sent/received under, captured at the time of the\n/// event (not derived from the parent conversation, since a recruiter may\n/// reuse a thread across multiple applications). Both nullable.\nmodel CommunicationMessage {\n id String @id @default(uuid())\n conversation_id String\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n direction CommDirection\n status CommMessageStatus\n body String?\n from_identifier String\n to_identifier String\n sender_user_id String?\n application_id String?\n job_description_id String?\n provider_message_id String?\n template_name String?\n attachments Json @default(\"[]\")\n metadata Json @default(\"{}\")\n error String?\n sent_at DateTime?\n delivered_at DateTime?\n read_at DateTime?\n\n conversation Conversation @relation(fields: [conversation_id], references: [id], onDelete: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([provider, provider_message_id])\n @@index([conversation_id, created_at])\n @@index([organisation_id, channel, created_at])\n @@index([organisation_id, status])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n @@schema(\"public\")\n}\n\nmodel ContactUs {\n id String @id @default(uuid())\n name String\n email String\n organisation_name String\n organisation_website String\n subject String\n message String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\n/// Section-level status for a department's slice of the hiring plan.\n/// DRAFT — legacy pre-request state (heads had free edit); still used\n/// when a section row exists before CHRO has \"requested input\".\n/// REQUESTED — CHRO has requested input; head may edit.\n/// SUBMITTED — head submitted; awaiting CHRO review; head is frozen.\n/// CHANGES_REQUESTED — CHRO sent back with a note; head may edit again.\n/// APPROVED — CHRO approved; heads frozen. CHRO may still edit\n/// (product default). Reopen returns to CHANGES_REQUESTED.\n/// SKIPPED — CHRO opted out of collecting input for this dept.\nenum HiringPlanSectionStatus {\n DRAFT\n REQUESTED\n SUBMITTED\n CHANGES_REQUESTED\n APPROVED\n SKIPPED\n\n @@schema(\"public\")\n}\n\n/// First-class org unit that owns a slice of the annual hiring plan.\n/// Replaces the free-text `business_unit` string on HiringPlanLine / Employee.\n/// Headship lives on DepartmentMember.is_head (at most one per dept, enforced in service).\nmodel Department {\n id String @id @default(uuid())\n organisation_id String\n name String\n code String?\n /// Global display order across departments within the org (drag-reorder in plan grid).\n sort_order Int @default(0)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n members DepartmentMember[]\n hiring_plan_lines HiringPlanLine[]\n employees Employee[]\n job_descriptions JobDescription[]\n sections HiringPlanSection[]\n\n @@unique([organisation_id, name])\n @@index([organisation_id])\n @@schema(\"public\")\n}\n\n/// Many-to-many membership: a user can belong to multiple departments.\n/// is_head marks the department head for that membership row. The same user can\n/// be head of multiple departments (multiple rows with is_head=true). At most\n/// one is_head=true per department is enforced in DepartmentService.\nmodel DepartmentMember {\n id String @id @default(uuid())\n department_id String\n user_id String\n is_head Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n department Department @relation(fields: [department_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(\"DepartmentMemberships\", fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([department_id, user_id])\n @@index([user_id])\n @@index([department_id, is_head])\n @@schema(\"public\")\n}\n\n/// Per-department status for a specific hiring plan (request → submit → approve/lock).\nmodel HiringPlanSection {\n id String @id @default(uuid())\n hiring_plan_id String\n department_id String\n status HiringPlanSectionStatus @default(DRAFT)\n /// CHRO/Exec who invoked \"Request input\" for this dept.\n requested_by String?\n requested_at DateTime?\n submitted_by String?\n submitted_at DateTime?\n approved_by String?\n approved_at DateTime?\n /// CHRO/Exec who opted to skip this dept (or the dept-head request lifecycle).\n skipped_by String?\n skipped_at DateTime?\n /// Latest CHRO note attached to Request Changes / Reopen.\n review_note String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n hiring_plan HiringPlan @relation(fields: [hiring_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department @relation(fields: [department_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([hiring_plan_id, department_id])\n @@index([hiring_plan_id])\n @@index([department_id])\n @@index([status])\n @@schema(\"public\")\n}\n\nmodel Document {\n // Primary key\n id String @id @default(uuid())\n // Foreign keys\n organisation_id String?\n candidate_id String?\n // Data fields\n original_file_name String\n stored_file_name String\n file_extension String?\n s3_bucket String?\n s3_key String?\n mime_type String?\n file_size BigInt?\n file_hash String?\n metadata Json?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n resume Resume? @relation(\"ResumeSourceDocument\")\n resume_rendered_export Resume? @relation(\"RenderedResumeExport\")\n job_description_source JobDescription? @relation(\"SourceDocument\")\n job_description_rendered JobDescription? @relation(\"RenderedJdDocument\")\n job_description_display_html JobDescription? @relation(\"DisplayHtmlDocument\")\n interview_recording Interview?\n job_application_responses JobApplicationResponse[]\n assignment_solution Assignment? @relation(\"AssignmentSolutionDocument\")\n assignment_zip Assignment? @relation(\"AssignmentZipDocument\")\n\n // Indexes\n @@index([candidate_id])\n @@index([organisation_id, candidate_id])\n @@index([file_hash])\n @@schema(\"public\")\n}\n\nenum CriteriaScope {\n ORGANISATION\n TREADSPACE\n\n @@schema(\"public\")\n}\n\nmodel EvaluationCriteria {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String?\n /// Data fields\n scope CriteriaScope\n key String\n criteria String?\n description String?\n weightage Float?\n is_elimination Boolean @default(false)\n metadata Json?\n /// Audit fields\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n /// Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n /// Indexes\n @@index([scope, organisation_id])\n @@schema(\"public\")\n}\n\nenum RoundType {\n ASSESSMENT\n INTERVIEW\n ASSIGNMENT\n SCREENING\n\n @@schema(\"public\")\n}\n\nenum EvaluationCategory {\n SCREENING\n BUSINESS_SCREENING\n BUSINESS_ROUND\n BEHAVIORAL_ROUND\n\n @@schema(\"public\")\n}\n\nenum EvaluationRoundFormat {\n // ────────────────\n // Screening formats\n // ────────────────\n PHONE_CALL\n VIDEO_CALL_AI_ASSISTED\n VIDEO_CALL_UNASSISTED\n\n // ────────────────\n // Assessment formats\n // ────────────────\n AI_GENERATED_TEST\n UPLOADED_TEST\n EXTERNAL_PLATFORM\n\n // ────────────────\n // Assignment formats\n // ────────────────\n AI_GENERATED_ASSIGNMENT\n UPLOADED_ASSIGNMENT\n\n // ────────────────\n // Interview formats\n // ────────────────\n TREADSPACE_AI_ASSISTED\n EXTERNAL_VIDEO_AI_ASSISTED\n EXTERNAL_VIDEO_UNASSISTED\n\n @@schema(\"public\")\n}\n\nenum EvaluationType {\n // New (In active use now)\n TREADSPACE_AI_ASSISTED\n TREADSPACE_FULL_AI\n EXTERNAL_AI_ASSISTED\n NON_AI_ASSISTED\n\n @@schema(\"public\")\n}\n\nenum EvaluationPlanType {\n CUSTOM\n GENERIC\n DELETED\n\n @@schema(\"public\")\n}\n\nenum EvaluationPlanShareScope {\n PRIVATE\n CREATOR\n ORGANIZATION\n\n @@schema(\"public\")\n}\n\nenum DurationUnit {\n MINUTES\n HOURS\n DAYS\n\n @@schema(\"public\")\n}\n\nmodel EvaluationPlan {\n id String @id @default(uuid())\n job_description_id String\n assessment_id String?\n assignment_library_id String?\n title String\n description String?\n format EvaluationRoundFormat?\n focus_areas String[]\n topics String[]\n assignee String?\n elimination_round Boolean @default(false)\n evaluation_type EvaluationType @default(TREADSPACE_AI_ASSISTED)\n type_of_round RoundType\n round_purpose String?\n timeline Int?\n order_no Int?\n details Json?\n plan_type EvaluationPlanType @default(GENERIC)\n share_scope EvaluationPlanShareScope @default(PRIVATE)\n duration Int?\n duration_unit DurationUnit?\n deadline Int?\n category EvaluationCategory?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n questions Question[] // One evaluation plan → many questions\n interviews Interview[]\n applications Application[]\n // New optional one-to-one relation with AssessmentLibrary\n assessment AssessmentLibrary? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)\n ongoing_evaluations OngoingEvaluation[]\n\n @@index([job_description_id])\n @@index([job_description_id, plan_type, share_scope])\n @@index([created_by, share_scope])\n @@schema(\"public\")\n}\n\nmodel Feedback {\n id String @id @default(uuid())\n interview_id String\n order_no Int\n\n ai_feedback Json?\n human_feedback Json?\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nenum FitCheckStatus {\n RECOMMENDED\n TO_REVIEW\n NOT_RECOMMENDED\n\n @@schema(\"public\")\n}\n\nmodel FitCheck {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// FK to organisations table\n organisation_id String?\n candidate_id String?\n resume_id String\n job_description_id String\n\n /// Old Fields will be deprecated soon\n skills_match String[]\n responsibilities_match String[]\n responsibilities_score Float?\n experience_match String[]\n experience_score Float?\n organisation_value_score Float?\n organisation_value_match String[]\n qualifications_match String[]\n qualifications_score Float?\n fit Json[]\n fit_check_status FitCheckStatus?\n // Fields to be used now\n skills_analysis Json?\n overall_analysis Json?\n skills_score Float?\n overall_score Float\n short_match_analysis Json[]\n fit_comparison Json?\n recommendation Json?\n // New Fields needs to be changed now\n candidate_analysis Json[]\n technical_analysis Json[]\n competency_analysis Json[]\n\n /// Audit fields\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Timestamps\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application?\n\n /// Ensure one FitCheck per (resume_id, job_description_id) pair\n @@unique([resume_id, job_description_id])\n @@index([resume_id])\n @@schema(\"public\")\n}\n\nmodel Google {\n id String @id @default(uuid())\n user_id String @unique\n\n google_email String\n refresh_token String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nenum HiringPlanStatus {\n DRAFT\n ACTIVE\n CLOSED\n\n @@schema(\"public\")\n}\n\nenum PeriodType {\n ANNUAL\n\n @@schema(\"public\")\n}\n\nenum EmployeeStatus {\n ACTIVE\n ATTRITION_EXPECTED\n DEPARTED\n\n @@schema(\"public\")\n}\n\nenum AttritionRisk {\n LOW\n MEDIUM\n HIGH\n\n @@schema(\"public\")\n}\n\nenum ReviewRating {\n OUTSTANDING\n EXCEEDS_EXPECTATIONS\n MEETS_EXPECTATIONS\n NEEDS_IMPROVEMENT\n UNSATISFACTORY\n\n @@schema(\"public\")\n}\n\nenum PlannedCandidateStatus {\n IDENTIFIED\n IN_PIPELINE\n OFFER\n SELECTED\n DECLINED\n\n @@schema(\"public\")\n}\n\n/// Org-level annual hiring plan (CHRO budgeting).\nmodel HiringPlan {\n id String @id @default(uuid())\n organisation_id String\n fiscal_year Int\n period_type PeriodType @default(ANNUAL)\n currency String @default(\"INR\")\n status HiringPlanStatus @default(DRAFT)\n total_headcount_budget Int?\n total_cost_budget Decimal? @db.Decimal(18, 2)\n /// Workbook assumptions (multipliers, inflation, fiscal start month, etc.).\n assumptions Json?\n notes String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n lines HiringPlanLine[]\n sections HiringPlanSection[]\n\n @@unique([organisation_id, fiscal_year])\n @@index([organisation_id])\n @@index([status])\n @@schema(\"public\")\n}\n\n/// One allocation row: dimensions + planned headcount + monthly phasing inputs.\nmodel HiringPlanLine {\n id String @id @default(uuid())\n hiring_plan_id String\n /// Owning department (grouping + section ownership). Legacy `business_unit` is\n /// kept for back-compat and populated from Department.name for a while.\n department_id String?\n business_unit String?\n level String?\n location String?\n role String?\n planned_headcount Int @default(1)\n /// Fully-loaded annual run-rate cost per hire (not in-year cost).\n cost_per_hire Decimal @db.Decimal(18, 2)\n /// Fiscal month 1–12 when hires start (used when hire_schedule is null).\n start_month Int @default(1)\n /// Optional staggered starts: { \"1\": 2, \"4\": 2 } (fiscal-month → count).\n hire_schedule Json?\n /// Free-form requirement details captured by dept heads: priority, skills,\n /// justification, salary_range, etc. Kept as JSON to avoid wide migrations\n /// while the workflow settles.\n details Json?\n /// Display order within a business unit (lower first).\n sort_order Int @default(0)\n /// Reference/template JD for this role (definition).\n job_description_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n hiring_plan HiringPlan @relation(fields: [hiring_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department? @relation(fields: [department_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription? @relation(\"PlanLineTemplateJd\", fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n requisitions JobDescription[] @relation(\"PlanLineRequisitions\")\n budgets Budget[]\n planned_candidates PlannedCandidate[]\n backfill_from_employees Employee[] @relation(\"EmployeeBackfillLine\")\n\n @@index([hiring_plan_id])\n @@index([department_id])\n @@index([job_description_id])\n @@index([business_unit, level, location, role])\n @@schema(\"public\")\n}\n\n/// Existing workforce roster (manual / CSV). Baseline for net-new vs backfill.\nmodel Employee {\n id String @id @default(uuid())\n organisation_id String\n /// Owning department (Department.name mirrors legacy business_unit for back-compat).\n department_id String?\n employee_code String?\n name String?\n email String?\n gender String?\n business_unit String?\n level String?\n location String?\n role String?\n employment_type JobType?\n starting_designation String?\n current_designation String?\n start_date DateTime?\n starting_salary Decimal? @db.Decimal(18, 2)\n /// Comp immediately before the latest raise (or prior cycle). Optional.\n previous_salary Decimal? @db.Decimal(18, 2)\n /// Current fully-loaded comp. Optional — workforce roster may be captured\n /// before salary details are collected.\n current_comp Decimal? @db.Decimal(18, 2)\n currency String @default(\"INR\")\n last_increment_date DateTime?\n last_increment_amount Decimal? @db.Decimal(18, 2)\n last_increment_pct Decimal? @db.Decimal(8, 4)\n last_review_date DateTime?\n last_review_rating ReviewRating?\n last_feedback_date DateTime?\n last_feedback_summary String?\n status EmployeeStatus @default(ACTIVE)\n attrition_risk AttritionRisk?\n expected_exit_date DateTime?\n backfill_plan_line_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department? @relation(fields: [department_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n backfill_plan_line HiringPlanLine? @relation(\"EmployeeBackfillLine\", fields: [backfill_plan_line_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([organisation_id, employee_code])\n @@index([organisation_id])\n @@index([department_id])\n @@index([status])\n @@index([business_unit, level, location, role])\n @@index([backfill_plan_line_id])\n @@schema(\"public\")\n}\n\n/// Tentative candidate attached to a plan line (ATS CandidateProfile or free-text).\nmodel PlannedCandidate {\n id String @id @default(uuid())\n hiring_plan_line_id String\n candidate_profile_id String?\n name String?\n status PlannedCandidateStatus @default(IDENTIFIED)\n note String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n hiring_plan_line HiringPlanLine @relation(fields: [hiring_plan_line_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate_profile CandidateProfile? @relation(fields: [candidate_profile_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@index([hiring_plan_line_id])\n @@index([candidate_profile_id])\n @@index([status])\n @@schema(\"public\")\n}\n\nenum IntegrationProvider {\n NAUKRI\n ZOHO_RECRUIT\n LINKEDIN\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n\n @@schema(\"public\")\n}\n\nenum IntegrationAuthType {\n OAUTH2\n API_KEY\n SSO\n\n @@schema(\"public\")\n}\n\nenum SyncDirection {\n PUSH\n PULL\n BIDIRECTIONAL\n\n @@schema(\"public\")\n}\n\nenum SyncEntityType {\n CANDIDATE\n JOB_OPENING\n INTERVIEW\n APPLICATION\n\n @@schema(\"public\")\n}\n\nenum SyncStatus {\n SYNCED\n PENDING\n FAILED\n\n @@schema(\"public\")\n}\n\nmodel IntegrationCredential {\n id String @id @default(uuid())\n organisation_id String?\n provider IntegrationProvider\n auth_type IntegrationAuthType\n access_token String?\n refresh_token String?\n token_expires_at DateTime?\n api_key String?\n api_secret String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, provider])\n @@index([provider])\n @@schema(\"public\")\n}\n\nmodel IntegrationJobSync {\n id String @id @default(uuid())\n job_description_id String\n provider IntegrationProvider\n external_id String?\n sync_enabled Boolean @default(true)\n last_synced_at DateTime?\n sync_direction SyncDirection @default(PUSH)\n metadata Json @default(\"{}\")\n\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, provider])\n @@index([provider])\n @@schema(\"public\")\n}\n\nmodel ZohoSyncMapping {\n id String @id @default(uuid())\n organisation_id String\n entity_type SyncEntityType\n treadspace_id String\n zoho_module String\n zoho_record_id String\n last_synced_at DateTime @default(now())\n sync_status SyncStatus @default(PENDING)\n error_message String?\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, entity_type, treadspace_id])\n @@index([zoho_record_id])\n @@index([sync_status])\n @@schema(\"public\")\n}\n\nenum InterviewStatus {\n INTERVIEW_REQUESTED\n SCHEDULED\n IN_PROGRESS\n CANCELLED\n NO_SHOW // Candidate or interviewer failed to appear\n EVALUATION_PENDING // Waiting for feedback or evaluation\n EVALUATED // Feedback completed and locked\n\n @@schema(\"public\")\n}\n\nenum InterviewFeedback {\n STRONG_HIRE\n HIRE\n NO_HIRE\n STRONG_NO_HIRE\n\n @@schema(\"public\")\n}\n\nenum InterviewPlatform {\n TREADSPACE\n ZOOM\n\n @@schema(\"public\")\n}\n\nenum AiAssistanceMode {\n NONE\n ASSISTED\n\n @@schema(\"public\")\n}\n\nmodel Interview {\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n candidate_id String\n interviewer_id String?\n evaluation_plan_id String\n application_id String?\n resume_id String\n job_description_id String\n calendar_event_id String?\n /// Data\n room_name String?\n interview_summary String[]\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Interview length in minutes (source of truth; not derived from schedule window).\n duration Int?\n /// @deprecated Prefer `recording_document_id` + `Document` (type INTERVIEW_RECORDING).\n recording_url String?\n recording_document_id String? @unique\n evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)\n ai_assistance_mode AiAssistanceMode? @default(ASSISTED)\n interview_status InterviewStatus @default(SCHEDULED)\n interview_platform InterviewPlatform @default(TREADSPACE)\n /// Old Feedback fields will be deprecated soon\n ai_interview_feedback InterviewFeedback?\n interview_feedback InterviewFeedback?\n overall_feedback String?\n interview_rating Float? // Overall rating out of 100 based on evaluation\n /// New Feedback fields\n ai_feedback Json?\n human_feedback Json?\n interviewer_feedback Json?\n section_feedback Json[]\n interview_preparation Json?\n final_feedback Json?\n interview_analysis_ranges Json?\n interview_flow_summary String?\n /// When Orion AI feedback was last persisted on this interview.\n ai_feedback_generated_at DateTime?\n /// When recruiter human feedback was last saved (draft or final).\n human_feedback_updated_at DateTime?\n /// When final human feedback was submitted.\n evaluated_at DateTime?\n\n /// Self-scheduling\n reschedule_count Int @default(0)\n last_rescheduled_at DateTime?\n first_assigned_at DateTime?\n /// True while the candidate is waiting on recruiter action (typically a\n /// reassign) after they submitted alternate slots via \"None match\" /\n /// \"Suggest times\". Cleared whenever the recruiter routes a fresh\n /// request via `upsertInterviewRequestRecord`.\n awaiting_recruiter_action Boolean @default(false)\n\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateInterviews\", fields: [candidate_id], references: [id], onDelete: SetNull)\n interviewer User? @relation(\"InterviewerInterviews\", fields: [interviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation?\n transcripts Transcript[]\n suggestions Suggestion[]\n feedback Feedback[]\n interviewNotes InterviewNotes[]\n liveAnalysis LiveAnalysis[]\n zoom_meeting ZoomMeeting?\n\n // Indexes\n @@unique([interviewer_id, candidate_id, evaluation_plan_id])\n @@index([candidate_id])\n @@index([interviewer_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel InterviewNotes {\n id String @id @default(uuid())\n interview_id String\n note String\n details Json?\n timestamp DateTime @default(now())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nenum InterviewRecommendation {\n ACCEPTED\n REJECTED\n UNSURE\n\n @@schema(\"analytics\")\n}\n\nmodel InterviewRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n interview_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n interviewer_id String?\n interviewer_employee_id String?\n interviewer_name String?\n\n candidate_name String?\n candidate_email String?\n\n evaluation_type EvaluationType?\n ai_assistance_mode AiAssistanceMode?\n interview_platform InterviewPlatform?\n interview_status InterviewStatus?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n evaluated_at DateTime?\n first_assigned_at DateTime?\n duration_minutes Int?\n\n human_rating String?\n ai_rating String?\n recommendation InterviewRecommendation?\n ai_disagrees_with_ai Boolean?\n\n difficulty_score Float?\n supportiveness_score Float?\n topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, interviewer_id, evaluated_at])\n @@index([job_description_id])\n @@index([application_id])\n @@index([organisation_id, hiring_manager_id])\n @@map(\"interview_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n interview_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n interviewer_id String?\n interviewer_employee_id String?\n interviewer_name String?\n\n candidate_name String?\n candidate_email String?\n\n evaluation_type EvaluationType?\n ai_assistance_mode AiAssistanceMode?\n interview_platform InterviewPlatform?\n interview_status InterviewStatus?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n evaluated_at DateTime?\n first_assigned_at DateTime?\n duration_minutes Int?\n\n human_rating String?\n ai_rating String?\n recommendation InterviewRecommendation?\n ai_disagrees_with_ai Boolean?\n\n difficulty_score Float?\n supportiveness_score Float?\n topics_coverage_percent Float?\n\n @@unique([snapshot_date, interview_id])\n @@index([snapshot_date], map: \"irad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"irad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, interviewer_id], map: \"irad_snapshot_org_interviewer_idx\")\n @@index([snapshot_date, job_description_id], map: \"irad_snapshot_job_idx\")\n @@index([snapshot_date, organisation_id, evaluated_at], map: \"irad_snapshot_org_evaluated_idx\")\n @@map(\"interview_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerOrganisationAnalytics {\n id String @id @default(uuid())\n organisation_id String\n user_id String\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, user_id])\n @@index([organisation_id])\n @@index([organisation_id, user_id])\n @@map(\"interviewer_organisation_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n user_id String\n job_description_id String\n\n hiring_manager_id String?\n department String?\n location String?\n role_title String?\n job_code String?\n opened_at DateTime?\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, user_id, job_description_id])\n @@index([organisation_id, job_description_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, department])\n @@index([organisation_id, location])\n @@index([organisation_id, user_id])\n @@map(\"interviewer_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerOrganisationAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n user_id String\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n @@unique([snapshot_date, organisation_id, user_id])\n @@index([snapshot_date], map: \"ioad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"ioad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, user_id], map: \"ioad_snapshot_org_user_idx\")\n @@map(\"interviewer_organisation_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerJobAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n user_id String\n job_description_id String\n\n hiring_manager_id String?\n department String?\n location String?\n role_title String?\n job_code String?\n opened_at DateTime?\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n @@unique([snapshot_date, organisation_id, user_id, job_description_id])\n @@index([snapshot_date], map: \"ijad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id, job_description_id], map: \"ijad_snapshot_org_job_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"ijad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, department], map: \"ijad_snapshot_org_dept_idx\")\n @@index([snapshot_date, organisation_id, location], map: \"ijad_snapshot_org_loc_idx\")\n @@index([snapshot_date, organisation_id, user_id], map: \"ijad_snapshot_org_user_idx\")\n @@map(\"interviewer_job_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum JobApplicationFieldType {\n TEXT\n NUMBER\n DATE\n BOOLEAN\n MULTI_SELECT\n FILE\n DROP_DOWN\n\n @@schema(\"public\")\n}\n\nmodel JobApplicationField {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n template_id String\n /// Data fields\n field_type JobApplicationFieldType\n label String\n description String?\n is_mandatory Boolean @default(false)\n is_draft Boolean @default(true)\n options String[]\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_template JobApplicationTemplate @relation(fields: [template_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_responses JobApplicationResponse[]\n\n /// Indexes\n @@index([organisation_id, template_id])\n @@schema(\"public\")\n}\n\nmodel JobApplicationResponse {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n application_id String\n job_application_field_id String?\n document_id String?\n /// Answer payload\n response Json?\n /// Denormalized question snapshot (immutable on candidate save)\n field_type JobApplicationFieldType?\n label String?\n description String?\n is_mandatory Boolean?\n is_draft Boolean?\n is_submitted Boolean @default(false)\n options String[]\n updated_by_organisation Boolean @default(false)\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n field JobApplicationField? @relation(fields: [job_application_field_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n document Document? @relation(fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n /// Partial unique on (application_id, job_application_field_id) WHERE job_application_field_id IS NOT NULL — see migration SQL\n @@index([application_id])\n @@index([job_application_field_id])\n @@schema(\"public\")\n}\n\nenum JobApplicationTemplateScope {\n ORGANIZATION\n JOB\n\n @@schema(\"public\")\n}\n\nmodel JobApplicationTemplate {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n job_description_id String? @unique\n /// Data fields\n name String\n description String?\n scope JobApplicationTemplateScope @default(ORGANIZATION)\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fields JobApplicationField[]\n\n /// Indexes\n @@index([organisation_id, scope])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nenum JobDescriptionStatus {\n CREATED\n DRAFT\n ACTIVE\n DEACTIVATED\n CLOSED\n\n @@schema(\"public\")\n}\n\nmodel JobDescription {\n id String @id @default(uuid())\n organisation_id String\n /// Owning department (visibility scope for DepartmentHead; optional).\n department_id String?\n hiring_manager_id String?\n status JobDescriptionStatus @default(DRAFT)\n screeningQuestions String[]\n recommendedQuestions Json[]\n /// @deprecated Prefer `source_document_id` + `Document` (type JOB_DESCRIPTION).\n uploaded_job_description_path String?\n source_document_id String? @unique\n rendered_jd_document_id String? @unique\n rendered_jd_document Document? @relation(\"RenderedJdDocument\", fields: [rendered_jd_document_id], references: [id], onDelete: SetNull)\n display_html_document_id String? @unique\n display_html_document Document? @relation(\"DisplayHtmlDocument\", fields: [display_html_document_id], references: [id], onDelete: SetNull)\n is_plan_published Boolean @default(false)\n is_posted Boolean @default(false)\n summary Json?\n ai_insight Json?\n job_fit_comparison Json?\n target_closing_date DateTime?\n closing_date DateTime?\n opened_at DateTime?\n\n job_number Int?\n job_code String? @unique\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n openings Int @default(1)\n job_profile_id String?\n job_profile JobProfile? @relation(fields: [job_profile_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n department Department? @relation(fields: [department_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n source_document Document? @relation(\"SourceDocument\", fields: [source_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n job_description_data JobDescriptionData[] // one-to-many link\n evaluationPlan EvaluationPlan[] // relation to evaluation methods\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n assignment_library AssignmentLibrary[]\n approvals Approval[] // one-to-many relation\n resumes Resume[] // one-to-many link\n budget Budget?\n hiring_manager User? @relation(\"HiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n recruiters User[]\n transcripts Transcript[]\n integration_job_syncs IntegrationJobSync[]\n job_application_template JobApplicationTemplate?\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n /// Plan line this opening is committed against (requisition → plan).\n hiring_plan_line_id String?\n hiring_plan_line HiringPlanLine? @relation(\"PlanLineRequisitions\", fields: [hiring_plan_line_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n /// Plan lines that use this JD as the role template/reference.\n referenced_by_plan_lines HiringPlanLine[] @relation(\"PlanLineTemplateJd\")\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([job_profile_id])\n @@index([hiring_plan_line_id])\n @@index([department_id])\n @@schema(\"public\")\n}\n\nmodel JobDescriptionData {\n id String @id @default(uuid())\n job_description_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([job_description_id, key])\n @@schema(\"public\")\n}\n\nenum JobProfileStatus {\n DRAFT\n INTAKE_SENT\n INTAKE_IN_PROGRESS\n COMPLETE\n\n @@schema(\"public\")\n}\n\nmodel JobProfile {\n id String @id @default(uuid())\n organisation_id String\n hiring_manager_id String?\n created_by String\n assigned_to String?\n status JobProfileStatus @default(DRAFT)\n\n // Basics\n title String?\n role_type String? // new / replacement / backfill\n work_arrangement String? // onsite / hybrid / remote\n employment_type String? // full_time / part_time / contract / internship\n location String?\n experience String?\n experience_min String?\n comp_range String?\n budget String?\n\n // Requirements (structured from AI conversation)\n responsibilities Json?\n must_have_skills Json?\n nice_to_have_skills Json?\n culture Json?\n\n // Competencies\n competencies Json?\n\n // Conversation state\n conversation_history Json?\n orion_execution_id String?\n\n // Audit\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n // Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n hiring_manager User? @relation(\"JobProfileHiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n creator User @relation(\"ProfileCreator\", fields: [created_by], references: [id], onDelete: Restrict, onUpdate: Cascade)\n assignee User? @relation(\"ProfileAssignee\", fields: [assigned_to], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_descriptions JobDescription[]\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([assigned_to])\n @@index([created_by])\n @@schema(\"public\")\n}\n\nmodel JobRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_name String\n\n evaluation_category EvaluationCategory?\n\n job_code String?\n\n role_title String?\n\n hiring_manager_id String?\n\n plan_order_no Int?\n\n plan_type EvaluationPlanType?\n\n is_custom Boolean @default(false)\n\n assigned_count Int @default(0)\n\n completed_count Int @default(0)\n\n passed_count Int @default(0)\n\n failed_count Int @default(0)\n\n withdrawn_count Int @default(0)\n\n no_show_count Int @default(0)\n\n total_completion_minutes BigInt @default(0)\n\n avg_completion_minutes Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, evaluation_plan_id])\n @@index([organisation_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([job_description_id])\n @@schema(\"analytics\")\n}\n\nmodel JobRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_name String\n\n evaluation_category EvaluationCategory?\n\n job_code String?\n\n role_title String?\n\n hiring_manager_id String?\n\n plan_order_no Int?\n\n plan_type EvaluationPlanType?\n\n is_custom Boolean @default(false)\n\n assigned_count Int @default(0)\n\n completed_count Int @default(0)\n\n passed_count Int @default(0)\n\n failed_count Int @default(0)\n\n withdrawn_count Int @default(0)\n\n no_show_count Int @default(0)\n\n total_completion_minutes BigInt @default(0)\n\n avg_completion_minutes Float?\n\n @@unique([snapshot_date, job_description_id, evaluation_plan_id])\n @@index([snapshot_date], map: \"jrad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"jrad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"jrad_snapshot_org_hm_idx\")\n @@index([snapshot_date, job_description_id], map: \"jrad_snapshot_job_idx\")\n @@map(\"job_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel LiveAnalysis {\n id String @id @default(uuid())\n //foreign keys\n interview_id String\n //data\n analysis Json\n //audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n //relations\n interview Interview @relation(fields: [interview_id], references: [id])\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nmodel Message {\n id String @id @default(uuid())\n sender_id String\n receiver_id String\n message String\n\n sender User @relation(\"Sent Messages\", fields: [sender_id], references: [id])\n receiver User @relation(\"Received Messages\", fields: [receiver_id], references: [id])\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel Notes {\n id String @id @default(uuid())\n application_id String\n user_id String\n note String\n pinned Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id, created_at])\n @@index([user_id, created_at])\n @@schema(\"public\")\n}\n\nenum OngoingEvaluationState {\n NOT_STARTED\n IN_PROGRESS\n CLEARED\n SKIPPED\n NOT_CLEARED\n\n @@schema(\"public\")\n}\n\nenum OngoingEvaluationRoundStatus {\n NOT_SCHEDULED\n REQUESTED_SCHEDULING\n SCHEDULED\n IN_PROGRESS\n PENDING_EVALUATION\n EVALUATED\n\n @@schema(\"public\")\n}\n\nmodel OngoingEvaluation {\n // Primary Key\n id String @id @default(uuid())\n // Foreign Keys \n organisation_id String\n application_id String\n candidate_id String\n resume_id String\n job_description_id String\n evaluation_plan_id String\n interview_id String? @unique\n assignment_id String? @unique\n assessment_id String? @unique\n // Data Fields\n state OngoingEvaluationState? @default(NOT_STARTED)\n round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)\n comments String? @default(\"\")\n completed_at DateTime?\n assigned_at DateTime?\n result_at DateTime?\n is_committed Boolean?\n /// Evaluation Plan Fields Filled After Round Started\n title String?\n description String?\n order_no Int?\n format EvaluationRoundFormat?\n round_purpose String?\n focus_areas String[]\n topics String[]\n assignee String?\n elimination_round Boolean? @default(false)\n evaluation_type EvaluationType?\n type_of_round RoundType?\n duration Int?\n deadline Int?\n duration_unit DurationUnit?\n details Json?\n category EvaluationCategory?\n // Audit Fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_current Boolean @default(false)\n // Relations\n jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n assignment Assignment?\n assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n\n @@unique([application_id, evaluation_plan_id])\n @@index([application_id])\n @@index([evaluation_plan_id])\n @@schema(\"public\")\n}\n\nmodel OpenJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n role_title String?\n department String?\n hiring_manager_id String?\n hiring_manager_name String?\n location String?\n compensation String?\n vacancies Int @default(1)\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n application_count Int @default(0)\n unscreened_count Int @default(0)\n ongoing_count Int @default(0)\n selected_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n withdrawn_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, is_open])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, opened_at])\n @@index([organisation_id, job_number])\n @@index([organisation_id, is_open, closure_type, closing_date])\n @@index([job_description_id])\n @@map(\"open_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel OpenJobAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n\n job_code String?\n job_number Int?\n role_title String?\n department String?\n hiring_manager_id String?\n hiring_manager_name String?\n location String?\n compensation String?\n vacancies Int @default(1)\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n application_count Int @default(0)\n unscreened_count Int @default(0)\n ongoing_count Int @default(0)\n selected_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n withdrawn_count Int @default(0)\n\n @@unique([snapshot_date, job_description_id])\n @@index([snapshot_date], map: \"ojad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id, is_open], map: \"ojad_snapshot_org_open_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"ojad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, opened_at], map: \"ojad_snapshot_org_opened_idx\")\n @@index([snapshot_date, organisation_id, job_number], map: \"ojad_snapshot_org_job_num_idx\")\n @@index([snapshot_date, job_description_id], map: \"ojad_snapshot_job_idx\")\n @@map(\"open_job_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum OrganisationSize {\n ONE_TO_TEN @map(\"1-10\")\n ELEVEN_TO_FIFTY @map(\"11-50\")\n FIFTY_ONE_TO_TWO_HUNDRED @map(\"51-200\")\n TWO_HUNDRED_ONE_TO_FIVE_HUNDRED @map(\"201-500\")\n FIVE_HUNDRED_PLUS @map(\"500+\")\n\n @@schema(\"public\")\n}\n\nmodel Organisation {\n id String @id @default(uuid())\n name String @unique\n industry String\n about String\n website String\n size OrganisationSize @default(ONE_TO_TEN)\n phone String\n address String\n company_values Json[]\n allowed_email_domains String[]\n send_email Boolean @default(true)\n interviewers User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n alias String? @unique\n logo String?\n job_sequence Int @default(1)\n employee_sequence Int @default(1)\n applications Application[]\n user_roles UserRole[]\n job_descriptions JobDescription[]\n job_profiles JobProfile[]\n assessment_library AssessmentLibrary[]\n assignment_library AssignmentLibrary[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n resumes Resume[] // one-to-many link\n approvals Approval[] // one-to-many link\n suggestions Suggestion[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actions Action[]\n integration_credentials IntegrationCredential[]\n zoho_sync_mappings ZohoSyncMapping[]\n assessments Assessment[]\n timezone String @default(\"Asia/Kolkata\")\n organisation_configs OrganisationConfig[]\n activity_events ActivityEvent[]\n\n channel_provider_configs ChannelProviderConfig[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n job_application_fields JobApplicationField[]\n documents Document[]\n job_application_templates JobApplicationTemplate[]\n sources Source[]\n evaluation_criteria EvaluationCriteria[]\n departments Department[]\n hiring_plans HiringPlan[]\n employees Employee[]\n\n @@index([name])\n @@schema(\"public\")\n}\n\nmodel OrganisationConfig {\n id String @id @default(uuid())\n organisation_id String\n config_key String\n value Json\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([organisation_id, config_key])\n @@map(\"organisationConfig\")\n @@schema(\"public\")\n}\n\nmodel Permission {\n id String @id @default(uuid())\n permissions String[] @default([])\n created_by String?\n updated_by String?\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n user User?\n user_roles UserRole?\n\n @@index([created_at])\n @@schema(\"public\")\n}\n\nmodel PipelineDistributionAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n application_count Int @default(0)\n filtered_in_count Int @default(0)\n min_fit_score Float?\n\n screening_count Int @default(0)\n business_screening_count Int @default(0)\n business_round_count Int @default(0)\n behavioral_round_count Int @default(0)\n\n shortlisted_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, job_number])\n @@index([job_description_id])\n @@map(\"pipeline_distribution_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel PipelineDistributionAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n application_count Int @default(0)\n filtered_in_count Int @default(0)\n min_fit_score Float?\n\n screening_count Int @default(0)\n business_screening_count Int @default(0)\n business_round_count Int @default(0)\n behavioral_round_count Int @default(0)\n\n shortlisted_count Int @default(0)\n\n @@unique([snapshot_date, job_description_id])\n @@index([snapshot_date], map: \"pdad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"pdad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"pdad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, job_number], map: \"pdad_snapshot_org_job_num_idx\")\n @@index([snapshot_date, job_description_id], map: \"pdad_snapshot_job_idx\")\n @@map(\"pipeline_distribution_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AsyncOperationStatus {\n PENDING\n IN_PROGRESS\n SUCCESS\n FAILED\n RETRYING\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel AsyncOperation {\n id String @id @default(uuid())\n // Identification\n operation_name String\n // Status tracking\n status AsyncOperationStatus @default(PENDING)\n started_at DateTime?\n completed_at DateTime?\n // Execution metadata\n payload Json?\n metadata Json?\n // Tracing\n correlationId String?\n sourceService String?\n // Retry information\n retry_count Int @default(0)\n max_retries Int @default(0)\n next_retry_at DateTime?\n // Error information\n error_message String?\n error_details String?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@index([status])\n @@index([operation_name])\n @@index([correlationId])\n @@schema(\"public\")\n}\n\nenum Difficulty {\n EASY // simple/basic questions\n MEDIUM // moderate difficulty\n HARD // challenging questions\n\n @@schema(\"public\")\n}\n\nmodel Question {\n id String @id @default(uuid())\n assessment_library_id String?\n evaluation_plan_id String?\n candidate_id String?\n skill String?\n question String\n answer String\n options String[] // For MCQ's\n max_score Float?\n difficulty Difficulty?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull)\n assessments AssessmentQuestion[] @relation(\"QuestionToAssessmentQuestion\")\n assessmentLibrary AssessmentLibrary? @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade)\n evaluationPlan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull)\n candidateResponse CandidateQuestionResponse[]\n\n @@schema(\"public\")\n}\n\nmodel RefreshToken {\n id String @id @default(uuid())\n user_id String\n token String @unique\n is_active Boolean @default(true)\n expires_at DateTime\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n user User @relation(\"TokenRefresh\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@schema(\"public\")\n}\n\nenum OpenJobClosureType {\n FILLED\n CANCELLED\n\n @@schema(\"analytics\")\n}\n\nmodel ReportingOverviewJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n hiring_manager_id String?\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n in_consideration_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n recruiters ReportingOverviewJobRecruiter[]\n\n @@index([organisation_id, is_open])\n @@index([organisation_id, hiring_manager_id, is_open])\n @@index([organisation_id, closing_date, closure_type])\n @@map(\"reporting_overview_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel ReportingOverviewJobRecruiter {\n id String @id @default(uuid())\n job_description_id String\n recruiter_user_id String\n\n job ReportingOverviewJobAnalytics @relation(fields: [job_description_id], references: [job_description_id], onDelete: Cascade)\n\n @@unique([job_description_id, recruiter_user_id])\n @@index([recruiter_user_id])\n @@map(\"reporting_overview_job_recruiters\")\n @@schema(\"analytics\")\n}\n\nmodel Resume {\n id String @id @default(uuid())\n user_id String?\n organisation_id String?\n job_description_id String?\n /// @deprecated Prefer `document_id` + `Document`. Kept until backfill completes.\n uploaded_resume_path String?\n document_id String? @unique\n /// Latest ATS template export (PDF). Null until first successful export.\n rendered_export_document_id String? @unique\n /// Last chosen ATS layout template id (e.g. ats-classic). Set on first export.\n resume_template_id String?\n /// @deprecated Prefer `Document.file_hash`. Kept for legacy read fallback.\n file_hash String?\n summary Json?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n name String?\n user User? @relation(fields: [user_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n document Document? @relation(\"ResumeSourceDocument\", fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n rendered_export_document Document? @relation(\"RenderedResumeExport\", fields: [rendered_export_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n\n resume_data ResumeData[] // one-to-many link\n fit_check FitCheck[] // one-to-many link\n // inverse side of the relation — no foreign key here\n candidate_profile CandidateProfile? // one-to-one link\n yearsOfExperience Int?\n\n @@index([user_id])\n @@index([file_hash])\n @@schema(\"public\")\n}\n\nmodel ResumeData {\n id String @id @default(uuid())\n resume_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([created_at])\n @@schema(\"public\")\n}\n\nenum RoundResult {\n PASSED\n FAILED\n\n @@schema(\"analytics\")\n}\n\nmodel RoundAnalytics {\n id String @id @default(uuid())\n\n // Core Dimensions\n organisation_id String\n\n application_id String\n\n candidate_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_id String @unique\n\n // Round Information\n round_name String?\n\n evaluation_category EvaluationCategory?\n\n round_type RoundType?\n\n // Lifecycle Timestamps\n assigned_at DateTime?\n\n scheduled_at DateTime?\n\n started_at DateTime?\n\n completed_at DateTime?\n\n evaluated_at DateTime?\n\n round_completed_at DateTime?\n round_created_at DateTime?\n\n // Decision\n round_result RoundResult?\n\n round_result_at DateTime?\n\n // Derived Metrics\n scheduling_duration_minutes Int?\n\n round_duration_minutes Int?\n\n feedback_duration_minutes Int?\n\n decision_duration_minutes Int?\n\n total_round_duration_minutes Int?\n\n is_custom Boolean @default(false)\n\n // Audit\n created_at DateTime @default(now())\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id])\n @@index([job_description_id])\n @@index([application_id])\n @@index([candidate_id])\n @@index([evaluation_category])\n @@index([round_result])\n @@map(\"round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel RoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n // Core Dimensions\n organisation_id String\n\n application_id String\n\n candidate_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_id String\n\n // Round Information\n round_name String?\n\n evaluation_category EvaluationCategory?\n\n round_type RoundType?\n\n // Lifecycle Timestamps\n assigned_at DateTime?\n\n scheduled_at DateTime?\n\n started_at DateTime?\n\n completed_at DateTime?\n\n evaluated_at DateTime?\n\n round_completed_at DateTime?\n round_created_at DateTime?\n\n // Decision\n round_result RoundResult?\n\n round_result_at DateTime?\n\n // Derived Metrics\n scheduling_duration_minutes Int?\n\n round_duration_minutes Int?\n\n feedback_duration_minutes Int?\n\n decision_duration_minutes Int?\n\n total_round_duration_minutes Int?\n\n is_custom Boolean @default(false)\n\n @@unique([snapshot_date, round_id])\n @@index([snapshot_date], map: \"rad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"rad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"rad_snapshot_job_idx\")\n @@index([snapshot_date, application_id], map: \"rad_snapshot_app_idx\")\n @@index([snapshot_date, candidate_id], map: \"rad_snapshot_candidate_idx\")\n @@index([snapshot_date, evaluation_category], map: \"rad_snapshot_eval_cat_idx\")\n @@index([snapshot_date, round_result], map: \"rad_snapshot_round_result_idx\")\n @@map(\"round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\n// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../../client\"\n binaryTargets = [\"native\", \"linux-arm64-openssl-1.1.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n\n schemas = [\"public\", \"analytics\"]\n}\n\nenum SourceCategory {\n JOB_BOARD\n REFERRAL\n AGENCY\n SOCIAL_MEDIA\n CAREERS_PAGE\n EVENT\n OTHER\n\n @@schema(\"public\")\n}\n\nmodel Source {\n id String @id @default(uuid())\n organisation_id String\n name String\n category SourceCategory?\n parent_source_id String?\n colour String?\n description String?\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n parent Source? @relation(\"SourceHierarchy\", fields: [parent_source_id], references: [id], onDelete: SetNull)\n children Source[] @relation(\"SourceHierarchy\")\n applications Application[]\n\n @@unique([organisation_id, name])\n @@index([organisation_id])\n @@index([organisation_id, category])\n @@index([organisation_id, is_active])\n @@index([parent_source_id])\n @@schema(\"public\")\n}\n\nmodel SourceEffectivenessAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String\n source_id String\n\n source_name String\n source_category SourceCategory?\n source_colour String?\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n applications_count Int @default(0)\n screened_count Int @default(0)\n evaluated_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n shortlisted_count Int @default(0)\n offered_count Int @default(0)\n offer_accepted_count Int @default(0)\n offer_declined_count Int @default(0)\n withdrawn_count Int @default(0)\n hired_count Int @default(0)\n\n total_fit_score Float @default(0)\n fit_score_sample_count Int @default(0)\n average_fit_score Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, job_description_id, source_id])\n @@index([organisation_id])\n @@index([organisation_id, source_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([job_description_id])\n @@map(\"source_effectiveness_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel SourceEffectivenessAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n source_id String\n\n source_name String\n source_category SourceCategory?\n source_colour String?\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n applications_count Int @default(0)\n screened_count Int @default(0)\n evaluated_count Int @default(0)\n rejected_count Int @default(0)\n on_hold_count Int @default(0)\n shortlisted_count Int @default(0)\n offered_count Int @default(0)\n offer_accepted_count Int @default(0)\n offer_declined_count Int @default(0)\n withdrawn_count Int @default(0)\n hired_count Int @default(0)\n\n total_fit_score Float @default(0)\n fit_score_sample_count Int @default(0)\n average_fit_score Float?\n\n @@unique([snapshot_date, organisation_id, job_description_id, source_id])\n @@index([snapshot_date], map: \"sead_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"sead_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, source_id], map: \"sead_snapshot_org_source_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"sead_snapshot_org_hm_idx\")\n @@index([snapshot_date, job_description_id], map: \"sead_snapshot_job_idx\")\n @@map(\"source_effectiveness_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel Suggestion {\n id String @id @default(uuid())\n interview_id String?\n transcript_id String? @unique // ✅ ensures one-to-one\n organisation_id String\n suggestion String?\n question String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull)\n transcripts Transcript[]\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nmodel Transcript {\n id String @id @default(uuid())\n interview_id String?\n suggestion_id String?\n intermediate_feedback_id String?\n job_description_id String?\n interviewer_timestamp DateTime?\n candidate_timestamp DateTime?\n interviewer String\n candidate String\n order_no Int @default(autoincrement())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: SetNull)\n suggestion Suggestion? @relation(fields: [suggestion_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nenum FirstLoginStatus {\n PENDING\n COMPLETED\n\n @@schema(\"public\")\n}\n\nenum UserInvitationStatus {\n INVITED\n ACCEPTED\n EXPIRED\n\n @@schema(\"public\")\n}\n\nmodel User {\n id String @id @default(uuid())\n email String @unique\n password String\n role_id String\n role UserRole @relation(fields: [role_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n organisation_id String?\n // Back-relations are defined from Resume side via user_id\n google_id String? @unique\n refresh_token String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_self_registered Boolean @default(true)\n permission_id String? @unique\n preferences Json? @default(\"{}\")\n invitation_status UserInvitationStatus @default(INVITED)\n invited_at DateTime? @default(now())\n invitation_expires_at DateTime?\n invitation_accepted_at DateTime?\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n resume Resume[]\n candidate_profile CandidateProfile?\n user_profile UserProfile?\n job_description JobDescription[]\n hiring_manager_job_descriptions JobDescription[] @relation(\"HiringManager\")\n hiring_manager_job_profiles JobProfile[] @relation(\"JobProfileHiringManager\")\n approvals Approval[]\n sent_messages Message[] @relation(\"Sent Messages\")\n received_messages Message[] @relation(\"Received Messages\")\n profile_created Boolean\n first_login_status FirstLoginStatus @default(PENDING)\n // Back-relations for interviews (optional but recommended for clarity)\n candidate_interviews Interview[] @relation(\"CandidateInterviews\")\n interviewer_interviews Interview[] @relation(\"InterviewerInterviews\")\n assessment_results Assessment[]\n candidate_assessments Assessment[] @relation(\"CandidateAssessments\")\n reviewer_assessments Assessment[] @relation(\"ReviewerAssessments\")\n candidate_assignments Assignment[] @relation(\"CandidateAssignments\")\n reviewer_assignments Assignment[] @relation(\"AssignmentReviewer\")\n candidateResponses CandidateQuestionResponse[]\n questions Question[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actor_activity_logs ActivityLog[] @relation(\"ActorActivityLogs\")\n actions Action[]\n calendly Calendly?\n google Google?\n fitChecks FitCheck[]\n created_job_profiles JobProfile[] @relation(\"ProfileCreator\")\n assigned_job_profiles JobProfile[] @relation(\"ProfileAssignee\")\n user_auth_modules AuthModule[] @relation(\"UserAuthModule\")\n refresh_token_auth RefreshToken[] @relation(\"TokenRefresh\")\n zoom_meeting_participants ZoomMeetingParticipant[]\n notes Notes[]\n recruiter_applications Application[] @relation(\"ApplicationRecruiter\")\n\n name String?\n phone String?\n description String?\n date_of_birth DateTime?\n designation String?\n location String?\n salary String?\n work_experience Json?\n education Json?\n skills Json?\n notice_period String?\n preferred_work_mode String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n professional_expertise String?\n documents Document[]\n\n employee_number Int?\n employee_code String? @unique\n\n department_members DepartmentMember[] @relation(\"DepartmentMemberships\")\n\n @@index([role_id])\n @@index([permission_id])\n @@index([organisation_id])\n @@index([organisation_id, employee_number])\n @@schema(\"public\")\n}\n\nmodel UserProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n description String\n date_of_birth String\n designation String\n is_active Boolean @default(true)\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n work_experience Json?\n\n @@schema(\"public\")\n}\n\n/// Expected attendee slot when persisting interview-linked Zoom participants (`CANDIDATE` | `INTERVIEWER`).\nenum ZoomMeetingParticipantRole {\n CANDIDATE\n INTERVIEWER\n\n @@schema(\"public\")\n}\n\n/// Zoom meeting linked 1:1 to an interview; Zoom REST host is `zoom_host_user_id`.\nmodel ZoomMeeting {\n id String @id @default(uuid())\n /// One Zoom row per interview.\n interview_id String @unique\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n /// Treadspace user id whose Zoom User-OAuth token created this meeting; required for PATCH/DELETE on Zoom REST.\n /// Set from the Zoom host `userId` in `ZoomMeetingDAO.upsertZoomParticipants` (same user as `POST /users/me/meetings`).\n zoom_host_user_id String\n\n /// Zoom REST/API meeting id (same value used as Meeting SDK `meetingNumber` / JWT `mn`).\n zoom_meeting_id String\n /// Zoom meeting **instance** UUID from REST create (`uuid`) and RTMS/webhooks (`meeting_uuid`).\n zoom_meeting_uuid String?\n join_url String\n start_url String?\n password String?\n topic String?\n\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Audit; kept aligned with `zoom_host_user_id` when the meeting is recreated under a new host.\n created_by String\n updated_by String\n\n participants ZoomMeetingParticipant[]\n\n @@index([interview_id])\n @@index([zoom_meeting_id])\n @@index([zoom_meeting_uuid])\n @@schema(\"public\")\n}\n\n/// Expected participants for a `ZoomMeeting`: links to `User` (candidate / interviewer). Replaced on each meeting upsert.\nmodel ZoomMeetingParticipant {\n id String @id @default(uuid())\n zoom_meeting_row_id String\n zoom_meeting ZoomMeeting @relation(fields: [zoom_meeting_row_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user_id String\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Zoom account id (`AuthModule.provider_account_id`) when this `user_id` has linked Zoom; usually set for interviewer, often null for candidate.\n zoom_participant_id String?\n role ZoomMeetingParticipantRole\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@index([zoom_meeting_row_id])\n @@index([user_id])\n @@index([zoom_participant_id])\n @@schema(\"public\")\n}\n\n/// Ledger of processed Zoom webhook deliveries: one row per `dedupe_key` (request id or body hash).\n/// Stops double-handling when Zoom retries the same notification (e.g. RTMS, `meeting.started`).\nmodel ZoomWebhookEvent {\n id String @id @default(uuid())\n /// Stable key: SHA-256 of raw request body, or `x-zm-trackingid` when present.\n dedupe_key String @unique\n event String\n created_at DateTime @default(now())\n\n @@index([event])\n @@index([created_at])\n @@schema(\"public\")\n}\n",
|
|
2600
|
+
"inlineSchemaHash": "ffe5448c2fe10722115386bff2b2cc595996a441a9d9561ae4df6b1ae76c5c0e",
|
|
2590
2601
|
"copyEngine": true
|
|
2591
2602
|
}
|
|
2592
2603
|
config.dirname = '/'
|
|
2593
2604
|
|
|
2594
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"CandidateQuestionResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"CandidateQuestionResponseToQuestion\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateQuestionResponseToUser\"}],\"dbName\":null},\"UserRole\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUserRole\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Action\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action_type\",\"kind\":\"enum\",\"type\":\"ActionType\"},{\"name\":\"action_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"due_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ActionStatus\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"ActivityEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event_type\",\"kind\":\"enum\",\"type\":\"ActivityEventType\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"ActivityEntityType\"},{\"name\":\"entity_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityEntityActorType\"},{\"name\":\"related_entities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"snapshot\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"schema_version\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"occurred_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActivityEventToOrganisation\"}],\"dbName\":\"activity_events\"},\"ActivityLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityActorType\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"actor\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ActivityLogToApplication\"}],\"dbName\":null},\"ApplicationAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_screened\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_evaluated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_rejected\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_shortlisted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_on_hold\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_withdrawn\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"has_committed_evaluation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"application_analytics\"},\"ApplicationAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_screened\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_evaluated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_rejected\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_shortlisted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_on_hold\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_withdrawn\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"has_committed_evaluation\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":\"application_analytics_daily\"},\"Application\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_jaf_completed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"proceed_to_next_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"on_notice_period\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expected_joining_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"current_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expected_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"preferred_location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluationComment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"ApplicationToFitCheck\"},{\"name\":\"recruiter\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationRecruiter\"},{\"name\":\"source\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"ApplicationToSource\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActivityLogToApplication\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Approval\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisaton_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApprovalToOrganisation\"}],\"dbName\":null},\"Assessment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"User\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoingEvaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"AssessmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"time_required\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passing_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"evaluation_Plans\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"}],\"dbName\":null},\"AssessmentQuestion\":{\"fields\":[{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"AssessmentRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssessmentRoundStatus\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"assessment_round_analytics\"},\"AssessmentRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssessmentRoundStatus\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"}],\"dbName\":\"assessment_round_analytics_daily\"},\"Assignment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoing_evaluation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"overallScore\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentToAssignmentLibrary\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"solution_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"zip_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"AssignmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assignment\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToAssignmentLibrary\"}],\"dbName\":null},\"AssignmentRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"assignment_round_analytics\"},\"AssignmentRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"}],\"dbName\":\"assignment_round_analytics_daily\"},\"AuthModule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"AuthProvider\"},{\"name\":\"provider_account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserAuthModule\"}],\"dbName\":null},\"Budget\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_type\",\"kind\":\"enum\",\"type\":\"JobType\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shift\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"budget_per_job\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"domain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"jd_creation_type\",\"kind\":\"enum\",\"type\":\"JDCreationType\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"hiring_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"BudgetToHiringPlanLine\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Calendly\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"calendly_user_uri\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"CandidateProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"planned_candidates\",\"kind\":\"object\",\"type\":\"PlannedCandidate\",\"relationName\":\"CandidateProfileToPlannedCandidate\"}],\"dbName\":null},\"ChannelProviderConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"credentials\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"Conversation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contact_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_thread_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unread_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_message_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CommunicationMessage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommMessageStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"from_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"to_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_message_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attachments\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"error\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sent_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"delivered_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"CommunicationMessageToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ContactUs\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Department\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sort_order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"DepartmentToOrganisation\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"DepartmentMember\",\"relationName\":\"DepartmentToDepartmentMember\"},{\"name\":\"hiring_plan_lines\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"DepartmentToHiringPlanLine\"},{\"name\":\"employees\",\"kind\":\"object\",\"type\":\"Employee\",\"relationName\":\"DepartmentToEmployee\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"DepartmentToJobDescription\"},{\"name\":\"sections\",\"kind\":\"object\",\"type\":\"HiringPlanSection\",\"relationName\":\"DepartmentToHiringPlanSection\"}],\"dbName\":null},\"DepartmentMember\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_head\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToDepartmentMember\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DepartmentMemberships\"}],\"dbName\":null},\"HiringPlanSection\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"HiringPlanSectionStatus\"},{\"name\":\"submitted_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"submitted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"approved_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"approved_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hiring_plan\",\"kind\":\"object\",\"type\":\"HiringPlan\",\"relationName\":\"HiringPlanToHiringPlanSection\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToHiringPlanSection\"}],\"dbName\":null},\"Document\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"original_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stored_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_extension\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_bucket\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mime_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_size\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DocumentToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeSourceDocument\"},{\"name\":\"resume_rendered_export\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"RenderedResumeExport\"},{\"name\":\"job_description_source\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"SourceDocument\"},{\"name\":\"job_description_rendered\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"job_description_display_html\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"DisplayHtmlDocument\"},{\"name\":\"interview_recording\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"DocumentToJobApplicationResponse\"},{\"name\":\"assignment_solution\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"assignment_zip\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"EvaluationCriteria\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"enum\",\"type\":\"CriteriaScope\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"criteria\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"weightage\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_elimination\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"EvaluationCriteriaToOrganisation\"}],\"dbName\":null},\"EvaluationPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"focus_areas\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timeline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"share_scope\",\"kind\":\"enum\",\"type\":\"EvaluationPlanShareScope\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"}],\"dbName\":null},\"Feedback\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"FeedbackToInterview\"}],\"dbName\":null},\"FitCheck\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skills_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"experience_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"skills_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"overall_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"short_match_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"recommendation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"candidate_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"technical_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competency_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToFitCheck\"}],\"dbName\":null},\"Google\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GoogleToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"HiringPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fiscal_year\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"period_type\",\"kind\":\"enum\",\"type\":\"PeriodType\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"HiringPlanStatus\"},{\"name\":\"total_headcount_budget\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_cost_budget\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"assumptions\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"HiringPlanToOrganisation\"},{\"name\":\"lines\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"HiringPlanToHiringPlanLine\"},{\"name\":\"sections\",\"kind\":\"object\",\"type\":\"HiringPlanSection\",\"relationName\":\"HiringPlanToHiringPlanSection\"}],\"dbName\":null},\"HiringPlanLine\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planned_headcount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cost_per_hire\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"start_month\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hire_schedule\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"sort_order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hiring_plan\",\"kind\":\"object\",\"type\":\"HiringPlan\",\"relationName\":\"HiringPlanToHiringPlanLine\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToHiringPlanLine\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"PlanLineTemplateJd\"},{\"name\":\"requisitions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"PlanLineRequisitions\"},{\"name\":\"budgets\",\"kind\":\"object\",\"type\":\"Budget\",\"relationName\":\"BudgetToHiringPlanLine\"},{\"name\":\"planned_candidates\",\"kind\":\"object\",\"type\":\"PlannedCandidate\",\"relationName\":\"HiringPlanLineToPlannedCandidate\"},{\"name\":\"backfill_from_employees\",\"kind\":\"object\",\"type\":\"Employee\",\"relationName\":\"EmployeeBackfillLine\"}],\"dbName\":null},\"Employee\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employment_type\",\"kind\":\"enum\",\"type\":\"JobType\"},{\"name\":\"starting_designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"current_designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"starting_salary\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"previous_salary\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"current_comp\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_increment_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"last_increment_amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"last_increment_pct\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"last_review_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"last_review_rating\",\"kind\":\"enum\",\"type\":\"ReviewRating\"},{\"name\":\"last_feedback_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"last_feedback_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"EmployeeStatus\"},{\"name\":\"attrition_risk\",\"kind\":\"enum\",\"type\":\"AttritionRisk\"},{\"name\":\"expected_exit_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"backfill_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"EmployeeToOrganisation\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToEmployee\"},{\"name\":\"backfill_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"EmployeeBackfillLine\"}],\"dbName\":null},\"PlannedCandidate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_profile_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PlannedCandidateStatus\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hiring_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"HiringPlanLineToPlannedCandidate\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToPlannedCandidate\"}],\"dbName\":null},\"IntegrationCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"auth_type\",\"kind\":\"enum\",\"type\":\"IntegrationAuthType\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"api_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"api_secret\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"IntegrationJobSync\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sync_enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_direction\",\"kind\":\"enum\",\"type\":\"SyncDirection\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ZohoSyncMapping\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"SyncEntityType\"},{\"name\":\"treadspace_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_module\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_record_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_status\",\"kind\":\"enum\",\"type\":\"SyncStatus\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Interview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"calendar_event_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"room_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recording_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recording_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"ai_interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"overall_feedback\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_rating\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interviewer_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"section_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_preparation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"final_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_analysis_ranges\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_flow_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_feedback_generated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"human_feedback_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reschedule_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_rescheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"awaiting_recruiter_action\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"recording_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"InterviewToResume\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"feedback\",\"kind\":\"object\",\"type\":\"Feedback\",\"relationName\":\"FeedbackToInterview\"},{\"name\":\"interviewNotes\",\"kind\":\"object\",\"type\":\"InterviewNotes\",\"relationName\":\"InterviewToInterviewNotes\"},{\"name\":\"liveAnalysis\",\"kind\":\"object\",\"type\":\"LiveAnalysis\",\"relationName\":\"InterviewToLiveAnalysis\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"InterviewToZoomMeeting\"}],\"dbName\":null},\"InterviewNotes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToInterviewNotes\"}],\"dbName\":null},\"InterviewRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"human_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendation\",\"kind\":\"enum\",\"type\":\"InterviewRecommendation\"},{\"name\":\"ai_disagrees_with_ai\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"difficulty_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"supportiveness_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interview_round_analytics\"},\"InterviewRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"human_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendation\",\"kind\":\"enum\",\"type\":\"InterviewRecommendation\"},{\"name\":\"ai_disagrees_with_ai\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"difficulty_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"supportiveness_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interview_round_analytics_daily\"},\"InterviewerOrganisationAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interviewer_organisation_analytics\"},\"InterviewerJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interviewer_job_analytics\"},\"InterviewerOrganisationAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interviewer_organisation_analytics_daily\"},\"InterviewerJobAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interviewer_job_analytics_daily\"},\"JobApplicationField\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_application_field_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_submitted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by_organisation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"field\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationTemplate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"enum\",\"type\":\"JobApplicationTemplateScope\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"}],\"dbName\":null},\"JobDescription\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobDescriptionStatus\"},{\"name\":\"screeningQuestions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendedQuestions\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"uploaded_job_description_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"display_html_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"display_html_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DisplayHtmlDocument\"},{\"name\":\"is_plan_published\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_posted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"ai_insight\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_profile_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_profile\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobDescriptionToJobProfile\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToJobDescription\"},{\"name\":\"source_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"SourceDocument\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"job_description_data\",\"kind\":\"object\",\"type\":\"JobDescriptionData\",\"relationName\":\"JobDescriptionToJobDescriptionData\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"budget\",\"kind\":\"object\",\"type\":\"Budget\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"HiringManager\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"JobDescriptionToTranscript\"},{\"name\":\"integration_job_syncs\",\"kind\":\"object\",\"type\":\"IntegrationJobSync\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToJobDescription\"},{\"name\":\"hiring_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"PlanLineRequisitions\"},{\"name\":\"referenced_by_plan_lines\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"PlanLineTemplateJd\"}],\"dbName\":null},\"JobDescriptionData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobDescriptionData\"}],\"dbName\":null},\"JobProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assigned_to\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobProfileStatus\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_arrangement\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employment_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_min\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"comp_range\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"budget\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"must_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"nice_to_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"culture\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competencies\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"conversation_history\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"orion_execution_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"creator\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assignee\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobProfile\"}],\"dbName\":null},\"JobRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assigned_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"completed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"failed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"no_show_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_completion_minutes\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"avg_completion_minutes\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"JobRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assigned_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"completed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"failed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"no_show_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_completion_minutes\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"avg_completion_minutes\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"job_round_analytics_daily\"},\"LiveAnalysis\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToLiveAnalysis\"}],\"dbName\":null},\"Message\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"receiver_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Sent Messages\"},{\"name\":\"receiver\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Received Messages\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Notes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pinned\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotesToUser\"}],\"dbName\":null},\"OngoingEvaluation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationState\"},{\"name\":\"round_status\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationRoundStatus\"},{\"name\":\"comments\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_committed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"round_purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"focus_areas\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_current\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"assignment\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"OpenJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"compensation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vacancies\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unscreened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ongoing_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"selected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"open_job_analytics\"},\"OpenJobAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"compensation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vacancies\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unscreened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ongoing_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"selected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":\"open_job_analytics_daily\"},\"Organisation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"industry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"about\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"size\",\"kind\":\"enum\",\"type\":\"OrganisationSize\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"allowed_email_domains\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"send_email\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewers\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"alias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"employee_sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToOrganisation\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"OrganisationToSuggestion\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"integration_credentials\",\"kind\":\"object\",\"type\":\"IntegrationCredential\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"zoho_sync_mappings\",\"kind\":\"object\",\"type\":\"ZohoSyncMapping\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"timezone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_configs\",\"kind\":\"object\",\"type\":\"OrganisationConfig\",\"relationName\":\"OrganisationToOrganisationConfig\"},{\"name\":\"activity_events\",\"kind\":\"object\",\"type\":\"ActivityEvent\",\"relationName\":\"ActivityEventToOrganisation\"},{\"name\":\"channel_provider_configs\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"job_application_fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"job_application_templates\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"sources\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"OrganisationToSource\"},{\"name\":\"evaluation_criteria\",\"kind\":\"object\",\"type\":\"EvaluationCriteria\",\"relationName\":\"EvaluationCriteriaToOrganisation\"},{\"name\":\"departments\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToOrganisation\"},{\"name\":\"hiring_plans\",\"kind\":\"object\",\"type\":\"HiringPlan\",\"relationName\":\"HiringPlanToOrganisation\"},{\"name\":\"employees\",\"kind\":\"object\",\"type\":\"Employee\",\"relationName\":\"EmployeeToOrganisation\"}],\"dbName\":null},\"OrganisationConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToOrganisationConfig\"}],\"dbName\":\"organisationConfig\"},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PermissionToUser\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"PermissionToUserRole\"}],\"dbName\":null},\"PipelineDistributionAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_in_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"min_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"behavioral_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"pipeline_distribution_analytics\"},\"PipelineDistributionAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_in_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"min_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"behavioral_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":\"pipeline_distribution_analytics_daily\"},\"AsyncOperation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AsyncOperationStatus\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"correlationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceService\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retry_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"max_retries\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"next_retry_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"error_details\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Question\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skill\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"answer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"difficulty\",\"kind\":\"enum\",\"type\":\"Difficulty\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"QuestionToUser\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"assessmentLibrary\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToQuestion\"}],\"dbName\":null},\"RefreshToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TokenRefresh\"}],\"dbName\":null},\"ReportingOverviewJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_consideration_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"ReportingOverviewJobRecruiter\",\"relationName\":\"ReportingOverviewJobAnalyticsToReportingOverviewJobRecruiter\"}],\"dbName\":\"reporting_overview_job_analytics\"},\"ReportingOverviewJobRecruiter\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job\",\"kind\":\"object\",\"type\":\"ReportingOverviewJobAnalytics\",\"relationName\":\"ReportingOverviewJobAnalyticsToReportingOverviewJobRecruiter\"}],\"dbName\":\"reporting_overview_job_recruiters\"},\"Resume\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploaded_resume_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_export_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ResumeToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"ResumeSourceDocument\"},{\"name\":\"rendered_export_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedResumeExport\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToResume\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"resume_data\",\"kind\":\"object\",\"type\":\"ResumeData\",\"relationName\":\"ResumeToResumeData\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"yearsOfExperience\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"ResumeData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToResumeData\"}],\"dbName\":null},\"RoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"round_result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduling_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"decision_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"round_analytics\"},\"RoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"round_result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduling_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"decision_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":\"round_analytics_daily\"},\"Source\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"parent_source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSource\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceHierarchy\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceHierarchy\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToSource\"}],\"dbName\":null},\"SourceEffectivenessAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"screened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"evaluated_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_declined_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit_score_sample_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"source_effectiveness_analytics\"},\"SourceEffectivenessAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"screened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"evaluated_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_declined_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit_score_sample_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"source_effectiveness_analytics_daily\"},\"Suggestion\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transcript_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSuggestion\"}],\"dbName\":null},\"Transcript\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"intermediate_feedback_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"candidate_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"interviewer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestion\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToTranscript\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_self_registered\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferences\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invitation_status\",\"kind\":\"enum\",\"type\":\"UserInvitationStatus\"},{\"name\":\"invited_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_accepted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToUser\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_profile\",\"kind\":\"object\",\"type\":\"UserProfile\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"hiring_manager_job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"HiringManager\"},{\"name\":\"hiring_manager_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"sent_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Sent Messages\"},{\"name\":\"received_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Received Messages\"},{\"name\":\"profile_created\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"first_login_status\",\"kind\":\"enum\",\"type\":\"FirstLoginStatus\"},{\"name\":\"candidate_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"assessment_results\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"candidate_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"candidate_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"reviewer_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"candidateResponses\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToUser\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToUser\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"actor_activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToUser\"},{\"name\":\"calendly\",\"kind\":\"object\",\"type\":\"Calendly\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"google\",\"kind\":\"object\",\"type\":\"Google\",\"relationName\":\"GoogleToUser\"},{\"name\":\"fitChecks\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"created_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assigned_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"user_auth_modules\",\"kind\":\"object\",\"type\":\"AuthModule\",\"relationName\":\"UserAuthModule\"},{\"name\":\"refresh_token_auth\",\"kind\":\"object\",\"type\":\"RefreshToken\",\"relationName\":\"TokenRefresh\"},{\"name\":\"zoom_meeting_participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"NotesToUser\"},{\"name\":\"recruiter_applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationRecruiter\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferred_work_mode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_expertise\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToUser\"},{\"name\":\"employee_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"employee_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_members\",\"kind\":\"object\",\"type\":\"DepartmentMember\",\"relationName\":\"DepartmentMemberships\"}],\"dbName\":null},\"UserProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"}],\"dbName\":null},\"ZoomMeeting\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToZoomMeeting\"},{\"name\":\"zoom_host_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"join_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topic\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"}],\"dbName\":null},\"ZoomMeetingParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_row_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"zoom_participant_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"ZoomMeetingParticipantRole\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"ZoomWebhookEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dedupe_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
|
|
2605
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"CandidateQuestionResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"CandidateQuestionResponseToQuestion\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateQuestionResponseToUser\"}],\"dbName\":null},\"UserRole\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUserRole\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Action\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action_type\",\"kind\":\"enum\",\"type\":\"ActionType\"},{\"name\":\"action_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"due_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ActionStatus\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"ActivityEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event_type\",\"kind\":\"enum\",\"type\":\"ActivityEventType\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"ActivityEntityType\"},{\"name\":\"entity_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityEntityActorType\"},{\"name\":\"related_entities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"snapshot\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"schema_version\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"occurred_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActivityEventToOrganisation\"}],\"dbName\":\"activity_events\"},\"ActivityLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityActorType\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"actor\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ActivityLogToApplication\"}],\"dbName\":null},\"ApplicationAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_screened\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_evaluated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_rejected\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_shortlisted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_on_hold\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_withdrawn\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"has_committed_evaluation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"application_analytics\"},\"ApplicationAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_screened\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_evaluated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_rejected\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_shortlisted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_on_hold\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_withdrawn\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"has_committed_evaluation\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":\"application_analytics_daily\"},\"Application\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_jaf_completed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"proceed_to_next_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"on_notice_period\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expected_joining_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"current_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expected_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"preferred_location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluationComment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"ApplicationToFitCheck\"},{\"name\":\"recruiter\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationRecruiter\"},{\"name\":\"source\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"ApplicationToSource\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActivityLogToApplication\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Approval\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisaton_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApprovalToOrganisation\"}],\"dbName\":null},\"Assessment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"User\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoingEvaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"AssessmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"time_required\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passing_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"evaluation_Plans\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"}],\"dbName\":null},\"AssessmentQuestion\":{\"fields\":[{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"AssessmentRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssessmentRoundStatus\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"assessment_round_analytics\"},\"AssessmentRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssessmentRoundStatus\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"}],\"dbName\":\"assessment_round_analytics_daily\"},\"Assignment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoing_evaluation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"overallScore\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentToAssignmentLibrary\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"solution_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"zip_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"AssignmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assignment\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToAssignmentLibrary\"}],\"dbName\":null},\"AssignmentRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"assignment_round_analytics\"},\"AssignmentRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"}],\"dbName\":\"assignment_round_analytics_daily\"},\"AuthModule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"AuthProvider\"},{\"name\":\"provider_account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserAuthModule\"}],\"dbName\":null},\"Budget\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_type\",\"kind\":\"enum\",\"type\":\"JobType\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shift\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"budget_per_job\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"domain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"jd_creation_type\",\"kind\":\"enum\",\"type\":\"JDCreationType\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"hiring_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"BudgetToHiringPlanLine\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Calendly\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"calendly_user_uri\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"CandidateProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"planned_candidates\",\"kind\":\"object\",\"type\":\"PlannedCandidate\",\"relationName\":\"CandidateProfileToPlannedCandidate\"}],\"dbName\":null},\"ChannelProviderConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"credentials\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"Conversation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contact_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_thread_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unread_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_message_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CommunicationMessage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommMessageStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"from_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"to_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_message_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attachments\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"error\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sent_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"delivered_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"CommunicationMessageToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ContactUs\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Department\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sort_order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"DepartmentToOrganisation\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"DepartmentMember\",\"relationName\":\"DepartmentToDepartmentMember\"},{\"name\":\"hiring_plan_lines\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"DepartmentToHiringPlanLine\"},{\"name\":\"employees\",\"kind\":\"object\",\"type\":\"Employee\",\"relationName\":\"DepartmentToEmployee\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"DepartmentToJobDescription\"},{\"name\":\"sections\",\"kind\":\"object\",\"type\":\"HiringPlanSection\",\"relationName\":\"DepartmentToHiringPlanSection\"}],\"dbName\":null},\"DepartmentMember\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_head\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToDepartmentMember\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DepartmentMemberships\"}],\"dbName\":null},\"HiringPlanSection\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"HiringPlanSectionStatus\"},{\"name\":\"requested_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"requested_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"submitted_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"submitted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"approved_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"approved_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"skipped_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skipped_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"review_note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hiring_plan\",\"kind\":\"object\",\"type\":\"HiringPlan\",\"relationName\":\"HiringPlanToHiringPlanSection\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToHiringPlanSection\"}],\"dbName\":null},\"Document\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"original_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stored_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_extension\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_bucket\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mime_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_size\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DocumentToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeSourceDocument\"},{\"name\":\"resume_rendered_export\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"RenderedResumeExport\"},{\"name\":\"job_description_source\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"SourceDocument\"},{\"name\":\"job_description_rendered\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"job_description_display_html\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"DisplayHtmlDocument\"},{\"name\":\"interview_recording\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"DocumentToJobApplicationResponse\"},{\"name\":\"assignment_solution\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"assignment_zip\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"EvaluationCriteria\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"enum\",\"type\":\"CriteriaScope\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"criteria\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"weightage\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_elimination\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"EvaluationCriteriaToOrganisation\"}],\"dbName\":null},\"EvaluationPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"focus_areas\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timeline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"share_scope\",\"kind\":\"enum\",\"type\":\"EvaluationPlanShareScope\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"}],\"dbName\":null},\"Feedback\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"FeedbackToInterview\"}],\"dbName\":null},\"FitCheck\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skills_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"experience_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"skills_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"overall_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"short_match_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"recommendation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"candidate_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"technical_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competency_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToFitCheck\"}],\"dbName\":null},\"Google\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GoogleToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"HiringPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fiscal_year\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"period_type\",\"kind\":\"enum\",\"type\":\"PeriodType\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"HiringPlanStatus\"},{\"name\":\"total_headcount_budget\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_cost_budget\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"assumptions\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"HiringPlanToOrganisation\"},{\"name\":\"lines\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"HiringPlanToHiringPlanLine\"},{\"name\":\"sections\",\"kind\":\"object\",\"type\":\"HiringPlanSection\",\"relationName\":\"HiringPlanToHiringPlanSection\"}],\"dbName\":null},\"HiringPlanLine\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planned_headcount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cost_per_hire\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"start_month\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hire_schedule\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"sort_order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hiring_plan\",\"kind\":\"object\",\"type\":\"HiringPlan\",\"relationName\":\"HiringPlanToHiringPlanLine\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToHiringPlanLine\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"PlanLineTemplateJd\"},{\"name\":\"requisitions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"PlanLineRequisitions\"},{\"name\":\"budgets\",\"kind\":\"object\",\"type\":\"Budget\",\"relationName\":\"BudgetToHiringPlanLine\"},{\"name\":\"planned_candidates\",\"kind\":\"object\",\"type\":\"PlannedCandidate\",\"relationName\":\"HiringPlanLineToPlannedCandidate\"},{\"name\":\"backfill_from_employees\",\"kind\":\"object\",\"type\":\"Employee\",\"relationName\":\"EmployeeBackfillLine\"}],\"dbName\":null},\"Employee\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employment_type\",\"kind\":\"enum\",\"type\":\"JobType\"},{\"name\":\"starting_designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"current_designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"starting_salary\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"previous_salary\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"current_comp\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_increment_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"last_increment_amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"last_increment_pct\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"last_review_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"last_review_rating\",\"kind\":\"enum\",\"type\":\"ReviewRating\"},{\"name\":\"last_feedback_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"last_feedback_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"EmployeeStatus\"},{\"name\":\"attrition_risk\",\"kind\":\"enum\",\"type\":\"AttritionRisk\"},{\"name\":\"expected_exit_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"backfill_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"EmployeeToOrganisation\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToEmployee\"},{\"name\":\"backfill_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"EmployeeBackfillLine\"}],\"dbName\":null},\"PlannedCandidate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_profile_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PlannedCandidateStatus\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"hiring_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"HiringPlanLineToPlannedCandidate\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToPlannedCandidate\"}],\"dbName\":null},\"IntegrationCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"auth_type\",\"kind\":\"enum\",\"type\":\"IntegrationAuthType\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"api_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"api_secret\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"IntegrationJobSync\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sync_enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_direction\",\"kind\":\"enum\",\"type\":\"SyncDirection\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ZohoSyncMapping\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"SyncEntityType\"},{\"name\":\"treadspace_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_module\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_record_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_status\",\"kind\":\"enum\",\"type\":\"SyncStatus\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Interview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"calendar_event_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"room_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recording_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recording_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"ai_interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"overall_feedback\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_rating\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interviewer_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"section_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_preparation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"final_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_analysis_ranges\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_flow_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_feedback_generated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"human_feedback_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reschedule_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_rescheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"awaiting_recruiter_action\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"recording_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"InterviewToResume\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"feedback\",\"kind\":\"object\",\"type\":\"Feedback\",\"relationName\":\"FeedbackToInterview\"},{\"name\":\"interviewNotes\",\"kind\":\"object\",\"type\":\"InterviewNotes\",\"relationName\":\"InterviewToInterviewNotes\"},{\"name\":\"liveAnalysis\",\"kind\":\"object\",\"type\":\"LiveAnalysis\",\"relationName\":\"InterviewToLiveAnalysis\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"InterviewToZoomMeeting\"}],\"dbName\":null},\"InterviewNotes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToInterviewNotes\"}],\"dbName\":null},\"InterviewRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"human_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendation\",\"kind\":\"enum\",\"type\":\"InterviewRecommendation\"},{\"name\":\"ai_disagrees_with_ai\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"difficulty_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"supportiveness_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interview_round_analytics\"},\"InterviewRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"human_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendation\",\"kind\":\"enum\",\"type\":\"InterviewRecommendation\"},{\"name\":\"ai_disagrees_with_ai\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"difficulty_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"supportiveness_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interview_round_analytics_daily\"},\"InterviewerOrganisationAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interviewer_organisation_analytics\"},\"InterviewerJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interviewer_job_analytics\"},\"InterviewerOrganisationAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interviewer_organisation_analytics_daily\"},\"InterviewerJobAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interviewer_job_analytics_daily\"},\"JobApplicationField\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_application_field_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_submitted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by_organisation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"field\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationTemplate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"enum\",\"type\":\"JobApplicationTemplateScope\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"}],\"dbName\":null},\"JobDescription\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobDescriptionStatus\"},{\"name\":\"screeningQuestions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendedQuestions\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"uploaded_job_description_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"display_html_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"display_html_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DisplayHtmlDocument\"},{\"name\":\"is_plan_published\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_posted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"ai_insight\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_profile_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_profile\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobDescriptionToJobProfile\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"department\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToJobDescription\"},{\"name\":\"source_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"SourceDocument\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"job_description_data\",\"kind\":\"object\",\"type\":\"JobDescriptionData\",\"relationName\":\"JobDescriptionToJobDescriptionData\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"budget\",\"kind\":\"object\",\"type\":\"Budget\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"HiringManager\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"JobDescriptionToTranscript\"},{\"name\":\"integration_job_syncs\",\"kind\":\"object\",\"type\":\"IntegrationJobSync\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToJobDescription\"},{\"name\":\"hiring_plan_line_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_plan_line\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"PlanLineRequisitions\"},{\"name\":\"referenced_by_plan_lines\",\"kind\":\"object\",\"type\":\"HiringPlanLine\",\"relationName\":\"PlanLineTemplateJd\"}],\"dbName\":null},\"JobDescriptionData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobDescriptionData\"}],\"dbName\":null},\"JobProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assigned_to\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobProfileStatus\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_arrangement\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employment_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_min\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"comp_range\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"budget\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"must_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"nice_to_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"culture\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competencies\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"conversation_history\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"orion_execution_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"creator\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assignee\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobProfile\"}],\"dbName\":null},\"JobRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assigned_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"completed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"failed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"no_show_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_completion_minutes\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"avg_completion_minutes\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"JobRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assigned_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"completed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"failed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"no_show_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_completion_minutes\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"avg_completion_minutes\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"job_round_analytics_daily\"},\"LiveAnalysis\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToLiveAnalysis\"}],\"dbName\":null},\"Message\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"receiver_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Sent Messages\"},{\"name\":\"receiver\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Received Messages\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Notes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pinned\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotesToUser\"}],\"dbName\":null},\"OngoingEvaluation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationState\"},{\"name\":\"round_status\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationRoundStatus\"},{\"name\":\"comments\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_committed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"round_purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"focus_areas\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_current\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"assignment\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"OpenJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"compensation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vacancies\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unscreened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ongoing_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"selected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"open_job_analytics\"},\"OpenJobAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"compensation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vacancies\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unscreened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ongoing_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"selected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":\"open_job_analytics_daily\"},\"Organisation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"industry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"about\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"size\",\"kind\":\"enum\",\"type\":\"OrganisationSize\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"allowed_email_domains\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"send_email\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewers\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"alias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"employee_sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToOrganisation\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"OrganisationToSuggestion\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"integration_credentials\",\"kind\":\"object\",\"type\":\"IntegrationCredential\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"zoho_sync_mappings\",\"kind\":\"object\",\"type\":\"ZohoSyncMapping\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"timezone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_configs\",\"kind\":\"object\",\"type\":\"OrganisationConfig\",\"relationName\":\"OrganisationToOrganisationConfig\"},{\"name\":\"activity_events\",\"kind\":\"object\",\"type\":\"ActivityEvent\",\"relationName\":\"ActivityEventToOrganisation\"},{\"name\":\"channel_provider_configs\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"job_application_fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"job_application_templates\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"sources\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"OrganisationToSource\"},{\"name\":\"evaluation_criteria\",\"kind\":\"object\",\"type\":\"EvaluationCriteria\",\"relationName\":\"EvaluationCriteriaToOrganisation\"},{\"name\":\"departments\",\"kind\":\"object\",\"type\":\"Department\",\"relationName\":\"DepartmentToOrganisation\"},{\"name\":\"hiring_plans\",\"kind\":\"object\",\"type\":\"HiringPlan\",\"relationName\":\"HiringPlanToOrganisation\"},{\"name\":\"employees\",\"kind\":\"object\",\"type\":\"Employee\",\"relationName\":\"EmployeeToOrganisation\"}],\"dbName\":null},\"OrganisationConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToOrganisationConfig\"}],\"dbName\":\"organisationConfig\"},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PermissionToUser\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"PermissionToUserRole\"}],\"dbName\":null},\"PipelineDistributionAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_in_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"min_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"behavioral_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"pipeline_distribution_analytics\"},\"PipelineDistributionAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_in_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"min_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"behavioral_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":\"pipeline_distribution_analytics_daily\"},\"AsyncOperation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AsyncOperationStatus\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"correlationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceService\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retry_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"max_retries\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"next_retry_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"error_details\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Question\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skill\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"answer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"difficulty\",\"kind\":\"enum\",\"type\":\"Difficulty\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"QuestionToUser\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"assessmentLibrary\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToQuestion\"}],\"dbName\":null},\"RefreshToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TokenRefresh\"}],\"dbName\":null},\"ReportingOverviewJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_consideration_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"ReportingOverviewJobRecruiter\",\"relationName\":\"ReportingOverviewJobAnalyticsToReportingOverviewJobRecruiter\"}],\"dbName\":\"reporting_overview_job_analytics\"},\"ReportingOverviewJobRecruiter\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job\",\"kind\":\"object\",\"type\":\"ReportingOverviewJobAnalytics\",\"relationName\":\"ReportingOverviewJobAnalyticsToReportingOverviewJobRecruiter\"}],\"dbName\":\"reporting_overview_job_recruiters\"},\"Resume\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploaded_resume_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_export_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ResumeToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"ResumeSourceDocument\"},{\"name\":\"rendered_export_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedResumeExport\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToResume\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"resume_data\",\"kind\":\"object\",\"type\":\"ResumeData\",\"relationName\":\"ResumeToResumeData\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"yearsOfExperience\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"ResumeData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToResumeData\"}],\"dbName\":null},\"RoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"round_result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduling_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"decision_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"round_analytics\"},\"RoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"round_result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduling_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"decision_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":\"round_analytics_daily\"},\"Source\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"parent_source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSource\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceHierarchy\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceHierarchy\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToSource\"}],\"dbName\":null},\"SourceEffectivenessAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"screened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"evaluated_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_declined_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit_score_sample_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"source_effectiveness_analytics\"},\"SourceEffectivenessAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"screened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"evaluated_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"on_hold_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_declined_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit_score_sample_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"source_effectiveness_analytics_daily\"},\"Suggestion\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transcript_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSuggestion\"}],\"dbName\":null},\"Transcript\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"intermediate_feedback_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"candidate_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"interviewer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestion\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToTranscript\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_self_registered\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferences\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invitation_status\",\"kind\":\"enum\",\"type\":\"UserInvitationStatus\"},{\"name\":\"invited_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_accepted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToUser\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_profile\",\"kind\":\"object\",\"type\":\"UserProfile\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"hiring_manager_job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"HiringManager\"},{\"name\":\"hiring_manager_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"sent_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Sent Messages\"},{\"name\":\"received_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Received Messages\"},{\"name\":\"profile_created\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"first_login_status\",\"kind\":\"enum\",\"type\":\"FirstLoginStatus\"},{\"name\":\"candidate_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"assessment_results\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"candidate_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"candidate_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"reviewer_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"candidateResponses\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToUser\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToUser\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"actor_activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToUser\"},{\"name\":\"calendly\",\"kind\":\"object\",\"type\":\"Calendly\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"google\",\"kind\":\"object\",\"type\":\"Google\",\"relationName\":\"GoogleToUser\"},{\"name\":\"fitChecks\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"created_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assigned_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"user_auth_modules\",\"kind\":\"object\",\"type\":\"AuthModule\",\"relationName\":\"UserAuthModule\"},{\"name\":\"refresh_token_auth\",\"kind\":\"object\",\"type\":\"RefreshToken\",\"relationName\":\"TokenRefresh\"},{\"name\":\"zoom_meeting_participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"NotesToUser\"},{\"name\":\"recruiter_applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationRecruiter\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferred_work_mode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_expertise\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToUser\"},{\"name\":\"employee_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"employee_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department_members\",\"kind\":\"object\",\"type\":\"DepartmentMember\",\"relationName\":\"DepartmentMemberships\"}],\"dbName\":null},\"UserProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"}],\"dbName\":null},\"ZoomMeeting\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToZoomMeeting\"},{\"name\":\"zoom_host_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"join_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topic\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"}],\"dbName\":null},\"ZoomMeetingParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_row_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"zoom_participant_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"ZoomMeetingParticipantRole\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"ZoomWebhookEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dedupe_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
|
|
2595
2606
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
2596
2607
|
config.engineWasm = {
|
|
2597
2608
|
getRuntime: async () => require('./query_engine_bg.js'),
|