Схема процесса планирования отпусков в HRlink
Описание процесса работы с отпусками на портале - https://wiki.hr-link.ru/bin/view/Main/Protsessy-v-HRlink/Anons%3A-Soglasovat%D1%8C-grafik-otpuskov-/
сменить шаги местами, обновить описание про разрешение планирования - почему шаг 7?, нет упоминания про календари, про совместителей (планирование и согласование), про выгрузку актуальных отпусков из 1С в линк
Общее описание процесса планирования графика отпусков в HRlink
- Подготовка к планированию отпусков в HRlink
- для использования функционала планирования отпусков необходимо его на тенанте через Службу заботы о клиентах (линк или контакты - Телеграм: @podderzhkavsego_bot
Почта: help@hr-link.ru)
- для планирования отпусков необходимы доступные дни для планирования. - см. ШАГ 1. Загрузить доступные дни для планирования на год
- на текущий момент планирование возможно только по основному и дополнительному отпуску. Планировать отпуска по типам доп. отпуска невозможно.
справочник типов отпусков пока не используется. - возможно установить обязательное количество дней, которое необходимо спланировать сотрудникам. В таком случае сотрудникам необязательно распределять все доступные дни для планирования, но потребуется спланировать обязательное количество дней. Настройка осуществляется через Службу заботы о клиентах (линк или контакты - Телеграм: @podderzhkavsego_bot
Почта: help@hr-link.ru)
- если для сотрудников применимы региональные календари, то их необходимо предварительно загрузить - см. ШАГ 1.1 Загрузить региональные календарей сотрудников
- для предоставления возможности сотрудникам планировать отпуска на портале необходимо разрешить планирование - см. ШАГ 2. Разрешить планирование отпусков на год
- Планирование отпусков в HRlink
- Сотрудники могут запланировать отпуска на будущий год с учетом всех правил
- см. ШАГ 3. Сотрудники планируют отпуска в HRlink- необходимо распланировать все доступные дни, которые были выгружены на ШАГе 1.
- если несколько сотрудников, то ...
- 14 дней...
- планирование осуществляется с учетом производственного календаря сотрудника.
- планирование осуществляется по пользователю, т.е. по физ.лицу. Если пользователь имеет несколько сотрудников, то все сотрудники будут иметь одинаковые периоды отпуска.
- Руководители могут планировать отпуска за сотрудников и согласовывать отпуска, при необходимости - см. ШАГ 4. Руководители согласуют отпуска в HRlink
- согласование отпусков также осуществляется по физ.лицу. Если пользователь имеет несколько сотрудников, то отпуск будет согласован по всем местам работы пользователя.
- Завершение планирования отпусков
- для того, чтобы сотрудники и руководители не могли вносить изменения в график отпусков, Администратору необходимо завершить планирование - см. ШАГ 5. Завершить планирование отпусков на год
- при этом, Кадровику доступны изменения и согласование отпусков в любом периоде, независимо от разрешения планирования.
- для получения всех спланированных отпусков необходимо выгрузить их с портала - см. ШАГ 6. Выгрузить спланированные отпуска из HRlink
- Работа с отпусками в течении года
- спланированные отпуска всегда доступны для просмотра на портале
- Сотрудники могут оформлять перенос отпуска через Заявление в HRlink - подробнее в инструкции Сотрудник подает Заявление
- при необходимости, возможно загрузить изменения отпусков из внешней системы в HRlink - см. ШАГ 7. Загрузить обновленные периоды запланированных отпусков в HRlink
Шаги процесса

