Перейти до змісту

Прийом на роботу (Employee Onboarding)

Прийом на роботу - це задача, яка дозволяє автоматизувати процес найму нового співробітника, включаючи створення та підписання необхідних документів, валідацію анкетних даних та переведення співробітника в статус "працює".

Налаштування шаблону задачі "Прийом" доступне лише через веб-інтерфейс Вчасно.Кадри. API дозволяє лише створювати задачі на основі вже налаштованих шаблонів.

Особливості задачі "Прийом"

Задача "Прийом" відрізняється від інших задач наступними особливостями:

  1. Валідація анкетних даних - можливість відправити анкету співробітника на заповнення та валідацію через спеціальні ендпоінти /submit-questionnaire та /submit-approve-questionnaire
  2. Автоматичний перевід співробітника в статус "працює" - після завершення всіх маршрутів задачі, співробітник автоматично отримує статус working
  3. Прив'язка до співробітника зі статусом candidate або draft - задачу можна створити тільки для співробітників, які ще не працюють

Статуси задачі

Задача "Прийом" має наступні статуси:

Статус Опис
new Задача створена, але документи ще не відправлені на підписання
in_progress Документи відправлені на підписання, процес в процесі виконання
completed Всі документи підписані, задача завершена, співробітник переведений в статус working
canceled Задача скасована

Статуси маршруту задачі (Task Route)

Кожен маршрут в задачі має свій статус:

Статус Опис
new Маршрут створений, але ще не активний
in_progress Маршрут активний, документи на підписанні
completed Маршрут завершений, всі документи підписані
canceled Маршрут скасований

Типи маршрутів для задачі "Прийом"

Задача "Прийом" може містити наступні типи маршрутів:

Тип маршруту Опис
questionnaire_sent Відправлення анкети співробітнику на заповнення
questionnaire_validation Валідація заповненої анкети співробітника
document_generation Генерація документів на основі шаблонів
signing Підписання документів
approval Погодження документів
make_employee_working Автоматичний перевід співробітника в статус working

Статуси документів

Документи в рамках задачі "Прийом" мають наступні статуси:

Статус Опис
new Документ створений, але ще не відправлений на підписання
in_progress Документ відправлений на підписання, очікується підпис
completed Документ підписаний всіма підписантами
canceled Документ скасований

Статуси підписантів

Кожен підписант документа має свій статус:

Статус Опис
new Підписант доданий, але документ ще не відправлений
completed Підписант підписав документ
declined Підписант відхилив документ

Робота з анкетними даними (Questionnaire)

Одна з ключових особливостей задачі "Прийом" - можливість роботи з анкетними даними співробітника. Це дозволяє:

  1. Відправити анкету співробітнику через маршрут типу questionnaire_sent
  2. Отримати заповнені дані від співробітника
  3. Провалідувати дані через маршрут типу questionnaire_validation
  4. Зберегти дані в профілі співробітника

Ендпоінти для роботи з анкетою

POST /api/public/v1/employee-onboarding/{task_id}/submit-questionnaire - відправити заповнену анкету на валідацію. Дані будуть збережені, але анкета залишиться на етапі валідації (is_questionnaire_approved=false).

POST /api/public/v1/employee-onboarding/{task_id}/submit-approve-questionnaire - відправити та затвердити анкету одночасно. Дані будуть збережені та анкета буде затверджена (is_questionnaire_approved=true), маршрут questionnaire_validation автоматично завершиться.

Обидва ендпоінти приймають структуру EmployeeProfileUpdateSerializer, яка включає: - Базову інформацію про співробітника - Документи (паспорт, ІПН, адреса, освіта, військовий облік, тощо) - Соціальні статуси

Детальніше про структуру профілю співробітника див. в документації Employee.

Очікувана послідовність дій для задачі "Прийом"

Базовий сценарій без анкети

  1. Створити задачу "Прийом", передавши ID співробітника зі статусом candidate або draft

  2. Отримати створену задачу та її маршрути

  3. Отримати документи для підпису

  4. При необхідності, створити додаткові документи

  5. При необхідності, завантажити файл документу

  6. Отримати список підписантів документа

  7. При необхідності, додати або видалити підписантів

  8. Відправити документи на підписання

  9. При необхідності, надіслати нагадування підписанту

  10. Скачати підписаний документ

Сценарій з анкетою

