Расписание

Для просмотра расписания сотрудников необходимо использовать API GET /api/schedule. Каждая запись расписания содержит информацию о дате, точке, сотруднике и интервалах его работы.

API использует стандартную схему пагинации.

Фильтрация записей

API поддерживает следующие фильтры через GET-параметры запроса

Ключ

Тип

Значение

franchisees

List[ObjectId]

(Только франчайзер) Список франчайзи, определивших расписание

franchisees_ne

List[ObjectId]

(Только франчайзер) Аналогично предыдущему, исключающе

units

List[ObjectId]

Список точек, для которых определяется расписание

units_ne

List[ObjectId]

Аналогично предыдущему, исключающе

users

List[ObjectId]

Список сотрудников, для которых определяется расписание

users_ne

List[ObjectId]

Аналогично предыдущему, исключающе

date

date

Точная дата, на которую заполнено расписание

date_gte

date

Минимальная дата, на которую заполнено расписание

date_lte

date

Максимальная дата, на которую заполнено расписание

Структура расписания

Пример данных

[
  {
    "id": "59e5cb232512e42d8ac4528e",
    "changed": "2017-10-17T09:19:31+00:00",
    "active": true,
    "editable": true,
    "readable": true,
    "accessible": true,
    "date": "2017-10-01",
    "user": {
      "_cls": "User.Worker",
      "id": "59e5c20bde26b5003eefdc15",
      "active": true,
      "username": "worker",
      "name": "Тестовый Сотрудник (Сотрудник)",
      "first_name": "Тестовый",
      "last_name": "Сотрудник",
      "role": "worker",
      "job_title": "Сотрудник",
      "image": "5a54a6538c4d4801687edefb",
      "units": []
    },
    "unit": {
      "id": "59e4a16d6f472902958b3478",
      "changed": "2017-10-16T12:09:17+00:00",
      "active": true,
      "editable": true,
      "readable": true,
      "accessible": true,
      "name": "Моя Компания",
      "location": null,
      "can_sales": false,
      "confirmed": true,
      "operation": null,
      "city": "Москва",
      "address": "",
      "acquiring": false,
      "tables": []
    },
    "type": "workday",
    "intervals": [
      {
        "begin": 1320,
        "end": 1380,
        "exclude": true
      },
      {
        "begin": 600,
        "end": 1260,
        "exclude": false
      }
    ]
  }
]

Поля документа

Поле

Тип

Описание

id

ObjectId

Уникальный идентификатор записи

date

date

Дата, на которую заполнено расписание

unit

Optional[Dict]

Информация о точке

user

Dict

Информация о сотруднике

type

ScheduleType

Тип записи расписания

intervals

List[Interval]

Список промежутков времени

Ключи документов так же включают в себя Разделяемые поля.

Типы записей расписания

Значение

Описание

workday

Рабочий день

partial

Неполный рабочий день

overtime

Сверхурочные

leave

Отпуск

sick_leave

Больничный

unpaid_leave

Неоплачиваемый отпуск

maternity_leave

Декрет

business_trip

Командировка

Интервал расписания

Для записей расписания, в которых предполагается наличие сотрудника на рабочем месте, ожидается заполнение промежутков рабочего времени, в которые сотрудник доступен для записи.

Поле

Тип

Описание

begin

int

Время начала интервала (в минутах от начала дня)

end

int

Время конца интервала (в минутах от начала дня)

exclude

bool

Исключает ли выбранный интервал рабочее время