ШАГ 1. Загрузить доступные дни для планирования на год
Создать задачу массовой синхронизации данных
Дополнительная информация
- Загрузить дни для планирования может как Администратор, так и
- Пользователь должен иметь право BULK_DATA_SYNC_TASKS_CREATE на уровне пользователя клиента или на уровне активного сотрудника.
- Информация о доступных днях для планирования необходима для возможности планирования отпусков в HRlink.
Описание переменных
| Переменная | Описание | Обязательность |
|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да |
clientId | ИД клиента HRlink | да |
| externalId | Внешний идентификатор сотрудника. - Доступные для планирования дни можно загрузить всем сотрудникам пользователя. Но при планировании будут использованы дни по основному месту работу.
- Если основное место работы не задано, то будут использовано наибольшее число доступных дней для планирования.
- Как задать основное место работы?
| да |
| legalEntityExternalId | Внешний идентификатор юрлица сотрудника. | нет |
| availableVacationsPlanning[] | Массив с данными для планирования. - В массиве можно передать значения для нескольких лет.
- В системе будут обновлены только дни указанного года.
| нет |
| planningYear | Год, на который будут планироваться отпуска | нет |
| basicVacationDayCount | Количество дней основного отпуска, доступных для планирования. - Если данные не будут переданы, то они будут записаны как null.
| нет |
| additionalVacationDayCount | Количество дней дополнительного отпуска, доступных для планирования. - Если данные не будут переданы, то они будут записаны как null.
| нет |
curl --location 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--data '{
"type": "EMPLOYEE_VACATIONS_PLANNING",
"data": [
{
"externalId": "{{Внешний ИД сотрудника}}",
"legalEntityExternalId": "{{Внешний ИД юрлица}}",
"availableVacationsPlanning": [
{
"planningYear": 2026,
"basicVacationDayCount": 28,
"additionalVacationDayCount": 3
}
]
}
]
}' |
|
{
"result": true,
"bulkDataSyncTask": {
"id": "{{ИД задачи массовой синхронизации данных}}"
}
} | |
ШАГ 1.1 Загрузить региональные календари сотрудников
Опциональный шаг.
Если региональные календари были загружены ранее и регулярно обновляются у сотрудников, то этот шаг можно пропустить.
Подробнее про создание календарей и присвоение их сотрудникам описано на странице - Производственные (региональные) календари
ШАГ 2. Разрешить планирование отпусков на год
Установить состояние возможности планирования отпусков
Дополнительная информация
- Разрешить планирование может только Администратор.
- Пользователь должен иметь право VACATIONS_CHANGE_PLANNING_STATE на уровне пользователя клиента или на уровне активного сотрудника.
Описание переменных
| Переменная | Описание | Обязательность |
|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да |
clientId | ИД клиента HRlink | да |
| planningState | Состояние планирования отпусков в системе HRlink. Может принимать два состояния: - ENABLED - Планирование разрешено.
- DISABLED - Планирование запрещено.
| да |
| planningYear | Год, на который устанавливается настройка планирования. - Допустимо указывать значение только текущего или следующего года.
- Если год не задан, то по умолчанию, настройка устанавливается на текущий год.
| нет |
curl --request PUT \
--url 'https://{{tenantHost}}/api/v1/clients/{clientId}/vacations/setPlanningState?planningState=ENABLED&planningYear=2026' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value
|
|
ШАГ 3. Сотрудники планируют отпуска в HRlink
Шаг выполняется на портале .
Создать или обновить отпуска пользователя клиента
Дополнительная информация:
описать правила
ШАГ 4. Руководители согласуют отпуска в HRlink
Шаг выполняется на портале .
Установить состояние утверждения отпуска
Дополнительная информация:
описать правила планирования
ШАГ 5. Завершить планирование отпусков на год
Установить состояние возможности планирования отпусков
Дополнительная информация
- Опциональный шаг.
- Если необходимо в текущем году запретить Сотрудникам и Руководителям изменять отпуска, то требуется выполнить этот шаг.
- После наступления нового календарного года изменение отпусков будет автоматически недоступно для Сотрудника и Руководителя.
- Завершить планирование может только Администратор.
- Пользователь должен иметь право VACATIONS_CHANGE_PLANNING_STATE на уровне пользователя клиента или на уровне активного сотрудника.
Описание переменных
| Переменная | Описание | Обязательность |
|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да |
clientId | ИД клиента HRlink | да |
| planningState | Состояние планирования отпусков в системе HRlink. Может принимать два состояния: - ENABLED - Планирование разрешено.
- DISABLED - Планирование запрещено.
| да |
| planningYear | Год, на который устанавливается настройка планирования. - Допустимо указывать значение только текущего или следующего года.
- Если год не задан, то по умолчанию, настройка устанавливается на текущий год.
| нет |
curl --request PUT \
--url 'https://{{tenantHost}}/api/v1/clients/{clientId}/vacations/setPlanningState?planningState=DISABLED&planningYear=2026' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value
|
|
ШАГ 6. Выгрузить спланированные отпуска из HRlink
Получить данные о запланированных отпусках сотрудников
Дополнительная информация
- Получить спланированные периоды отпусков может как Администратор, так и Кадровик.
- Пользователь должен иметь право EMPLOYEE_PLANNED_VACATIONS на уровне пользователя клиента или на уровне активного сотрудника.
Описание переменных
| Переменная | Описание | Обязательность |
|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да |
clientId | ИД клиента HRlink | да |
| vacations{} | Данные для фильтрации периодов планируемых отпусков. - Даты начала и конца периода либо заданы обе, либо не заданы совсем.
| да |
| startDateFrom | Начало периода, в который должно попадать начало запрашиваемого планируемого отпуска. | нет |
| startDateTo | Конец периода, в который должно попадать начало запрашиваемого планируемого отпуска | нет |
| status | Статус запрашиваемых планируемых отпусков сотрудников. | нет |
| employees[] | Список сотрудников, по которым необходимо получить отпуска. - Если массив пуст, то в ответе будут присутствовать все доступные сотрудники, с учетом иных фильтров.
- Если массив задан, то передано одно из значений ID сотрудника, или внутренний, или внешний.
| да |
id | ID сотрудника в системе HRlink. | нет |
| externalId | ID сотрудника во внешней системе. | нет |
| department[] | Список отделов, по которым необходимо получить отпуска. - Если массив пуст, то в ответе будут присутствовать все сотрудники из доступных отделов, с учетом иных фильтров.
- Если массив задан, то передано одно из значений ID отдела, или внутренний, или внешний.
| да |
id | ID отдела в системе HRlink. | нет |
| externalId | ID отдела клиента во внешней системе. | нет |
| legalEntity[] | Список юрлиц, по которым необходимо получить отпуска. - Если массив пуст, то в ответе будут присутствовать все сотрудники из доступных юрлиц, с учетом иных фильтров.
- Если массив задан, то передано одно из значений ID юрлица, или внутренний, или внешний.
| да |
id | ID юрлица клиента в системе HRlink. | нет |
| externalId | ID юрлица клиента во внешней системе. | нет |
| limit | Количество возвращаемых при запросе элементов. - Максимальное значение - 100
- Значение по умолчанию - 10
| нет |
| offset | Количество элементов, которые нужно пропустить при выборке. | нет |
| withoutDismissedEmployees | Вернуть ответ без уволенных сотрудников? - По умолчанию, уволенные сотрудники вернутся в ответе.
| нет |
curl --request POST \
--url 'https://{{tenantHost}}/api/v1/clients/{clientId}/employees/getPlannedVacationPeriod' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value \
--data '{
"vacations": {
"startDateFrom": "2026-01-01",
"startDateTo": "2026-12-01",
"status": "ALL"
},
"employees": [
{
"externalId": "{{Внешний ИД сотрудника}}"
}
],
"department": [
{
"externalId": "{{Внешний ИД отдела}}"
}
],
"legalEntity": [
{
"externalId": "{{Внешний ИД юрлица}}"
}
],
"limit": null,
"offset": null,
"withoutDismissedEmployees": true
}'
|
|
{
"result": true,
"employeePlannedVacationPeriods": [
{
"id": "{{Внутренний ИД сотрудника}}",
"externalId": "{{Внешний ИД сотрудника}}",
"periods": [
{
"vacationType": "Основной",
"vacationStatus": "Ожидает согласования",
"dateFrom": "2026-09-15",
"dateTo": "2026-09-28"
},
{
"vacationType": "Дополнительный",
"vacationStatus": "Согласовано",
"dateFrom": "2026-10-01",
"dateTo": "2026-10-03"
}
]
}
]
} | |
ШАГ 7. Загрузить обновленные периоды запланированных отпусков в HRlink
Создать задачу массовой синхронизации данных
Дополнительная информация
- Отпуска загружаются по физ.лицам, т.е. по пользователям HRlink. Все сотрудники пользователя будут иметь одинаковые периоды отпуска.
- Загрузить запланированные отпуска может как Администратор, так и Кадровик.
- Пользователь должен иметь право BULK_DATA_SYNC_TASKS_CREATE и право VACATIONS_CREATE_AND_UPDATE на уровне пользователя клиента или на уровне активного сотрудника.
- Загрузить запланированные отпуска возможно на любой год, вне зависимости от настройки разрешения планирования отпусков и наличия доступных дней отпуска у сотрудника.
- В одной задаче массовой синхронизации возможно загрузить отпуска не более 500 пользователей.
Описание переменных
| Переменная | Описание | Обязательность |
|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да |
clientId | ИД клиента HRlink | да |
| externalId | Идентификатор пользователя во внешней системе. | да |
| year | Год отпуска. | да |
| Являются ли периоды отпуска согласованными. / Согласованы ли периоды отпуска - TRUE - отпуска согласованы
- FALSE- отпуска не согласованы
- Если флаг не передан, то по умолчанию считаем как FALSE
| нет |
| vacationPeriods[] | Список данных о планируемых отпусках. - Все отпуска относятся к заданному году 'year'.
- Периоды отпусков не пересекаются.
- Год начала отпуска совпадает с годом конца отпуска.
- Если массив не задан, то произойдет удаление всех ранее сохранённых отпусков за указанных код.
| нет |
| startDate | Дата начала отпуска. | да |
| endDate | Дата окончания отпуска. | да |
| type | Тип отпуска. | да |
curl --request POST \
--url 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'master-api-token: master_token_value \
--data '{
"type": "CLIENT_USER_VACATIONS",
"data": [
{
"externalId": "{{Внешний ИД сотрудника}}",
"year": 2025,
"withApproval": true,
"vacationPeriods": [
{
"startDate": "2025-07-01",
"endDate": "2025-07-15",
"type": "MAIN"
},
{
"startDate": "2025-10-22",
"endDate": "2025-10-23",
"type": "ADDITIONAL"
}
]
}
]
}'
|
|
{
"result": true,
"bulkDataSyncTask": {
"id": "{{ИД задачи массовой синхронизации данных}}"
}
} | |
Вопросы-ответы
- Как задать основное место работы?

- признак основного места работы передается при создании или обновлении сотрудника.