Якщо в шаблоні задачі налаштовано маршрути questionnaire_sent та questionnaire_validation, послідовність дій може бути наступною:

  1. Створити задачу "Прийом"

  2. Система автоматично відправить анкету співробітнику через маршрут questionnaire_sent

  3. Співробітник заповнює анкету через веб-інтерфейс або через інтеграцію

  4. Відправити заповнену анкету на валідацію через API:

  5. Після перевірки даних, затвердити анкету:

  6. Після затвердження анкети, маршрут questionnaire_validation автоматично завершиться

  7. Продовжити роботу з документами (кроки 3-10 з базового сценарію)

Додаткові операції

Оновлення задачі

Задачу можна оновити через ендпоінт PATCH /api/public/v1/employee-onboarding/{task_id}:

Можна оновити наступні поля: - name - назва задачі - status - статус задачі (для скасування задачі передайте canceled) - cancellation_reason - причина скасування - manager_id - ID менеджера задачі

Оновлення документа

Документ можна оновити через ендпоінт PATCH /api/public/v1/employee-onboarding/{task_id}/document/{document_id}:

Видалення документа

Документ можна видалити через ендпоінт DELETE /api/public/v1/employee-onboarding/{task_id}/document/{document_id}:

Список всіх задач "Прийом"

Отримати список всіх задач "Прийом" можна через ендпоінт GET /api/public/v1/employee-onboarding:

Підтримуються наступні фільтри: - status - фільтр по статусу задачі (new, in_progress, completed, canceled) - initiator_id - фільтр по ID співробітника (ініціатора задачі) - manager_id - фільтр по ID менеджера задачі - external_id - фільтр по зовнішньому ID задачі

Дозволені формати файлів для завантаження

При завантаженні документів через ендпоінт POST /api/public/v1/employee-onboarding/{task_id}/document/{document_id}/upload підтримуються наступні формати: - PNG, JPEG, JPG, SVG - PDF - XLS, XLSX, CSV - DOC, DOCX - TXT, XML

Поля для створення задачі "Прийом"

Поле Тип Опис Обов'язкове
initiator_id UUID ID співробітника, для якого створюється задача. Співробітник повинен мати статус candidate або draft Так
external_id string Зовнішній ідентифікатор задачі для інтеграції з зовнішніми системами Ні
manager_id UUID ID співробітника-менеджера, який відповідає за задачу Ні

Поля в відповіді при отриманні задачі

Поле Тип Опис
id UUID ID задачі
initiator_id UUID ID співробітника, для якого створена задача
manager_id UUID | null ID менеджера задачі
status TaskStatus Статус задачі: new, in_progress, completed, canceled
name string | null Назва задачі
description string | null Опис задачі
cancellation_reason string | null Причина скасування задачі
cancelled_by TaskCancelledByType | null Хто скасував задачу: initiator, manager, api, document_decline
cancelled_by_employee_id UUID | null ID співробітника, який скасував задачу
cancelled_by_user_id UUID | null ID користувача, який скасував задачу
cancellation_date datetime | null Дата скасування задачі
external_id string | null Зовнішній ID задачі
is_questionnaire_sent boolean Чи була відправлена анкета співробітнику
is_questionnaire_approved boolean Чи була затверджена анкета співробітника
date_created datetime Дата створення задачі
date_updated datetime Дата останнього оновлення задачі

Важливі моменти

  1. Співробітник повинен бути в статусі candidate або draft - не можна створити задачу "Прийом" для співробітника, який вже має статус working, fired або archived.

  2. Блокування редагування співробітника - під час активної задачі "Прийом" (статус new або in_progress), співробітник заблокований для редагування через інші API.

  3. Автоматичний перевід в статус working - після завершення задачі (статус completed), співробітник автоматично переводиться в статус working.

  4. Послідовність відправлення документів - документи можна відправляти на підписання послідовно або одночасно, залежно від налаштувань шаблону задачі. Якщо налаштовано послідовне підписання, то наступний документ можна відправити тільки після повного підписання попереднього.

  5. Зміна підписантів - підписантів можна додавати та видаляти тільки до моменту відправлення документа на підписання.

  6. Підписанти зі статусом working - в якості підписантів можна використовувати тільки співробітників зі статусом working.

  7. Анкета та профіль - дані з анкети зберігаються в профіль співробітника і можуть включати документи та соціальні статуси. Після затвердження анкети, дані стають частиною профілю співробітника.