openapi: 3.1.2
info:
title: VRt.Monitor [MT]
version: 7.43.3521
license:
name: Proprietary
url: https://veeroute.cloud/
termsOfService: https://veeroute.cloud/resources/terms_of_service
contact:
name: Veeroute Support Team
email: support@veeroute.com
x-logo:
url: ../images/monitor/monitor.svg
backgroundColor: '#FAFAFA'
altText: VRt.Monitor
description: 'Программный интерфейс для инструмента Veeroute Monitor.
# Описание
Серверная часть Veeroute Monitor.
Сервис предназначен для оперативного контроля логистических процессов в реальном
времени, сбора данных с маршрутов, автоматической корректировки планов.
Основные задачи:
* хранение и обработка волн (исходные данные для планирования и рейсы с результатом
их выполнения)
* перечет рейсов в процессе их выполнения
* создание и хранение статистики по результатам выполнения рейсов
* создание и хранение прогноза выполнения рейсов
## Статус заказа
Заказ состоит из одной или нескольких заявок.
Статус заказа выводится из фактов по его заявкам, поступающих от исполнителя в
процессе выполнения рейса:
| Статус | Описание |
Ожидаемое действие |
|:------------|:--------------------------------------------------------------------------------|:-------------------------------------------|
| `FREE` | Заказ не назначен ни на один рейс, начальный статус |
Заказ будет назначен на рейс |
| `PLANNED` | Заказ запланирован на рейс, ожидает начала выполнения |
Исполнитель начнёт выполнять заявки заказа |
| `EXECUTING` | Исполнитель начал выполнять заказ (факт `DEMAND_START`) |
Исполнитель выполнит все заявки заказа |
| `FINISHED` | Все заявки заказа выполнены (факты `DEMAND_DONE`) или получен
факт `ORDER_DONE` | Это конечный статус |
| `CANCELED` | Заказ отменён (факт `ORDER_CANCELED`) |
Это конечный статус |
Факты о заказе `ORDER_DONE` (заказ завершён) и `ORDER_CANCELED` (заказ отменён)
завершают заказ со всеми его заявками целиком и имеют **приоритет** над фактами
о его заявках — противоречащие им факты о заявках не учитываются.
Переход статусов:
Планирование: `FREE` -> `PLANNED`
Выполнение: `PLANNED` -> `EXECUTING` -> `FINISHED` / `CANCELED`

## Статус рейса
| Статус | Описание | Ожидаемое
действие |
|:--------------|:---------------------------------------------------------|:------------------------------------------------|
| `FREE` | Рейс создан, экипаж не назначен | Оператор
назначит экипаж |
| `ASSIGNED` | Экипаж назначен | Оператор
отправит задание экипажу |
| `SENT` | Задание отправлено экипажу | Экипаж
подтвердит факт получения |
| `RECEIVED` | Экипаж получил рейс (факт `TRIP_RECEIVED`) | Экипаж
примет или отклонит рейс |
| `CONFIRMED` | Экипаж согласился выполнить рейс (факт `TRIP_CONFIRMED`) | Экипаж
начнет выполнять рейс |
| `REJECTED` | Экипаж отказался выполнить рейс (факт `TRIP_REJECTED`) | Оператор
назначит новый экипаж или отменит рейс |
| `EXECUTING` | Экипаж выполняет рейс (факт `TRIP_EXECUTING`) | Экипаж
завершит все задачи |
| `FINISHED` | Рейс завершён (факт `TRIP_DONE`) | Это
конечный статус |
| `CANCELED` | Рейс отменён оператором | Это
конечный статус |
Переход статусов:
Оператор: `FREE` → `ASSIGNED` → `SENT`
Экипаж: `RECEIVED` → `CONFIRMED` / `REJECTED` → `EXECUTING`
Условия: `EXECUTING` → `FINISHED` / `CANCELED`

## Статус факта
Любой факт создается мобильным устройством или внешней интеграцией со статусом
`NEW`.
С установленной периодичностью происходит обработка фактов сервером и статус меняется
на один из:
* `APPLIED` - факт обработан и данные волны успешно изменены
* `ERROR` - факт обработан с ошибкой, отправитель должен исправить факт и отправить
заново

## Подписка на изменения
Чтобы не опрашивать сервер в поисках изменений, внешняя интеграция может подписаться
на изменения данных волн аккаунта и получать оповещения.
Схема работы:
1. Интеграция создает подписку ([create_wave_subscription](#tag/Waves/operation/create_wave_subscription)),
указывая свой ключ подписки (`key`) и адрес своего сервиса (`callback_url`) -
подписка действует сразу на все волны аккаунта.
2. Как только данные активной волны изменились, сервер отправляет на указанный
адрес оповещение с ключом волны (`file_key`) и статистикой по сущностям этой волны
(`data_statistics`) - но не чаще, чем задано в `notification_delay`.
3. Интеграция отвечает кодом `200` и начинает обработку данных - вычитывает данные
волны и обновляет их у себя.
4. Если внешний сервис не ответил кодом `200` за время `request_timeout`, сервер
повторяет отправку оповещения `retry_attempts` раз с интервалом `retry_interval`.
Особенности:
* подписка создается на аккаунт и действует для всех его волн - фильтр пока указать
нельзя;
* оповещения отправляются, только пока волна активна (статус `ACTIVE`) - в неактивной
волне поступающие данные не обрабатываются и оповещения не отправляются, для активации
используйте [activate_wave](#tag/Waves/operation/activate_wave);
* для аккаунта можно создать несколько подписок - например, по одной на каждую
внешнюю интеграцию; подписки различаются ключом (`key`), уникальным в рамках аккаунта,
и работают независимо друг от друга;
* подписку нельзя изменить - чтобы поменять настройки, удалите ее ([delete_wave_subscription](#tag/Waves/operation/delete_wave_subscription))
и создайте заново, список всех подписок аккаунта - [list_wave_subscriptions](#tag/Waves/operation/list_wave_subscriptions);
* одно и то же оповещение может прийти повторно (например, если ответ интеграции
не дошел до сервера), поэтому статистика в оповещении носит информационный характер,
а источником истины являются данные волны, прочитанные интеграцией.
## Диаграмма сущностей

'
servers:
- url: https://api.edge7.veeroute.cloud
description: Окружение для интеграции и ознакомления с новой функциональностью
- url: https://api.prod7.veeroute.cloud
description: Основное окружение
security:
- ApiKeyAuth: []
tags:
- name: Explorer
description: 'Управление виртуальной файловой системой.
'
- name: Backups
description: 'Массовый экспорт и импорт данных.
'
- name: Store
description: 'Хранилище бинарных данных.
'
- name: Crews
description: 'Экипаж объединяет:
* реального исполнителя (или группу исполнителей), который выполняет заказы
* транспортное средство, которое используется для выполнения заказов
* мобильные устройства, на которые уходят рейсы и с которых приходят факты о процессе
выполнения
Для каждого экипажа автоматически создается аккаунт для авторизации, при этом
экипаж может подключаться к серверу по одному аккаунту одновременно с нескольких
устройств.
Все экипажи привязываются к компании и доступны для чтения в зависимости от ролевой
модели:
* `USER`: доступны все экипажи компании, у которых `owner_username` совпадает
с `username` пользователя
* `COMPANYOWNER`: доступны все экипажи компании всех пользователей
* `OVERLORD`: доступны все экипажи всех компаний
* для других ролей чтение экипажей не доступно
Создание и изменение экипажей доступно только для роли `CREWMANAGER`.
Назначение экипажа на рейс производится логистом через веб-интерфейс или модулем
интеграции по API с помощью метода [create_deal](#tag/Deals/operation/create_deal).
В один момент времени экипаж может выполнять только один рейс из одной волны,
при этом назначенных на него рейсов может быть больше одного.
'
- name: Waves
description: 'Управление волнами планирования и исполнения.
Волна состоит из:
- Исходные данные для расчета (заказы, исполнители, транспорт, настройки)
- Результаты расчета (рейсы, статистика)
- Результаты выполнения (факты)
Волна может быть активной или неактивной (поле `status`).
В активной волне (`ACTIVE`) включена обработка поступающих фактов и доступно включение
автопилота.
В неактивной волне (`INACTIVE`) обработка фактов выключена.
Управление активностью волны выполняется методами активации и деактивации.
'
- name: Deals
description: 'Управление сделками.
Сделка - назначение экипажа на конкретный рейс из конкретной волны.
Объект временный, автоматически удаляется после завершения рейса экипажем.
'
- name: Locations
description: 'Управление локациями.
'
- name: Performers
description: 'Управление исполнителями.
'
- name: Transports
description: 'Управление транспортом.
'
- name: Orders
description: 'Управление заказами.
'
- name: Hardlinks
description: 'Управление назначениями.
'
- name: Trips
description: 'Управление рейсами.
'
- name: Facts
description: 'Управление фактами.
Факт - совершенное действие в процессе выполнения рейса, факты создаются мобильным
приложением исполнителя или внешней интеграцией.
'
- name: Autopilot
description: 'Управление автопилотом.
'
- name: Tracker
description: 'Отслеживание.
'
- name: Analytics
description: 'Аналитика.
Основные задачи блока:
- создание и хранение статистики по результатам выполнения рейсов
- создание и хранение прогноза выполнения рейсов
'
- name: Reports
description: 'Отчетность.
'
- name: Scenarios
description: 'Настройки пользовательских сценариев выполнения рейсов.
'
- name: User
description: 'Пользовательские настройки интерфейса.
'
- name: CustomFields
description: 'Настройки конвертации пользовательских полей.
В таблице предусмотрены дополнительные колонки для отображения значений из атрибутов.
Данная настройка определяет правила конвертации значений атрибутов в соответствующие
типизированные поля.
Конвертации происходит при чтении данных - поэтому правила конвертации не влияют
на данные и их можно изменять в любой момент.
'
- name: CustomIcons
description: 'Настройки иконок.
'
- name: System
description: 'Системные функции.
Вспомогательный функционал, общий для всех сервисов.
'
externalDocs:
description: Сайт компании Veeroute
url: https://veeroute.cloud/
paths:
/monitor/explorer:
post:
tags:
- Explorer
summary: Создание папки
description: Создание новой папки.
operationId: create_folder
x-process-type: TRACE
requestBody:
description: 'Запрос на создание папки. В поле `parent_key` необходимо указать
ключ папки, в которой будет создана новая папка. Если `parent_key` не указан
- папка создается в корне.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/folder_specification'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key'
description: Ключ созданной папки.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- Explorer
summary: Чтение структуры папок
description: Получение структуры папок.
operationId: read_filesystem
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/folder_key'
description: Ключ родительской папки, если не указан - возвращается список
корневых папок
- $ref: '#/components/parameters/filter'
description: "Фильтр для поиска по текстовым полям - возвращаются только те\
\ папки, у которых содержится подстрока из фильтра:\n * в названии папки\n\
\ * в комментарии к папке\n"
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/filesystem_column'
- $ref: '#/components/parameters/sort_direction'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/filesystem'
examples:
DataExplorer:
$ref: '#/components/examples/DataExplorer'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/{target_folder_key}:
put:
tags:
- Explorer
summary: Обновление папки
description: Переименование и перемещение папки.
operationId: update_folder
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/target_folder_key'
requestBody:
description: Запрос на обновление папки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/folder_specification'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/filesystem'
examples:
DataExplorer:
$ref: '#/components/examples/DataExplorer'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Explorer
summary: Удаление папки
description: Удаление папки по ключу.
operationId: delete_folder
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/target_folder_key'
responses:
'204':
description: Успешное выполнение
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/{target_folder_key}/specification:
get:
tags:
- Explorer
summary: Информация о папке
description: 'Получение информации о папке.
'
operationId: read_folder_specification
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/target_folder_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/folder_specification'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/{target_folder_key}/path:
get:
tags:
- Explorer
summary: Получение пути папки
description: Получение пути папки.
operationId: read_folder_path
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/target_folder_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/filesystem_path'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/batch/folders:
post:
tags:
- Explorer
summary: Создание папок (пачка)
description: Создание новых папок (пачка).
operationId: create_folders_batch
x-process-type: TRACE
requestBody:
description: 'Запрос на создание группы папок от корня виртуальной файловой
системы.
Если любая папка в пути уже существует - она не будет создаваться заново.
Метод возвращает ключ последней папки даже в случае, если не было создано
ни одной папки.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/folder_name_list'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key'
description: Ключ последней папки.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Explorer
summary: Удаление папок (пачка)
description: Массовое удаление папок.
operationId: delete_folders_batch
x-process-type: TRACE
requestBody:
description: Список ключей папок, которые необходимо удалить.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key_list'
responses:
'204':
description: Все папки успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/batch/folder-key:
post:
tags:
- Explorer
summary: Получение ключа папки
description: Получение ключа папки по пути.
operationId: read_folder_key
x-process-type: TRACE
requestBody:
description: 'Запрос на получение ключа папки по пути от корня виртуальной
файловой системы. Если любой папки в пути не существует - вернется 404.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/folder_name_list'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key'
description: Ключ последней папки.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/batch/files:
get:
tags:
- Explorer
summary: Получение ключа файла
description: Получение ключа файла по пути.
operationId: read_file_key
x-process-type: TRACE
requestBody:
description: 'Запрос на получение ключа файла по пути от корня виртуальной
файловой системы. Если в папке несколько файлов с одинаковым названием -
возвращается последний измененный. Если любой папки или файла в пути не
существует - вернется 404.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/file_name_path'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key'
description: Ключ файла.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Explorer
summary: Удаление файлов (пачка)
description: Массовое удаление файлов.
operationId: delete_files_batch
x-process-type: TRACE
requestBody:
description: Список ключей файлов, которые необходимо удалить.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key_list'
responses:
'204':
description: Все файлы успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/batch/sharing:
put:
tags:
- Explorer
summary: Совместное использование
description: Массовое включение совместного использования файлов.
operationId: enable_sharing_batch
x-process-type: TRACE
requestBody:
description: Список ключей файлов, для которых необходимо включить совместное
использование.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key_list'
responses:
'204':
description: Совместное использование успешно включено для всех файлов
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Explorer
summary: Совместное использование
description: Массовое выключение совместного использования файлов.
operationId: disable_sharing_batch
x-process-type: TRACE
requestBody:
description: Список ключей файлов, для которых необходимо выключить совместное
использование.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key_list'
responses:
'204':
description: Совместное использование успешно выключено для всех файлов
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/explorer/batch/counters:
get:
tags:
- Explorer
summary: Счетчики файловой системы
description: Получение статистики по виртуальной файловой системе.
operationId: read_filesystem_counters
x-process-type: NOTRACE
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/filesystem_counters'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/backups/{target_folder_key}:
post:
tags:
- Backups
summary: Экспорт папки
description: 'Экспорт папки с файлами.
'
operationId: create_backup
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/target_folder_key'
responses:
'200':
description: Экспорт данных успешно завершен
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_zip'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Backups
summary: Импорт папки
description: 'Импорт папки с файлами. Папка не должна типа ROOT и должна быть
пустой.
'
operationId: restore_backup
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/target_folder_key'
requestBody:
description: Данные (ZIP).
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_zip'
responses:
'200':
description: Импорт данных успешно завершен
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews:
post:
tags:
- Crews
summary: Создание экипажа
description: "Экипаж создается логистом через веб-интерфейс или модулем интеграции\
\ по API.\n\nПри этом автоматически создается аккаунт для авторизации по следующим\
\ правилам:\n\n * username аккаунта экипажа создается складыванием строк:\n\
\n `ключ компании` + `_2_` + `ключ экипажа`,\n\n таким образом гарантируется\
\ уникальность логинов для экипажей разных компаний.\n * role аккаунта равна\
\ [CREW]\n * пароль для аккаунта берется из поля `crew_specification.password`.\n\
\ * в `owner_username` записывается `username` пользователя, который вызывает\
\ метод создания\n * в `owner_company_key` записывается `company_key` пользователя,\
\ который вызывает метод создания\n"
operationId: create_crew
x-process-type: TRACE
requestBody:
description: Запрос на создание экипажа.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/crew_specification'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/crew'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Crews
summary: Обновление экипажа
description: 'Обновление экипажа производится логистом через веб-интерфейс или
модулем интеграции по API.
При этом невозможно обновить данные по аккаунту - так как они формируются
автоматически, кроме установки нового пароля.
Отдельно список текущих мобильных устройств (и актуальную информацию по ним)
обновляет мобильное приложение после авторизации с помощью метода [update_self_crew_device](#tag/Crews/operation/update_self_crew_device).
'
operationId: update_crew
x-process-type: TRACE
requestBody:
description: Запрос на обновление экипажа.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/crew_specification'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/crew'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/{crew_key}:
get:
tags:
- Crews
summary: Чтение экипажа
description: Получение информации об экипаже по его ключу.
operationId: read_crew
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/crew_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_crew'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Crews
summary: Удаление экипажа
description: 'Удаление экипажа.
Нельзя удалить экипаж, на который назначен рейс (т.е. существуют сделка).
При удалении экипажа удаляется связанный с ним аккаунт, а также все действия
аудита и вся статистика по этому аккаунту.
'
operationId: delete_crew
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/crew_key'
responses:
'204':
description: Успешное выполнение
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/table/batch:
post:
tags:
- Crews
summary: Чтение экипажей (таблица)
description: Получение списка экипажей в виде таблицы.
operationId: read_crews_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_crew_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр экипажей.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_crew_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/table_crew_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Crews
summary: Удаление экипажей (пачка)
description: Массовое удаление экипажей.
operationId: delete_crews_batch
x-process-type: TRACE
requestBody:
description: Запрос на удаление экипажа.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/crew_key_list'
responses:
'204':
description: Экипажи успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/table/trackpoints:
post:
tags:
- Crews
summary: Местонахождения экипажей
description: Получение списка геоточек экипажей.
operationId: read_crews_trackpoints
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
requestBody:
description: Фильтр экипажей.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_crew_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/crew_trackpoint_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/actions/import/json:
post:
tags:
- Crews
summary: Импорт экипажей (JSON)
description: 'Импорт новых экипажей из файла формата JSON. Если сущность уже
присутствует (определяется по ее ключу) - она обновляется. Если нет - создается
новая.
'
operationId: import_crews_json
x-process-type: TRACE
requestBody:
description: Данные (JSON).
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/crew_specification_list'
responses:
'200':
description: Импорт данных успешно завершен
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/actions/import/xlsx:
post:
tags:
- Crews
summary: Импорт экипажей (XLSX)
description: 'Импорт новых экипажей из файла формата XLSX. Если сущность уже
присутствует (определяется по ее ключу) - она обновляется. Если нет - создается
новая.
'
operationId: import_crews_xlsx
x-process-type: TRACE
requestBody:
description: Данные (XLSX).
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
responses:
'200':
description: Импорт данных успешно завершен
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/actions/export/json:
post:
tags:
- Crews
summary: Экспорт экипажей (JSON)
description: 'Экспорт экипажей в файл формата JSON.
'
operationId: export_crews_json
x-process-type: TRACE
responses:
'200':
description: Экспорт данных успешно завершен
content:
application/json:
schema:
$ref: '#/components/schemas/crew_specification_list'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/actions/export/xlsx:
post:
tags:
- Crews
summary: Экспорт экипажей (XLSX)
description: 'Экспорт экипажей в файл формата XLSX.
'
operationId: export_crews_xlsx
x-process-type: TRACE
responses:
'200':
description: Экспорт данных успешно завершен
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/self/info:
get:
tags:
- Crews
summary: Свой экипаж
description: "Получение информации о своем экипаже (по логину). \nДоступно только\
\ для пользователей с ролью `CREW`.\n"
operationId: read_self_crew_info
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/crew'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/self/device:
post:
tags:
- Crews
summary: Обновление устройства
description: 'Обновление информации о своем устройстве (по логину). Доступно
только для пользователей с ролью `CREW`.
'
operationId: update_self_crew_device
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
requestBody:
description: Запрос на обновление информации о своем устройстве.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/crew_device'
responses:
'200':
description: Успешное выполнение
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/crews/self/trackpoint:
post:
tags:
- Crews
summary: Обновление координаты
description: 'Обновление информации о своем местонахождении (по логину). Доступно
только для пользователей с ролью `CREW`.
'
operationId: update_self_crew_trackpoint
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
requestBody:
description: Запрос на обновление информации о своем местонахождении.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/crew_trackpoint'
responses:
'200':
description: Успешное выполнение
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/deals/{deal_key}:
get:
tags:
- Deals
summary: Чтение сделки
description: Получение информации о сделке по его ключу.
operationId: read_deal
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/deal_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/deal'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}/crews/availability:
post:
tags:
- Deals
summary: Доступные экипажи
description: Получение списка экипажей, которые могут выполнить указанный рейс.
operationId: read_trip_available_crews
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_crew_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр экипажей.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_crew_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/table_crew_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/actions/automatch:
post:
tags:
- Deals
summary: Автоподбор экипажей (пачка)
description: "Автоматический подбор и назначение экипажа на рейс (пачка).\n\n\
Автоподбор находит подходящие экипажи по следующим параметрам:\n \n * экипаж\
\ свободен (не имеет другого рейса на искомое временное окно)\n * экипаж\
\ удовлетворяет требованиям к водителю по совместимостям (`crew.performer_compatibilities`\
\ сверяется с `performer.compatibilities`)\n * экипаж удовлетворяет требованиям\
\ к водителю по ограничениям (`crew.performer_limits` сверяется с `performer.limits`)\n\
\ * экипаж имеет одинаковый тип транспорта (`crew.transport_type` равен `transport.transport_type`)\n\
\ * экипаж удовлетворяет требованиям к транспорту по вместимости (`crew.transport_boxes`\
\ сверяется с `transport.boxes`)\n * экипаж удовлетворяет требованиям к транспорту\
\ по совместимостям (`crew.transport_compatibilities` сверяется с `transport.compatibilities`)\n\
\ * экипаж удовлетворяет требованиям к транспорту по ограничениям (`crew.transport_limits`\
\ сверяется с `transport.limits`)\n"
operationId: automatch_trips_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на автоматический подбод экипажей для рейсов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
responses:
'204':
description: Автоназначение успешно завершено
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/actions/assignment:
post:
tags:
- Deals
summary: Назначение рейсов (пачка)
description: 'Назначение рейсов на экипаж (пачка).
'
operationId: assign_trips_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на назначение рейсов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/trip_assignment_list'
responses:
'204':
description: Рейсы успешно назначены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Deals
summary: Освобождение рейсов (пачка)
description: 'Освобождение рейсов (пачка) - удаление назначения на экипаж. Если
список ключей рейсов пустой - освобождаются все рейсы из волны.
'
operationId: free_trips_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на освобождение рейсов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
responses:
'204':
description: Рейсы успешно освобождены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/actions/execution:
post:
tags:
- Deals
summary: Отправка рейсов (пачка)
description: 'Отправка рейсов (пачка). Если список ключей рейсов пустой - отправляются
все рейсы из волны.
'
operationId: run_trips_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на отправку рейсов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
responses:
'200':
description: Рейсы успешно отправлены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Deals
summary: Остановка рейсов (пачка)
description: 'Остановка рейсов (пачка). Если список ключей рейсов пустой - останавливаются
все рейсы из волны.
'
operationId: stop_trips_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на остановку рейсов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
responses:
'204':
description: Рейсы успешно остановлены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/deals/self/trips:
get:
tags:
- Deals
summary: Свои рейсы
description: Получение списка рейсов, назначенных на экипаж (по логину). Доступно
только для пользователей с ролью `CREW`.
operationId: read_self_trips
x-process-type: TRACE
x-badges:
- name: APP
position: after
color: '#050505'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/deal_trip_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}/data/batch/mobile:
get:
tags:
- Deals
summary: Данные по рейсу
description: Получение данных по рейсу. Доступно только для пользователей с
ролью `CREW`.
operationId: read_trip_data
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/mobile_trip_data'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}/facts/batch/mobile:
get:
tags:
- Deals
summary: Факты из рейса
description: Получение фактов из рейса. Доступно только для пользователей с
ролью `CREW`.
operationId: read_trip_facts
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/mobile_fact_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/store:
post:
tags:
- Store
summary: Загрузка одного файла
description: Загрузка одного файла.
operationId: upload_binary_file
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Файл с данными (octet-stream).
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_binary'
responses:
'201':
description: Файл успешно загружен, возвращается его ключ.
content:
application/json:
schema:
$ref: '#/components/schemas/store_key'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- Store
summary: Скачивание одного файла
description: Скачивание файла по его ключу.
operationId: download_binary_file
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/store_key'
responses:
'200':
description: Файл успешно скачан
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_binary'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Store
summary: Удаление одного файла
description: Удаление файла по его ключу.
operationId: delete_binary_file
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/store_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves:
post:
tags:
- Waves
summary: Создание волны
description: Создание новой волны.
operationId: create_wave
x-process-type: TRACE
requestBody:
description: Запрос на создание волны.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/file_specification'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key'
description: Ключ созданной волны.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}:
get:
tags:
- Waves
summary: Чтение волны
description: Получение информации о волне по ее ключу.
operationId: read_wave
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Waves
summary: Обновление волны
description: Переименование \ перемещение волны.
operationId: update_wave_specification
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление описания волны.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/file_specification'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Waves
summary: Удаление волны
description: Удаление волны по ключу.
operationId: delete_wave
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'204':
description: Успешное выполнение
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/batch/table:
get:
tags:
- Waves
summary: Список волн (таблица)
description: Получение списка волн в виде таблицы.
operationId: read_waves_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/folder_key'
- $ref: '#/components/parameters/filter'
description: 'Фильтр для поиска по текстовым полям - возвращаются только те
файлы, у которых в названии или описании содержится подстрока из фильтра.
Если фильтр пустой - возвращаются все файлы в папке. Результат сортируется
по времени редактирования.
'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_wave_column'
- $ref: '#/components/parameters/sort_direction'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/table_wave_list'
examples:
TableWaveList:
$ref: '#/components/examples/TableWaveList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/batch/search:
get:
tags:
- Waves
summary: Поиск волн
description: Глобальный поиск волн по всем вложенным папкам.
operationId: search_waves
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/filter_required'
description: 'Фильтр для поиска по текстовым полям - возвращаются только те
конфигурации, у которых в названии или описании содержится подстрока из
фильтра. Если фильтр пустой - возвращается пустой список. По умолчанию результат
сортируется по времени редактирования.
'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_wave_column'
- $ref: '#/components/parameters/sort_direction'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/table_wave_list'
examples:
TableWaveList:
$ref: '#/components/examples/TableWaveList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/batch/subscriptions:
post:
tags:
- Waves
summary: Создание подписки на изменения данных волн
description: 'Создание подписки на изменения данных волн аккаунта - фильтр указать
нельзя, подписка действует сразу на все волны аккаунта.
В подписке указывается ключ подписки (`key`) и адрес внешнего сервиса (`callback_url`)
- сервер будет оповещать внешний сервис о том, что данные волны изменились,
и передавать статистику по сущностям этой волны.
Для аккаунта можно создать несколько подписок - например, по одной на каждую
внешнюю интеграцию. Ключ подписки уникален в рамках аккаунта, подписки работают
независимо друг от друга.
Изменить подписку нельзя - чтобы поменять настройки, удалите подписку ([delete_wave_subscription](#tag/Waves/operation/delete_wave_subscription))
и создайте ее заново.
Оповещения отправляются, только пока волна активна - см. [activate_wave](#tag/Waves/operation/activate_wave).
'
operationId: create_wave_subscription
x-process-type: TRACE
requestBody:
description: Настройки подписки на изменения данных волн.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/wave_subscription'
responses:
'200':
description: Подписка успешно создана
content:
application/json:
schema:
$ref: '#/components/schemas/wave_subscription'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
callbacks:
wave_notification:
callback-url:
post:
tags:
- Waves
summary: Оповещение об изменении данных волны
description: 'Метод реализуется внешней интеграцией по адресу, указанному
в подписке (`callback_url`).
Сервер отправляет оповещение при любом изменении данных активной волны,
но не чаще, чем задано в `notification_delay`.
Оповещение содержит ключ волны (`file_key`) и статистику по сущностям
волны (`data_statistics`) - после его получения интеграция читает
нужные данные волны своими методами.
Если внешний сервис не ответил кодом `200` за время `request_timeout`,
отправка повторяется `retry_attempts` раз с интервалом `retry_interval`.
'
operationId: notify_wave_data
requestBody:
description: Оповещение об изменении данных волны.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/wave_notification'
responses:
'200':
description: Оповещение принято внешней интеграцией
'400':
description: В данных есть ошибки, сервер не будет повторять отправку
этого же сообщения и продолжит в следующий цикл
default:
description: Оповещение не принято, сервер повторит отправку
get:
tags:
- Waves
summary: Чтение списка подписок на изменения данных волн
description: 'Чтение списка всех подписок аккаунта на изменения данных волн.
Если подписок нет - возвращается пустой список.
'
operationId: list_wave_subscriptions
x-process-type: NOTRACE
responses:
'200':
description: Список подписок успешно получен
content:
application/json:
schema:
$ref: '#/components/schemas/wave_subscription_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/batch/subscriptions/{subscription_key}:
delete:
tags:
- Waves
summary: Удаление подписки на изменения данных волн
description: 'Удаление подписки на изменения данных волн по ключу подписки -
оповещения по ней перестают отправляться.
Остальные подписки аккаунта продолжают работать.
Если подписка с таким ключом не создана - возвращается код `404`.
'
operationId: delete_wave_subscription
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/subscription_key'
responses:
'204':
description: Подписка успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/settings:
put:
tags:
- Waves
summary: Обновление настроек
description: Обновление настроек волны.
operationId: update_wave_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление настроек волны.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/experiment_settings'
examples:
ExperimentSettings:
$ref: '#/components/examples/ExperimentSettings'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/duplicate:
post:
tags:
- Waves
summary: Дублирование волны
description: Дублирование волны.
operationId: duplicate_wave
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на дублирование волны.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/file_specification'
description: Параметры новой волны, которая получится в результате дублирования.
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key'
description: Ключ продублированной волны.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/locate:
get:
tags:
- Waves
summary: Получение пути волны
description: Получение пути волны.
operationId: read_wave_path
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/filesystem_path'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/neighbors:
get:
tags:
- Waves
summary: Получение соседних файлов
description: Получение соседних файлов.
operationId: read_file_neighbors
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/table_wave_column'
- $ref: '#/components/parameters/sort_direction'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/file_neighbors'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/import/xlsx:
post:
tags:
- Waves
summary: Импорт (XLSX)
description: 'Импорт новых данных из файла формата XLSX.
Если сущность уже присутствует (определяется по ее ключу) - она обновляется.
Если нет - создается новая.
Временная зона данных берется из файла XLSX.
'
operationId: import_xlsx
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Данные (XLSX).
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
responses:
'200':
description: Импорт данных успешно завершен
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/import/json:
post:
tags:
- Waves
summary: Импорт (JSON)
description: 'Импорт новых данных из файла формата VRt.Universal JSON. Если
сущность уже присутствует (определяется по ее ключу) - она обновляется. Если
нет - создается новая.
'
operationId: import_json
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Данные (JSON).
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/universal_data'
examples:
UniversalData:
$ref: '#/components/examples/UniversalData'
responses:
'200':
description: Импорт данных успешно завершен
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/import/json-url:
post:
tags:
- Waves
summary: Импорт по URL (JSON)
description: 'Импорт новых данных из файла формата VRt.Universal JSON по ссылке.
Если сущность уже присутствует в волне (определяется по ее ключу) - она обновляется,
если нет - создается новая.
'
operationId: import_json_url
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- name: url
description: Url json файла.
in: query
required: true
schema:
description: Url.
type: string
format: uri
example: https://docs.edge7.veeroute.cloud/dataset/universal/dataset-12-soft-window.json
responses:
'200':
description: Импорт данных успешно завершен
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/import/experiment/{studio_experiment_key}:
post:
tags:
- Waves
summary: Импорт из Studio
description: 'Импорт новых данных из файла формата VRt.Universal JSON по ключу
эксперимента из VRt.Studio. Если сущность уже присутствует в волне (определяется
по ее ключу) - она обновляется, если нет - создается новая.
'
operationId: import_experiment_from_studio
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- name: studio_experiment_key
description: Ключ эксперимента из VRt.Studio, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/unique_key'
responses:
'200':
description: Импорт данных успешно завершен
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Wave:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/export/xlsx:
post:
tags:
- Waves
summary: Экспорт (XLSX)
description: Экспортировать (XLSX).
operationId: export_xlsx
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/timezone'
responses:
'200':
description: Экспорт данных успешно завершен
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/export/json:
post:
tags:
- Waves
summary: Экспорт (JSON)
description: 'Экспортировать данные в файл формата VRt.Universal JSON.
'
operationId: export_json
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'200':
description: Экспорт данных успешно завершен
content:
application/json:
schema:
$ref: '#/components/schemas/universal_data'
examples:
UniversalData:
$ref: '#/components/examples/UniversalData'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/activation:
post:
tags:
- Waves
summary: Активация волны
description: "Активация волны - перевод волны в статус `ACTIVE`:\n * включается\
\ обработка поступающих фактов\n * становится доступным включение автопилота\n"
operationId: activate_wave
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Experiment:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Waves
summary: Деактивация волны
description: 'Деактивация волны - перевод волны в статус `INACTIVE`. Обработка
поступающих фактов выключается, автопилот (если он был запущен) останавливается.
'
operationId: deactivate_wave
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'204':
description: Успешное выполнение - волна деактивирована
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/validation:
post:
tags:
- Waves
summary: Запуск валидации
description: Запуск валидации данных.
operationId: run_wave_validation
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Experiment:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/locations:
post:
tags:
- Locations
summary: Создание локации
description: Создание локации.
operationId: create_location
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание локации.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/location'
examples:
RawLocation:
$ref: '#/components/examples/RawLocation'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_location'
examples:
WebLocation:
$ref: '#/components/examples/WebLocation'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Locations
summary: Обновление локации
description: Обновление локации по ее ключу.
operationId: update_location
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление локации.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/location'
examples:
RawLocation:
$ref: '#/components/examples/RawLocation'
responses:
'200':
description: Данные успешно обновлены
content:
application/json:
schema:
$ref: '#/components/schemas/web_location'
examples:
WebLocation:
$ref: '#/components/examples/WebLocation'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/locations/{essence_key}:
get:
tags:
- Locations
summary: Чтение локации
description: Получение информации о локации по ее ключу.
operationId: read_location
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_location'
examples:
WebLocation:
$ref: '#/components/examples/WebLocation'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Locations
summary: Удаление локации
description: Удаление локации по ее ключу.
operationId: delete_location
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/locations/batch/table:
post:
tags:
- Locations
summary: Список локаций
description: Получение списка локаций.
operationId: read_locations_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_location_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр локаций.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_location_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_location_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Locations
summary: Удаление локаций (пачка)
description: Массовое удаление локаций из файла.
operationId: delete_locations_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление локаций.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Локации успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/locations/batch/geopoints:
post:
tags:
- Locations
summary: Геоточки локаций
description: Получение списка геоточек.
operationId: read_locations_geopoints
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
requestBody:
description: Фильтр локаций.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_location_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_location_geopoint_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/locations/batch/metrics:
post:
tags:
- Locations
summary: Метрики по локациям
description: Расчет общих метрик по выбранным локациям.
operationId: read_locations_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_location_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_location_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/performers:
post:
tags:
- Performers
summary: Создание исполнителя
description: Создание исполнителя.
operationId: create_performer
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание исполнителя.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/performer'
examples:
RawPerformer:
$ref: '#/components/examples/RawPerformer'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_performer'
examples:
WebPerformer:
$ref: '#/components/examples/WebPerformer'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Performers
summary: Обновление исполнителя
description: Обновление исполнителя по его ключу.
operationId: update_performer
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление исполнителя.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/performer'
examples:
RawPerformer:
$ref: '#/components/examples/RawPerformer'
responses:
'200':
description: Данные успешно обновлены
content:
application/json:
schema:
$ref: '#/components/schemas/web_performer'
examples:
WebPerformer:
$ref: '#/components/examples/WebPerformer'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/performers/{essence_key}:
get:
tags:
- Performers
summary: Чтение исполнителя
description: Получение информации об исполнителе по его ключу.
operationId: read_performer
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_performer'
examples:
WebPerformer:
$ref: '#/components/examples/WebPerformer'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Performers
summary: Удаление исполнителя
description: Удаление исполнителя по его ключу.
operationId: delete_performer
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/performers/batch/table:
post:
tags:
- Performers
summary: Список исполнителей
description: Получение списка исполнителей.
operationId: read_performers_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_performer_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр исполнителей.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_performer_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_performer_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Performers
summary: Удаление исполнителей (пачка)
description: Массовое удаление исполнителей из файла.
operationId: delete_performers_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление исполнителей.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Исполнители успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/performers/batch/geopoints:
post:
tags:
- Performers
summary: Геоточки исполнителей
description: Получение списка геоточек.
operationId: read_performers_geopoints
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
requestBody:
description: Фильтр исполнителей.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_performer_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_performer_geopoint_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/performers/batch/metrics:
post:
tags:
- Performers
summary: Метрики по исполнителям
description: Расчет общих метрик по выбранным исполнителям.
operationId: read_performers_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_performer_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_performer_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/transports:
post:
tags:
- Transports
summary: Создание транспорта
description: Создание транспорта.
operationId: create_transport
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание транспорта.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/transport'
examples:
RawTransport:
$ref: '#/components/examples/RawTransport'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_transport'
examples:
WebTransport:
$ref: '#/components/examples/WebTransport'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Transports
summary: Обновление транспорта
description: Обновление транспорта по ее ключу.
operationId: update_transport
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление транспорта.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/transport'
examples:
RawTransport:
$ref: '#/components/examples/RawTransport'
responses:
'200':
description: Данные успешно обновлены
content:
application/json:
schema:
$ref: '#/components/schemas/web_transport'
examples:
WebTransport:
$ref: '#/components/examples/WebTransport'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/transports/{essence_key}:
get:
tags:
- Transports
summary: Чтение транспорта
description: Получение информации о транспорте по его ключу.
operationId: read_transport
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_transport'
examples:
WebTransport:
$ref: '#/components/examples/WebTransport'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Transports
summary: Удаление транспорта
description: Удаление транспорта по ее ключу.
operationId: delete_transport
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/transports/batch/table:
post:
tags:
- Transports
summary: Список транспорта
description: Получение списка транспорта.
operationId: read_transports_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_transport_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр транспорта.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_transport_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_transport_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Transports
summary: Удаление транспорта (пачка)
description: Массовое удаление транспорта из файла.
operationId: delete_transports_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление транспорта.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Транспорт успешно удален
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/transports/batch/geopoints:
post:
tags:
- Transports
summary: Геоточки транспорта
description: Получение списка геоточек.
operationId: read_transports_geopoints
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
requestBody:
description: Фильтр транспорта.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_transport_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_transport_geopoint_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/transports/batch/metrics:
post:
tags:
- Transports
summary: Метрики по транспорту
description: Расчет общих метрик по выбранному транспорту.
operationId: read_transports_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_transport_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_transport_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/orders:
post:
tags:
- Orders
summary: Создание заказа
description: Создание заказа.
operationId: create_order
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание новой сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/order'
examples:
RawOrder:
$ref: '#/components/examples/RawOrder'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_order'
examples:
WebOrder:
$ref: '#/components/examples/WebOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Orders
summary: Обновление заказа
description: Обновление сущности по ее ключу.
operationId: update_order
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/order'
examples:
RawOrder:
$ref: '#/components/examples/RawOrder'
responses:
'200':
description: Данные успешно обновлены
content:
application/json:
schema:
$ref: '#/components/schemas/web_order'
examples:
WebOrder:
$ref: '#/components/examples/WebOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/orders/{essence_key}:
get:
tags:
- Orders
summary: Чтение заказа
description: Получение информации о заказе по его ключу.
operationId: read_order
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_order'
examples:
WebOrder:
$ref: '#/components/examples/WebOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Orders
summary: Удаление одного заказа
description: Удаление заказа по его ключу.
operationId: delete_order
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/orders/batch/invoices:
put:
tags:
- Orders
summary: Обновление накладных (пачка)
description: 'Обновление накладных грузов для заказов датасета (пачка). Каждый
груз адресуется парой ключей - ключом заказа и ключом груза. Обновляются только
уже существующие грузы - новые грузы не добавляются. Если необходимо добавить
или удалить грузы - воспользуйтесь обновлением заказа.
'
operationId: update_invoices_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Накладные грузов, которые необходимо обновить.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/order_cargo_invoice_list'
examples:
OrderCargoInvoiceList:
$ref: '#/components/examples/OrderCargoInvoiceList'
EmptyList:
$ref: '#/components/examples/EmptyList'
responses:
'204':
description: Накладные грузов успешно обновлены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/orders/batch/table:
post:
tags:
- Orders
summary: Список заказов
description: Получение списка заказов.
operationId: read_orders_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_order_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр заказов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_order_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_order_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Orders
summary: Удаление заказов (пачка)
description: Удаление заказов из файла.
operationId: delete_orders_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление заказов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Заказы успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/orders/batch/geopoints:
post:
tags:
- Orders
summary: Геоточки заказов
description: Получение списка геоточек.
operationId: read_orders_geopoints
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
requestBody:
description: Фильтр заказов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_order_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/web_order_geopoint_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/orders/batch/metrics:
post:
tags:
- Orders
summary: Метрики по заказам
description: Расчет общих метрик по выбранным заказам.
operationId: read_orders_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_order_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_order_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/hardlinks:
post:
tags:
- Hardlinks
summary: Создание назначения
description: Создание назначения.
operationId: create_hardlink
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание новой сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/hardlink'
examples:
RawHardlink:
$ref: '#/components/examples/RawHardlink'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_hardlink'
examples:
WebHardlink:
$ref: '#/components/examples/WebHardlink'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Hardlinks
summary: Обновление назначения
description: Обновление назначения по ключу.
operationId: update_hardlink
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/hardlink'
examples:
RawHardlink:
$ref: '#/components/examples/RawHardlink'
responses:
'200':
description: Данные успешно обновлены
content:
application/json:
schema:
$ref: '#/components/schemas/web_hardlink'
examples:
WebHardlink:
$ref: '#/components/examples/WebHardlink'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/hardlinks/{essence_key}:
get:
tags:
- Hardlinks
summary: Чтение назначения
description: Получение информации о назначении по его ключу.
operationId: read_hardlink
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_hardlink'
examples:
WebHardlink:
$ref: '#/components/examples/WebHardlink'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Hardlinks
summary: Удаление назначения
description: Удаление назначения по ключу.
operationId: delete_hardlink
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/hardlinks/batch/table:
post:
tags:
- Hardlinks
summary: Список назначений
description: Получение списка назначений.
operationId: read_hardlinks_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_hardlink_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр назначений.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_hardlink_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_hardlink_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Hardlinks
summary: Удаление назначений (пачка)
description: Массовое удаление назначений из файла.
operationId: delete_hardlinks_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление назначений.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Назначения успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/hardlinks/batch/metrics:
post:
tags:
- Hardlinks
summary: Метрики по назначениям
description: Расчет общих метрик по выбранным назначениям.
operationId: read_hardlinks_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_hardlink_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_hardlink_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips:
post:
tags:
- Trips
summary: Создание рейса
description: Создание рейса.
operationId: create_trip
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание новой сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/trip'
examples:
RawTrip:
$ref: '#/components/examples/RawTrip'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_trip'
examples:
WebTrip:
$ref: '#/components/examples/WebTrip'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Trips
summary: Обновление рейса
description: Обновление рейса по ключу.
operationId: update_trip
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на обновление сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/trip'
examples:
RawTrip:
$ref: '#/components/examples/RawTrip'
responses:
'200':
description: Данные успешно обновлены
content:
application/json:
schema:
$ref: '#/components/schemas/web_trip'
examples:
WebTrip:
$ref: '#/components/examples/WebTrip'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}:
get:
tags:
- Trips
summary: Чтение рейса
description: Получение информации о рейсе по его ключу.
operationId: read_trip
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_trip'
examples:
WebTrip:
$ref: '#/components/examples/WebTrip'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Trips
summary: Удаление рейса
description: Удаление рейса по ключу.
operationId: delete_trip
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/batch/table:
post:
tags:
- Trips
summary: Чтение рейсов (таблица)
description: Получение списка рейсов.
operationId: read_trips_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_trip_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр рейсов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Trips
summary: Удаление рейсов (пачка)
description: Удаление рейсов из волны.
operationId: delete_trips_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление рейсов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Рейсы успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/batch/charts:
post:
tags:
- Trips
summary: Диаграмма рейсов
description: Получение рейсов для отображения на диаграмме.
operationId: read_trips_charts
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_trip_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр рейсов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/web_trip_chart_list'
examples:
EmptyChartList:
$ref: '#/components/examples/EmptyChartList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/batch/tracks/{tracks_type}:
post:
tags:
- Trips
summary: Пути рейсов
description: Получение путей.
operationId: read_trips_tracks
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/tracks_type'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
requestBody:
description: Фильтр рейсов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/track_list'
examples:
TrackList:
$ref: '#/components/examples/TrackList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/batch/tracks-custom:
post:
tags:
- Trips
summary: Загрузка пользовательских треков
description: Загрузка пользовательских треков.
operationId: load_custom_tracks
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Список пользовательских треков.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/track_list_custom'
examples:
TrackListCustom:
$ref: '#/components/examples/TrackListCustom'
responses:
'200':
description: Пользовательские треки успешно загружены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Trips
summary: Удаление пользовательских треков
description: Удаление пользовательских всех треков.
operationId: delete_custom_tracks
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'204':
description: Все пользовательские треки успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/batch/metrics:
post:
tags:
- Trips
summary: Метрики по рейсам
description: Расчет общих метрик по выбранным рейсам.
operationId: read_trips_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}/stops/batch/table:
post:
tags:
- Trips
summary: Список остановок рейсов (таблица)
description: Получение списка остановок рейса.
operationId: read_trip_stops
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_trip_stop_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр остановок рейса.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_stop_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_trip_stop_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/roundtrips/batch/table:
post:
tags:
- Trips
summary: Чтение кругорейсов (таблица)
description: Получение списка кругорейсов.
operationId: read_roundtrips_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_roundtrip_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр рейсов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_roundtrip_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_roundtrip_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/roundtrips/batch/metrics:
post:
tags:
- Trips
summary: Метрики по кругорейсам
description: Расчет общих метрик по выбранным кругорейсам.
operationId: read_roundtrips_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_roundtrip_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_roundtrip_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}/tracks-plan:
get:
tags:
- Trips
summary: Плановый трек рейса
description: Получение планового трека по рейсу.
operationId: read_trip_track_plan
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/geotrack'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/trips/{essence_key}/tracks-history:
get:
tags:
- Trips
summary: Исторический трек рейса
description: Получение исторического трека по рейсу.
operationId: read_trip_track_history
x-process-type: NOTRACE
x-badges:
- name: APP
position: after
color: '#050505'
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/geotrack'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/facts:
post:
tags:
- Facts
summary: Создание факта
description: 'Создание факта. Создать новый факт можно только со статусом `NEW`.
'
operationId: create_fact
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на создание новой сущности.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/fact'
examples:
RawFact:
$ref: '#/components/examples/RawFact'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_fact'
examples:
WebFact:
$ref: '#/components/examples/WebFact'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/facts/{essence_key}:
get:
tags:
- Facts
summary: Чтение факта
description: Получение информации о факте по его ключу.
operationId: read_fact
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/web_fact'
examples:
WebFact:
$ref: '#/components/examples/WebFact'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Facts
summary: Удаление одного факта
description: Удаление факта по его ключу.
operationId: delete_fact
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'204':
description: Сущность успешно удалена
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/facts/batch/table:
post:
tags:
- Facts
summary: Список фактов
description: Получение списка фактов.
operationId: read_facts_table
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/table_fact_column'
- $ref: '#/components/parameters/table_custom_column'
- $ref: '#/components/parameters/sort_direction'
requestBody:
description: Фильтр фактов.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/table_fact_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_fact_list'
examples:
EmptyTableList:
$ref: '#/components/examples/EmptyTableList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Facts
summary: Удаление фактов (пачка)
description: Массовое удаление фактов из файла.
operationId: delete_facts_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Запрос на удаление фактов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
examples:
EssenceKeyList:
$ref: '#/components/examples/EssenceKeyList'
responses:
'204':
description: Факты успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/facts/batch/metrics:
post:
tags:
- Facts
summary: Метрики по фактам
description: Расчет общих метрик по выбранным фактам.
operationId: read_facts_metrics
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/table_fact_metrics_filter_list'
examples:
FilterList:
$ref: '#/components/examples/FilterList'
responses:
'200':
description: Данные успешно получены
content:
application/json:
schema:
$ref: '#/components/schemas/table_fact_metrics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/facts/batch/list:
post:
tags:
- Facts
summary: Создание фактов (пачка)
description: 'Создание фактов. Создать новый факт можно только со статусом `NEW`.
'
operationId: create_facts_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/batch_key'
requestBody:
description: Запрос на создание списка фактов.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/fact_list'
examples:
EmptyList:
$ref: '#/components/examples/EmptyList'
responses:
'201':
description: Успешное выполнение
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/facts/batch/status:
get:
tags:
- Facts
summary: Проверка статуса пачки
description: Получение статуса обработки ранее загруженной пачки с фактами.
operationId: check_facts_batch
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/batch_key_required'
responses:
'200':
description: Текущий статус пачки фактов
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/batch_status'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/waves/{file_key}/actions/autopilot:
post:
tags:
- Autopilot
summary: Включение автопилота
description: "Включение автопилота - автоматический процесс, который включает\
\ в себя:\n * учет всех поступающих фактов\n * обработку изменений данных\n\
\ * пересчет существующих рейсов\n * обновление аналитики по фактам и построение\
\ прогноза\n * назначение новых рейсов на экипажи\n\nАвтопилот можно включить\
\ только для активной волны (статус волны - `ACTIVE`).\n"
operationId: run_wave_autopilot
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Параметры автопилота.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/wave_autopilot_settings'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Experiment:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Autopilot
summary: Обновление автопилота
description: Обновление параметров автопилота.
operationId: update_wave_autopilot
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
requestBody:
description: Параметры автопилота.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/wave_autopilot_settings'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/wave'
examples:
Experiment:
$ref: '#/components/examples/Wave'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Autopilot
summary: Остановка автопилота
description: Остановка автопилота.
operationId: stop_wave_autopilot
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
responses:
'204':
description: Успешное выполнение - автопилот остановлен
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/tracker/waves/{file_key}/orders/{essence_key}:
post:
tags:
- Tracker
summary: Создание метки заказа
description: 'Создание ключа-метки для отслеживания заказа.
'
operationId: generate_order_tracker_key
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/file_key'
- $ref: '#/components/parameters/essence_key'
responses:
'201':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/tracker/orders/{tracker_key}:
get:
tags:
- Tracker
summary: Отслеживание заказа
description: 'Отслеживание заказа по метке.
'
operationId: track_order
x-process-type: TRACE
security: []
parameters:
- $ref: '#/components/parameters/tracker_key'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/tracker_order_info'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/tracker:
post:
tags:
- Tracker
summary: Установка активного ключа настроек трекера
description: 'Установка активного ключа настроек трекера.
'
operationId: set_tracker_settings_active_key
x-process-type: NOTRACE
requestBody:
description: Новый ключ.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key'
responses:
'200':
description: Обновление активного ключа настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- Tracker
summary: Чтение списка настроек трекера
description: 'Чтение списка ключей настроек трекера.
'
operationId: list_tracker_settings
x-process-type: NOTRACE
responses:
'200':
description: Чтение списка настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/tracker/{settings_key}:
post:
tags:
- Tracker
summary: Создание настроек трекера
description: 'Создание настроек трекера.
'
operationId: create_tracker_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/tracker_settings'
responses:
'200':
description: Создание настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/tracker_settings'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- Tracker
summary: Чтение настроек трекера
description: 'Чтение настроек трекера.
'
operationId: read_tracker_settings
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'200':
description: Чтение настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/tracker_settings'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Tracker
summary: Обновление настроек трекера
description: 'Обновление настроек трекера.
'
operationId: update_tracker_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/tracker_settings'
responses:
'200':
description: Обновление настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/tracker_settings'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Tracker
summary: Удаление настроек трекера
description: 'Удаление всех настроек трекера.
'
operationId: delete_tracker_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'204':
description: Настройки успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/analytics/overview:
post:
tags:
- Analytics
summary: Аналитика за период
description: 'Analytics за период.
'
operationId: generate_analytics_overview
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/datetime_from'
- $ref: '#/components/parameters/datetime_to'
requestBody:
description: Список ключей волн, по которым необходимо выгрузить данные.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key_list'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/analytics_overview'
examples:
AnalyticsOverview:
$ref: '#/components/examples/AnalyticsOverview'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/reports/xlsx:
post:
tags:
- Reports
summary: Создание отчета
description: 'Создание отчета.
'
operationId: generate_report_xlsx
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/datetime_from'
- $ref: '#/components/parameters/datetime_to'
- $ref: '#/components/parameters/report_type'
requestBody:
description: Список ключей волн, по которым необходимо выгрузить данные.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/unique_key_list'
responses:
'200':
description: Отчет успешно создан
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/scenarios:
post:
tags:
- Scenarios
summary: Создание сценария
description: 'Создание сценария.
'
operationId: create_scenario
x-process-type: TRACE
requestBody:
description: Новый сценарий.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/scenario'
examples:
ScenarioSimple:
$ref: '#/components/examples/ScenarioSimple'
ScenarioComplex:
$ref: '#/components/examples/ScenarioComplex'
responses:
'200':
description: Создание успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/scenario'
examples:
ScenarioSimple:
$ref: '#/components/examples/ScenarioSimple'
ScenarioComplex:
$ref: '#/components/examples/ScenarioComplex'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- Scenarios
summary: Чтение списка сценариев
description: 'Чтение списка ключей сценариев.
'
operationId: list_scenarios
x-process-type: NOTRACE
responses:
'200':
description: Чтение списка успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/basic_essence_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Scenarios
summary: Обновление сценария
description: 'Обновление сценария.
'
operationId: update_scenario
x-process-type: TRACE
requestBody:
description: Новый сценарий.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/scenario'
examples:
ScenarioSimple:
$ref: '#/components/examples/ScenarioSimple'
ScenarioComplex:
$ref: '#/components/examples/ScenarioComplex'
responses:
'200':
description: Обновление успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/scenario'
examples:
ScenarioSimple:
$ref: '#/components/examples/ScenarioSimple'
ScenarioComplex:
$ref: '#/components/examples/ScenarioComplex'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/scenarios/{scenario_key}:
get:
tags:
- Scenarios
summary: Чтение сценария
description: 'Чтение сценария.
'
operationId: read_scenario
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/scenario_key'
responses:
'200':
description: Чтение успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/scenario'
examples:
ScenarioSimple:
$ref: '#/components/examples/ScenarioSimple'
ScenarioComplex:
$ref: '#/components/examples/ScenarioComplex'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Scenarios
summary: Удаление сценария
description: 'Удаление сценария.
'
operationId: delete_scenario
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/scenario_key'
responses:
'204':
description: Сценарий успешно удален
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/user:
post:
tags:
- User
summary: Установка активного ключа настроек пользователя
description: 'Установка активного ключа настроек пользователя.
'
operationId: set_user_settings_active_key
x-process-type: NOTRACE
requestBody:
description: Новый ключ.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key'
responses:
'200':
description: Обновление активного ключа настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- User
summary: Чтение списка настроек пользователя
description: 'Чтение списка ключей настроек пользователя.
'
operationId: list_user_settings
x-process-type: NOTRACE
responses:
'200':
description: Чтение списка настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/user/{settings_key}:
post:
tags:
- User
summary: Создание настроек пользователя
description: 'Создание настроек пользователя.
'
operationId: create_user_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/user_settings'
responses:
'200':
description: Создание настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/user_settings'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- User
summary: Чтение настроек пользователя
description: 'Чтение настроек пользователя.
'
operationId: read_user_settings
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'200':
description: Чтение настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/user_settings'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- User
summary: Обновление настроек пользователя
description: 'Обновление настроек пользователя.
'
operationId: update_user_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/user_settings'
responses:
'200':
description: Обновление настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/user_settings'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- User
summary: Удаление настроек пользователя
description: 'Удаление всех настроек пользователя.
'
operationId: delete_user_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'204':
description: Настройки успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/customfields:
post:
tags:
- CustomFields
summary: Установка активного ключа настроек полей
description: 'Установка активного ключа настроек полей.
'
operationId: set_customfields_settings_active_key
x-process-type: NOTRACE
requestBody:
description: Новый ключ.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key'
responses:
'200':
description: Обновление активного ключа настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- CustomFields
summary: Чтение списка настроек полей
description: 'Чтение списка ключей настроек пользовательских полей.
'
operationId: list_customfields_settings
x-process-type: NOTRACE
responses:
'200':
description: Чтение списка настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/customfields/{settings_key}:
post:
tags:
- CustomFields
summary: Создание настроек полей
description: 'Создание настроек пользовательских полей.
'
operationId: create_customfields_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/customfields_settings'
examples:
Customfields:
$ref: '#/components/examples/Customfields'
responses:
'200':
description: Создание настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/customfields_settings'
examples:
Customfields:
$ref: '#/components/examples/Customfields'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- CustomFields
summary: Чтение настроек полей
description: 'Чтение настройки пользовательских полей.
'
operationId: read_customfields_settings
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'200':
description: Чтение настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/customfields_settings'
examples:
Customfields:
$ref: '#/components/examples/Customfields'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- CustomFields
summary: Обновление настроек полей
description: 'Обновление настроек пользовательских полей.
'
operationId: update_customfields_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/customfields_settings'
examples:
Customfields:
$ref: '#/components/examples/Customfields'
responses:
'200':
description: Обновление настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/customfields_settings'
examples:
Customfields:
$ref: '#/components/examples/Customfields'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- CustomFields
summary: Удаление настроек полей
description: 'Удаление настроек пользовательских полей.
'
operationId: delete_customfields_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'204':
description: Настройки успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/customicons:
post:
tags:
- CustomIcons
summary: Установка активного ключа настроек иконок
description: 'Установка активного ключа настроек иконок.
'
operationId: set_customicons_settings_active_key
x-process-type: NOTRACE
requestBody:
description: Новый ключ.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key'
responses:
'200':
description: Обновление активного ключа настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- CustomIcons
summary: Чтение списка настроек иконок
description: 'Чтение списка ключей настроек пользовательских иконок.
'
operationId: list_customicons_settings
x-process-type: NOTRACE
responses:
'200':
description: Чтение списка настроек успешно завершено
content:
application/json:
schema:
$ref: '#/components/schemas/settings_key_list'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/settings/customicons/{settings_key}:
post:
tags:
- CustomIcons
summary: Создание настроек иконок
description: 'Создание настроек пользовательских иконок.
'
operationId: create_customicons_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_zip'
responses:
'200':
description: Создание настроек успешно завершено
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
get:
tags:
- CustomIcons
summary: Чтение настроек иконок
description: 'Чтение настройки пользовательских иконок.
'
operationId: read_customicons_settings
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'200':
description: Чтение настроек успешно завершено
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_zip'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- CustomIcons
summary: Обновление настроек иконок
description: 'Обновление настроек пользовательских иконок.
'
operationId: update_customicons_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
requestBody:
description: Новые настройки.
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_zip'
responses:
'200':
description: Обновление настроек успешно завершено
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- CustomIcons
summary: Удаление настроек иконок
description: 'Удаление настроек пользовательских иконок.
'
operationId: delete_customicons_settings
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/settings_key'
responses:
'204':
description: Настройки успешно удалены
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/system/check:
get:
tags:
- System
summary: Проверка доступности
description: Проверка доступности сервиса.
operationId: check
x-process-type: NOTRACE
security: []
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/check_result'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/system/version:
get:
tags:
- System
summary: Получение версии сервиса
description: Получение версии сервиса.
operationId: version
x-process-type: NOTRACE
security: []
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/version_result'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/monitor/file/{filename}:
get:
tags:
- System
summary: Получение документации
description: Получение файла с документацией на этот сервис.
operationId: file
x-process-type: NOTRACE
security: []
parameters:
- $ref: '#/components/parameters/filename'
responses:
'200':
description: Успешное выполнение
content:
text/html:
schema:
$ref: '#/components/schemas/file_html'
text/plain:
schema:
$ref: '#/components/schemas/file_json'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
components:
securitySchemes:
ApiKeyAuth:
description: "Для [аутентификации](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)\
\ клиента \nиспользуется [JWT токен](https://ru.wikipedia.org/wiki/JSON_Web_Token),\
\ \nкоторый необходимо указывать в заголовке для каждого запроса в формате:\n\
\n`Authorization: Bearer `.\n\nУникальный токен для пользовательского\
\ аккаунта необходимо получить с помощью VRt.Account API.\n"
type: http
scheme: bearer
bearerFormat: JWT
schemas:
unique_key:
description: Ключ, уникальный идентификатор.
type: string
format: uuid
example: 11111111-2222-3333-4444-555555555555
filesystem_column_type:
description: 'Название колонки в таблице с папками.
'
type: string
enum:
- NAME
- OWNER_COMPANY_KEY
- OWNER_USERNAME
- CREATION_DATE
- EXPIRATION_DATE
- FOLDERS_COUNT
- FILES_COUNT
default: NAME
example: CREATION_DATE
folder_type:
description: "Тип элемента:\n * `ROOT` - корневой объект\n * `FOLDER` - папка\n"
type: string
enum:
- ROOT
- FOLDER
example: FOLDER
folder_parent_key:
description: Ключ родительской папки, `null` если папка корневая.
type:
- string
- 'null'
format: uuid
example: 11111111-2222-3333-4444-555555555555
folder_name:
description: Название папки.
type: string
minLength: 1
maxLength: 100
example: folder_1
folder_comment:
description: Комментарий к папке.
type:
- string
- 'null'
default: null
minLength: 0
maxLength: 10000
example: long long long long text
folder_color:
description: Цвет папки.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 20
example: red
attribute:
description: Атрибут.
type: object
additionalProperties: false
properties:
key:
description: Ключ атрибута.
type: string
minLength: 1
maxLength: 100
example: code
value:
description: Значение атрибута.
type: string
minLength: 0
maxLength: 7000
example: X51
strategy:
description: "Стратегия обработки атрибута:\n * `LASTMILE_REF_TIME` - при\
\ отправке задачи на планировщик значение (формат [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6))\
\ атрибута заменяется на относительное время, если значение не в формате\
\ - расчет останавливается со статусом `FAILED`.\n"
type:
- string
- 'null'
minLength: 0
maxLength: 100
default: null
example: LASTMILE_REF_TIME
required:
- key
- value
attributes:
description: Атрибуты. Используются для указания служебной информации.
type: array
uniqueItems: true
minItems: 0
maxItems: 250
items:
$ref: '#/components/schemas/attribute'
default: []
company_key_null:
description: Уникальный идентификатор компании.
type:
- string
- 'null'
format: string
pattern: \w+
default: null
minLength: 3
maxLength: 256
example: smart_company
user_username_null:
description: Уникальное имя пользователя для авторизации.
type:
- string
- 'null'
pattern: \w+
default: null
minLength: 2
maxLength: 256
example: username_for_login
folder_expiration_date:
description: 'Дата и время автоматического удаления в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
Null означает что автоматическое удаление не происходит.
'
type:
- string
- 'null'
default: null
format: date-time
example: '2026-09-21T19:45:00Z'
folder_counters:
description: 'Счетчики текущей папки.
'
type: object
additionalProperties: false
properties:
folders_count:
description: Количество вложенных папок.
type: integer
format: int32
minimum: 0
maximum: 100000
example: 12
files_count:
description: Количество вложенных файлов.
type: integer
format: int32
minimum: 0
maximum: 100000
example: 16
required:
- folders_count
- files_count
folder:
description: 'Папка - элемент виртуальной файловой системы.
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/unique_key'
type:
$ref: '#/components/schemas/folder_type'
parent_key:
$ref: '#/components/schemas/folder_parent_key'
name:
$ref: '#/components/schemas/folder_name'
comment:
$ref: '#/components/schemas/folder_comment'
color:
$ref: '#/components/schemas/folder_color'
attributes:
$ref: '#/components/schemas/attributes'
owner_company_key:
$ref: '#/components/schemas/company_key_null'
description: Ключ компании, которой принадлежит папка, корневая папка системы
не содержит владельца.
owner_username:
$ref: '#/components/schemas/user_username_null'
description: Владелец папки, корневая папка системы не содержит владельца.
creation_date:
description: 'Дата и время создания в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type:
- string
- 'null'
default: null
format: date-time
example: '2026-09-21T19:45:00Z'
expiration_date:
$ref: '#/components/schemas/folder_expiration_date'
counters:
$ref: '#/components/schemas/folder_counters'
required:
- key
- type
- name
- counters
table_list_counters_detail:
description: Детальные счетчики по списку.
type: object
additionalProperties: false
properties:
total:
description: Количество.
type: integer
format: int32
minimum: 0
maximum: 100000
example: 1
required:
- total
table_list_counters:
description: Счетчики по списку.
type: object
additionalProperties: false
properties:
overall:
$ref: '#/components/schemas/table_list_counters_detail'
description: Общая статистика, не зависит от фильтра.
filter:
$ref: '#/components/schemas/table_list_counters_detail'
description: Статистика по отфильтрованным данным.
required:
- overall
- filter
filesystem:
description: 'Виртуальная файловая система.
'
type: object
additionalProperties: false
properties:
current_folder:
$ref: '#/components/schemas/folder'
folders:
description: Список папок.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/folder'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- current_folder
- folders
- counters
process_code:
description: 'Уникальный идентификатор процесса. Создается один на процесс,
одинаковый для разных запросов по одному процессу.
'
type: string
format: uuid
example: 11111111-2222-3333-4444-555555555555
request_code:
description: 'Уникальный идентификатор запроса. Создается новый на каждый запрос.
'
type: string
format: uuid
example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
user_username:
description: Уникальное имя пользователя для авторизации.
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: username_for_login
company_key:
description: Уникальный идентификатор компании.
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: smart_company
service:
description: Название сервиса.
type: string
enum:
- UNIVERSAL
- ROUTING
- ACCOUNT
- ADMIN
- STUDIO
- MONITOR
- PACKER
- AGRO
- REGISTRY
- SUPPORT
example: UNIVERSAL
operation:
description: Наименование операции (запроса).
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: run_plan_calculation
tracedata:
description: Данные используемые для трассировки запросов.
type: object
additionalProperties: false
properties:
process_code:
$ref: '#/components/schemas/process_code'
request_code:
$ref: '#/components/schemas/request_code'
username:
$ref: '#/components/schemas/user_username'
company:
$ref: '#/components/schemas/company_key'
service:
$ref: '#/components/schemas/service'
operation:
$ref: '#/components/schemas/operation'
env:
description: Уникальный идентификатор окружения.
type: string
pattern: \S+
minLength: 2
maxLength: 256
example: edge7
pod:
description: Уникальный идентификатор пода.
type: string
pattern: \S+
minLength: 2
maxLength: 256
example: 11111111-2222-3333-4444-555555555555
time:
description: Дата и время вызова метода сервиса в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
required:
- process_code
- request_code
- username
- company
- service
- operation
- env
- pod
- time
error_message:
description: Сообщение об ошибке.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 2048
example: bad data
schema_error:
description: Ошибка по схеме.
type: object
additionalProperties: false
properties:
entity:
description: Идентификатор целевой сущности.
type:
- string
- 'null'
minLength: 1
maxLength: 1024
example: order_0001
message:
description: Сообщение об ошибке.
type: string
minLength: 1
maxLength: 2048
example: bad input data
required:
- entity
- message
schema_error_list:
description: Список синтаксических ошибок - данные не удовлетворяют схеме.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/schema_error'
default: []
general_400:
description: Детализация по ошибке 400 `Bad Request`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
schema_errors:
$ref: '#/components/schemas/schema_error_list'
required:
- tracedata
general_402:
description: Детализация по ошибке 402 `Payment Required`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
general_403:
description: Детализация по ошибке 403 `Forbidden`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
general_404_detail:
description: Детализация по ресурсу.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
required:
- tracedata
nullable:
description: Пустое значение.
type: 'null'
general_404:
description: Детализация по ошибке 404.
type: object
additionalProperties: false
properties:
resource_key:
description: Идентификатор ресурса.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: resource_key_one
detail:
description: Детализация по ресурсу, если возможно.
oneOf:
- $ref: '#/components/schemas/general_404_detail'
- $ref: '#/components/schemas/nullable'
default: null
general_429:
description: Детализация по ошибке 429 `Too Many Requests`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
general_500:
description: Детализация по ошибке 500 `Internal Server Error`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
folder_specification:
description: Информация о папке.
type: object
additionalProperties: false
properties:
parent_key:
$ref: '#/components/schemas/folder_parent_key'
name:
$ref: '#/components/schemas/folder_name'
comment:
$ref: '#/components/schemas/folder_comment'
color:
$ref: '#/components/schemas/folder_color'
expiration_date:
$ref: '#/components/schemas/folder_expiration_date'
attributes:
$ref: '#/components/schemas/attributes'
required:
- name
filesystem_path:
description: 'Путь от файла/папки до корня виртуальной файловой системы.
'
type: object
additionalProperties: false
properties:
folders:
description: Список папок.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/folder'
required:
- folders
folder_name_list:
description: Список названий папок от корня виртуальной файловой системы.
type: array
uniqueItems: false
minItems: 0
maxItems: 10
items:
$ref: '#/components/schemas/folder_name'
default: []
unique_key_list:
description: Список уникальных ключей.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/unique_key'
default: []
example:
- 11111111-2222-3333-4444-555555555555
file_name:
description: Название файла.
type: string
minLength: 1
maxLength: 100
example: file_1
file_name_path:
description: 'Путь от корня виртуальной файловой системы до файла в виде названий
папок и файла.
'
type: object
additionalProperties: false
properties:
folder_names:
$ref: '#/components/schemas/folder_name_list'
file_name:
$ref: '#/components/schemas/file_name'
required:
- folder_names
- file_name
filesystem_counters:
description: 'Счетчики по всей виртуальной файловой системе.
'
type: object
additionalProperties: false
properties:
current:
$ref: '#/components/schemas/folder_counters'
description: Текущее количество доступных папок/файлов.
max:
$ref: '#/components/schemas/folder_counters'
description: Максимальное количество доступных папок/файлов.
required:
- current
- max
file_zip:
description: ZIP-архив с данными.
type: string
format: byte
crew_key:
description: 'Уникальный (в рамках одной компании) идентификатор экипажа. Заполняется
при создании и не может быть изменен.
'
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: mega_crew
user_password:
description: Пароль.
type:
- string
- 'null'
default: null
format: password
minLength: 10
maxLength: 256
writeOnly: true
example: long_strong_password
name:
description: Название, информационное поле.
type: string
minLength: 0
maxLength: 128
default: ''
example: X1-ABC
user_phone:
description: Телефон пользователя.
type:
- string
- 'null'
pattern: ^[+]{1}(?:[0-9\-$$\/\.]\s?){6,15}[0-9]{1}$
default: null
minLength: 5
maxLength: 32
example: '+71112223333'
compatibility_tag:
description: Тег, используемый для определения [совместимости](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: string
minLength: 1
maxLength: 256
example: B1
compatibility_tag_list:
description: 'Список тегов которые определяют свойство или требование.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/compatibility_tag'
default: []
time_window:
description: Временное окно.
type: object
additionalProperties: false
properties:
from:
description: Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
to:
description: Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T19:45:00Z'
required:
- from
- to
feature_lifetime:
description: Время жизни тега.
type: object
additionalProperties: false
properties:
feature:
$ref: '#/components/schemas/compatibility_tag'
time_windows:
description: 'Список временных окон, внутри которых существует указанный
тег. Если на совместимость влияют несколько свойств с разными окнами -
сущности будут считаться совместимыми внутри пересечения окон. Пересечений
указанных окон по всем тегам для одного исполнителя не может быть больше
4-х.
'
type: array
minItems: 1
maxItems: 4
uniqueItems: true
items:
$ref: '#/components/schemas/time_window'
required:
- feature
- time_windows
feature_lifetime_list:
description: 'Список ограничения на время жизни тегов.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/feature_lifetime'
default: []
performer_compatibilities:
description: Совместимости [исполнителя с транспортом и заказами](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: object
additionalProperties: false
properties:
performer_features:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список свойств исполнителя. Используется для проверки совместимости
исполнителя с заказами.
'
performer_features_lifetimes:
$ref: '#/components/schemas/feature_lifetime_list'
description: 'Ограничения на время жизни свойств исполнителя. Влияет на
совместимость Исполнитель-Заказ. Совместимость действует во временные
окна, которые являются результатом пересечения временных окон всех указанных
свойств.
'
transport_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список необходимых требований к транспорту. Используется для
проверки совместимости транспорта с исполнителем.
'
time_duration:
description: Продолжительность временного отрезка в формате `P1DT2H12M34.2S`.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT0S
example: PT1H45M
demand_extra_duration:
description: 'Дополнительное время выполнения заявки определенным исполнителем.
'
type: object
additionalProperties: false
properties:
demand_key:
description: Ключ заявки, для событий которой необходимо увеличить время
выполнения.
type: string
minLength: 1
maxLength: 1024
example: demand01.1
additional_duration:
$ref: '#/components/schemas/time_duration'
description: 'Дополнительное время выполнения всех событий указанной заявки
для всех смен указанного исполнителя. В формате `P1DT2H12M34.2S`.
'
required:
- demand_key
- additional_duration
performer_limits:
description: Ограничение на рабочую загрузку исполнителя.
type: object
additionalProperties: false
properties:
max_work_shifts:
description: Ограничение количества смен исполнителя в одном планировании.
type: integer
format: int32
minimum: 1
maximum: 31
default: 31
example: 3
demand_extra_durations:
description: 'Список заявок, на которые исполнитель потратит больше времени,
чем указано в заявке. Действует для указанной пары исполнитель-заявка
для всех смен исполнителя и всех вариантов исполнения заявки.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/demand_extra_duration'
default: []
transport_type:
description: "Типы транспорта:\n * `CAR` - легковой автомобиль\n * `TRUCK_1500`\
\ - грузовой автомобиль с разрешенной массой не более 1500 кг\n * `TRUCK_3000`\
\ - грузовой автомобиль с разрешенной массой не более 3000 кг\n * `TRUCK_5000`\
\ - грузовой автомобиль с разрешенной массой не более 5000 кг\n * `TRUCK_10000`\
\ - грузовой автомобиль с разрешенной массой не более 10000 кг\n * `TRUCK_20000`\
\ - грузовой автомобиль с разрешенной массой не более 20000 кг\n * `TRUCK_10000_L75_H35_W24_6000`\
\ - грузовой автомобиль с разрешенной массой не более 10000 кг, габаритами\
\ 7.5 x 3.5 x 2.4 метров, допустимой нагрузкой на ось 6000 кг\n * `TRUCK_18000_L95_H40_W26_11000`\
\ - грузовой автомобиль с разрешенной массой не более 18000 кг, габаритами\
\ 9.5 x 4.0 x 2.6 метров, допустимой нагрузкой на ось 11000 кг\n * `TRUCK_26000_L120_H40_W26_8000`\
\ - грузовой автомобиль с разрешенной массой не более 26000 кг, габаритами\
\ 12.0 x 4.0 x 2.6 метров, допустимой нагрузкой на ось 8000 кг\n * `TRUCK_GARBAGE_1`\
\ - грузовой автомобиль для перевозки мусора (тип 1) \n * `TRUCK_GARBAGE_2`\
\ - грузовой автомобиль для перевозки мусора (тип 2)\n * `TUK_TUK` - моторикша\n\
\ * `BICYCLE` - велосипед\n * `PEDESTRIAN` - пешеход \n * `PUBLIC_TRANSPORT`\
\ - общественный транспорт\n * `TELEPORT` - телепорт (мгновенное перемещение\
\ между точками)\n\nРазрешенная масса - это масса снаряженного транспорта\
\ с грузом и водителем, установленная предприятием-изготовителем в качестве\
\ максимально допустимой.\n"
type: string
enum:
- CAR
- TRUCK_1500
- TRUCK_3000
- TRUCK_5000
- TRUCK_10000
- TRUCK_20000
- TRUCK_10000_L75_H35_W24_6000
- TRUCK_18000_L95_H40_W26_11000
- TRUCK_26000_L120_H40_W26_8000
- TRUCK_GARBAGE_1
- TRUCK_GARBAGE_2
- TUK_TUK
- BICYCLE
- PEDESTRIAN
- PUBLIC_TRANSPORT
- TELEPORT
default: CAR
example: CAR
box_key:
description: 'Ключ отсека, уникальный идентификатор. Используется для идентификации
размещения грузов по отсекам.
'
type: string
minLength: 1
maxLength: 1024
example: box01
capacity:
description: Характеристики вместимости.
type: object
additionalProperties: false
properties:
mass:
description: Масса в килограммах.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 10
volume:
description: Объём в кубических метрах.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_a:
description: 'Дополнительный параметр (A) для измерения грузов и отсеков
в альтернативных единицах измерения. Например, для учета грузов в штуках
(у груза данный параметр равен единице, у отсека - максимальному количеству
вмещаемых грузов).
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
capacity_b:
description: 'Дополнительный параметр (B) для измерения грузов и отсеков
в альтернативных единицах измерения.
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_c:
description: 'Дополнительный параметр (C) для измерения грузов и отсеков
в альтернативных единицах измерения.
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3
box_compatibilities:
description: Совместимости [отсека транспорта](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: object
additionalProperties: false
properties:
width:
description: Ширина в метрах.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
height:
description: Высота в метрах.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3.1
length:
description: Длина в метрах.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2.1
box_features:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список свойств отсека. Используется для проверки совместимости
груза с отсеком.
'
box_limits:
description: Ограничения на отсек кузова.
type: object
additionalProperties: false
properties:
max_one_cargo_capacity:
description: Ограничение на максимальный размер одного груза.
oneOf:
- $ref: '#/components/schemas/capacity'
- $ref: '#/components/schemas/nullable'
default: null
box:
description: 'Отсек транспорта, который способен вмещать грузы.
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/box_key'
capacity:
description: Вместимость отсека, которая ограничивает максимальную сумму
по всем полям `capacity` у *всех* грузов.
oneOf:
- $ref: '#/components/schemas/capacity'
- $ref: '#/components/schemas/nullable'
default: null
compatibilities:
description: Совместимости [отсека транспорта](#section/Opisanie/Ispolzuemye-sovmestimosti).
oneOf:
- $ref: '#/components/schemas/box_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
limits:
description: Ограничения на отсек кузова.
oneOf:
- $ref: '#/components/schemas/box_limits'
- $ref: '#/components/schemas/nullable'
default: null
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
transport_compatibilities:
description: Совместимости [транспорта с исполнителями и локациями](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: object
additionalProperties: false
properties:
transport_features:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список свойств транспорта. Используется для проверки совместимости
транспорта с локациями и исполнителями.
'
transport_features_lifetimes:
$ref: '#/components/schemas/feature_lifetime_list'
description: 'Ограничения на время жизни свойств транспорта. Влияет на совместимость
Транспорт-Локация. Совместимость действует во временные окна, которые
являются результатом пересечения временных окон всех указанных свойств.
'
performer_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список необходимых требований к исполнителю для использования
данного транспорта.
'
transport_limits:
description: Ограничения на загрузку транспорта.
type: object
additionalProperties: false
properties:
max_boxes:
description: 'Ограничение максимального количества используемых отсеков
транспорта в одном рейсе. Если параметр не указан или указан как null
- то количество отсеков не ограничено. Ограничение не должно превышать
количество отсеков.
'
type:
- integer
- 'null'
format: int32
default: null
minimum: 0
maximum: 100
example: 2
max_capacity:
description: 'Параметр дополнительно ограничивает максимально возможную
загрузку транспорта в целом суммарно по всем отсекам. Если параметр не
задан - загрузка ограничивается только каждым отсеком. Применимо только
если у транспорта больше одного отсека. Параметр не должен быть меньше
вместимости любого отсека.
'
oneOf:
- $ref: '#/components/schemas/capacity'
- $ref: '#/components/schemas/nullable'
default: null
crew_composition:
description: Детальное описание состава экипажа - используется для процесса
автоматического назначения экипажей на рейсы.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/name'
phone:
$ref: '#/components/schemas/user_phone'
attributes:
$ref: '#/components/schemas/attributes'
performer_compatibilities:
description: Совместимости исполнителя с транспортом и заказами.
oneOf:
- $ref: '#/components/schemas/performer_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
performer_limits:
description: Ограничение на рабочую загрузку исполнителя.
oneOf:
- $ref: '#/components/schemas/performer_limits'
- $ref: '#/components/schemas/nullable'
default: null
transport_type:
$ref: '#/components/schemas/transport_type'
transport_boxes:
description: Список отсеков транспорта, которые могут вмещать груз.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/box'
default: []
transport_compatibilities:
description: Совместимости транспорта с исполнителями и локациями.
oneOf:
- $ref: '#/components/schemas/transport_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
transport_limits:
description: Ограничения на загрузку транспорта.
oneOf:
- $ref: '#/components/schemas/transport_limits'
- $ref: '#/components/schemas/nullable'
default: null
crew_specification:
description: 'Данные для создания экипажа. Пользователь для авторизации экипажа
создается автоматически [по этим правилам](#tag/Crews).
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/crew_key'
password:
$ref: '#/components/schemas/user_password'
description: Новый пароль - если поле не `null`, то пароль меняется на это
значение.
composition:
$ref: '#/components/schemas/crew_composition'
required:
- key
trip_key:
description: Ключ рейса, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: trip-0000-9999
deal:
description: 'Сделка - назначение экипажа на конкретный рейс из конкретной волны.
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/unique_key'
description: Уникальный идентификатор сделки.
crew_key:
$ref: '#/components/schemas/crew_key'
wave_key:
$ref: '#/components/schemas/unique_key'
trip_key:
$ref: '#/components/schemas/trip_key'
required:
- key
- crew_key
- wave_key
- trip_key
deal_list:
description: Список сделок.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/deal'
default: []
crew_status:
description: Состояние экипажа.
type: object
additionalProperties: false
properties:
online:
description: Признак наличия активного соединения.
type: boolean
default: false
example: true
deals:
$ref: '#/components/schemas/deal_list'
description: Связанные с экипажем текущие сделки.
basic_essence_key:
description: Ключ сущности, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: key01
crew_device:
description: Информация о мобильном устройстве (информация обновляется мобильным
приложением при подключении).
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/basic_essence_key'
description: Уникальный идентификатор устройства.
app_version:
description: Версия приложения.
type:
- string
- 'null'
default: null
minLength: 2
maxLength: 64
example: '7.51'
os_version:
description: Версия операционной системы.
type:
- string
- 'null'
default: null
minLength: 2
maxLength: 64
example: '15.0'
manufacturer:
description: Производитель мобильного устройства.
type:
- string
- 'null'
default: null
minLength: 2
maxLength: 64
example: Samsung
model:
description: Модель мобильного устройства.
type:
- string
- 'null'
default: null
minLength: 2
maxLength: 64
example: S25
required:
- key
crew_device_list:
description: Список мобильных устройств экипажа.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/crew_device'
crew:
description: Экипаж.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/crew_key'
account_username:
$ref: '#/components/schemas/user_username'
description: Имя пользователя аккаунта, который использует экипаж. Заполняется
при создании и не может быть изменен.
owner_company_key:
$ref: '#/components/schemas/company_key'
description: Ключ компании, которой принадлежит экипаж. Заполняется при
создании и не может быть изменен.
owner_username:
$ref: '#/components/schemas/user_username'
description: Имя пользователя аккаунта, которому принадлежит экипаж. Заполняется
при создании и не может быть изменен.
status:
$ref: '#/components/schemas/crew_status'
composition:
$ref: '#/components/schemas/crew_composition'
devices:
$ref: '#/components/schemas/crew_device_list'
edit_date:
description: 'Дата и время последнего редактирования `composition` или `devices`
в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type: string
format: date-time
example: '2026-09-21T19:45:00Z'
required:
- key
- account_username
- owner_company_key
- owner_username
- status
- edit_date
basic_essence_key_null:
description: Ключ сущности, уникальный идентификатор, может быть `null`.
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: key01
table_string_search_field:
description: 'Строковое табличное поле. Для родительской сущности указывается
список значений через запятую.
'
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: AAA
table_crew_fields:
description: Табличные поля экипажей.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- CREW
default: CREW
example: CREW
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
account_username:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: true
owner_username:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: true
owner_company_key:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: true
composition_phone:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: true
status_online:
description: Признак наличия активного соединения.
type: boolean
default: false
x-filter-type: BOOL_LIST
x-default-enabled: true
example: true
linked_essence:
description: Ссылка на связанную сущность.
type: object
additionalProperties: false
properties:
essence_key:
$ref: '#/components/schemas/basic_essence_key'
essence_type:
description: Тип сущности.
type: string
enum:
- LOCATION
- ORDER
- ASSIGNED_ORDER
- PERFORMER
- TRANSPORT
- HARDLINK
- TRIP
- FACT
- CREW
example: LOCATION
essence_name:
description: Название, информационное поле.
type:
- string
- 'null'
minLength: 1
maxLength: 128
default: null
example: X1-ABC
required:
- essence_key
- essence_type
linked_essence_list:
description: Список связанных сущностей.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/linked_essence'
default: []
web_crew:
description: Web Crew.
type: object
additionalProperties: false
properties:
crew:
$ref: '#/components/schemas/crew'
fields:
$ref: '#/components/schemas/table_crew_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- crew
table_crew_column_type:
description: "Название колонки в таблице с экипажами:\n * `ESSENCE_KEY` - ключ\
\ сущности\n"
type: string
enum:
- ESSENCE_KEY
- ACCOUNT_USERNAME
- OWNER_USERNAME
- OWNER_COMPANY_KEY
- COMPOSITION_PHONE
- STATUS_ONLINE
default: ESSENCE_KEY
example: OWNER_COMPANY_KEY
table_filter_type:
description: "Тип фильтра:\n * `DATETIME_RANGE` - пересечение временного отрезка\n\
\ * `INT_RANGE` - попадание числа внутрь целочисленного отрезка\n * `FLOAT_RANGE`\
\ - попадание числа внутрь float отрезка\n * `DURATION_RANGE` - вхождение\
\ длительности внутрь временного отрезка\n * `BOOL_LIST` - точное совпадение\
\ булевых значений\n * `ENUM_LIST` - точное совпадение строковых значений\
\ из заранее определенного списка\n * `STRING_LIST` - частичное или точное\
\ совпадение списка строковых значений\n * `STRING_SEARCH` - частичное или\
\ точное совпадение строки\n"
type: string
enum:
- DATETIME_RANGE
- INT_RANGE
- FLOAT_RANGE
- DURATION_RANGE
- BOOL_LIST
- ENUM_LIST
- STRING_LIST
- STRING_SEARCH
example: STRING_SEARCH
table_filter_datetime_range:
description: Фильтр - временное окно.
type: object
additionalProperties: false
properties:
from:
description: 'Дата и время левой границы окна в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type:
- string
- 'null'
format: date-time
example: '2026-09-21T08:45:00+03:00'
to:
description: 'Дата и время правой границы окна в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type:
- string
- 'null'
format: date-time
example: '2026-09-21T19:45:00+03:00'
table_filter_int_range:
description: Фильтр - числовой диапазон.
type: object
additionalProperties: false
properties:
from:
description: Левая граница.
type: integer
format: int32
minimum: -10000000000
maximum: 10000000000
default: -999999999
example: 1
to:
description: Правая граница.
type: integer
format: int32
minimum: -10000000000
maximum: 10000000000
default: 999999999
example: 100
table_filter_float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
type: object
additionalProperties: false
properties:
from:
description: Левая граница.
type: number
format: double
minimum: -1000000000000
maximum: 1000000000000
default: -9999999999.9
example: 1
to:
description: Правая граница.
type: number
format: double
minimum: -1000000000000
maximum: 1000000000000
default: 9999999999.9
example: 100
table_filter_duration_range:
description: Диапазон длительности.
type: object
additionalProperties: false
properties:
from:
$ref: '#/components/schemas/time_duration'
description: Левая граница.
example: PT10M
to:
$ref: '#/components/schemas/time_duration'
description: Правая граница.
example: PT30M
table_filter_bool_list:
description: Фильтр по списку булевых значений.
type: object
additionalProperties: false
properties:
elements:
description: Список булевых значений.
type: array
uniqueItems: false
minItems: 0
maxItems: 2
items:
description: Логическая переменная.
type: boolean
default: false
example: false
default: []
table_filter_enum_list:
description: Фильтр по списку заранее известных текстовых значений.
type: object
additionalProperties: false
properties:
elements:
description: Список строк.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
description: Значение.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: key01
default: []
table_filter_string_list:
description: Фильтр по списку строк.
type: object
additionalProperties: false
properties:
elements:
description: Список строк.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
description: Строка для поиска.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: key01
default: []
strict:
description: Точное совпадение (`true`) или поиск по вхождению подмножества
(`false`).
type: boolean
default: false
example: false
table_filter_string_search:
description: Строковый фильтр.
type: object
additionalProperties: false
properties:
text:
description: Строка для поиска.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: key01
strict:
description: Точное совпадение (`true`) или поиск по вхождению подстроки
(`false`).
type: boolean
default: false
example: false
table_crew_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_crew_column_type'
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_crew_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_crew_filter'
default: []
table_crew:
description: Экипаж (табличное представление).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_crew_fields'
elements:
description: Список.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_crew_fields'
required:
- fields
- elements
table_crew_list:
description: Список.
type: object
additionalProperties: false
properties:
essences:
description: Список.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_crew'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
crew_key_list:
description: Список ключей сущностей.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/crew_key'
trackpoint:
description: Географическая точка с привязкой ко времени.
type: object
additionalProperties: false
properties:
latitude:
description: Широта в градусах.
type: number
format: double
minimum: -90
maximum: 90
example: 55.692789
longitude:
description: Долгота в градусах.
type: number
format: double
minimum: -180
maximum: 180
example: 37.554554
time:
description: Дата и время нахождения в указанной точке в соответствии с
[ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type:
- string
- 'null'
format: date-time
default: null
example: '2026-09-21T09:30:00+03:00'
required:
- latitude
- longitude
crew_trackpoint:
description: Местонахождение экипажа с привязкой ко времени.
type: object
additionalProperties: false
properties:
trackpoint:
$ref: '#/components/schemas/trackpoint'
crew_key:
$ref: '#/components/schemas/crew_key'
online:
description: Признак наличия активного соединения.
type: boolean
default: false
example: true
required:
- trackpoint
- crew_key
crew_trackpoint_list:
description: Местонахождения экипажей.
type: object
additionalProperties: false
properties:
trackpoints:
description: Список точек.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/crew_trackpoint'
counters:
$ref: '#/components/schemas/table_list_counters'
description: Счетчики по списку сущностей.
trackpoints_counters:
$ref: '#/components/schemas/table_list_counters_detail'
description: Счетчики по списку точек.
required:
- trackpoints
- counters
- trackpoints_counters
crew_specification_list:
description: Список данных для создания экипажей.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/crew_specification'
entity_error_type:
description: "Тип ошибки:\n * `INCONSISTENT_REFERENCE` - ссылка на несуществующую\
\ сущность\n * `UNIQUE_IDS_VIOLATION` - все идентификаторы должны быть уникальными\n\
\ * `INVALID_ROUTING_MATRIX` - проблема с размерностью матрицы геоданных\n\
\ * `INVALID_GEO_PROVIDER` - проблема с указанным геопровайдером\n * `INVALID_TIME_WINDOW`\
\ - проблема с указанным временным окном\n * `COMPATIBILITY_CARGO_BOX` -\
\ ни один груз не совместим ни с одним отсеком\n * `COMPATIBILITY_TRANSPORT_PERFORMER`\
\ - ни один транспорт не совместим ни с одним исполнителем\n * `COMPATIBILITY_TRANSPORT_LOCATION`\
\ - ни один транспорт не совместим ни с одной локацией\n * `COMPATIBILITY_ORDER_PERFORMER`\
\ - ни один заказ не совместим ни с одним транспортом\n * `INCONSISTENT_HARDLINK`\
\ - ключ сущности должен находиться только в одной связи\n * `PLANNING_HORIZON_EXCEEDED`\
\ - превышен горизонт планирования (разница между самой ранней и самой поздней\
\ временными отметками в данных)\n * `MEANINGLESS_RESTRICTIONS` - заданные\
\ ограничения не имеют смысла\n * `LOCATION_LIMITS_VIOLATION` - временные\
\ окна действия ограничения не должны пересекаться и их объединение должно\
\ соответствовать окну доступности локации `work_window`; если задано ограничение\
\ `min_cargos`/`min_transports`, то должно быть задано ограничение `max_cargos`/`max_transports`;\
\ ограничения `min_cargos`/`min_transports` должны быть меньше всех ограничений\
\ `max_cargos`/`max_transports`; указана стратегия выбора времен `LOWEST_COST`\
\ (на текущий момент не поддерживается)\n * `PERFORMER_WRR_MUST_BE_SET` -\
\ для режима труда и отдыха должно быть установлено хотя бы одно из полей\
\ - `rest_rules` или `break_rules`.\n * `PERFORMER_WRR_INVALID_REST_COUNT`\
\ - количество отдыхов не может быть больше 14\n * `PERFORMER_WRR_INVALID_BREAK_COUNT`\
\ - между отдыхами не может начаться больше 14 перерывов\n * `PERFORMER_WRR_MEANINGLESS_REST`\
\ - заданный отдых невозможно начать внутри рабочего временного окна `working_time`\
\ исполнителя\n * `PERFORMER_WRR_MEANINGLESS_BREAK` - заданный перерыв невозможно\
\ начать\n * `TOO_MANY_WARNINGS` - количество предупреждений `warning` больше\
\ 15001\n * `UNCLASSIFIED_ERROR` - неклассифицированная ошибка\n"
type: string
enum:
- INCONSISTENT_REFERENCE
- UNIQUE_IDS_VIOLATION
- INVALID_ROUTING_MATRIX
- INVALID_GEO_PROVIDER
- INVALID_TIME_WINDOW
- COMPATIBILITY_CARGO_BOX
- COMPATIBILITY_TRANSPORT_PERFORMER
- COMPATIBILITY_TRANSPORT_LOCATION
- COMPATIBILITY_ORDER_PERFORMER
- INCONSISTENT_HARDLINK
- PLANNING_HORIZON_EXCEEDED
- MEANINGLESS_RESTRICTIONS
- LOCATION_LIMITS_VIOLATION
- PERFORMER_WRR_MUST_BE_SET
- PERFORMER_WRR_INVALID_REST_COUNT
- PERFORMER_WRR_INVALID_BREAK_COUNT
- PERFORMER_WRR_MEANINGLESS_REST
- PERFORMER_WRR_MEANINGLESS_BREAK
- TOO_MANY_WARNINGS
- UNCLASSIFIED_ERROR
example: INCONSISTENT_REFERENCE
entity_type:
description: Тип сущности.
type: string
enum:
- TASK
- SETTINGS
- ORDER
- ORDER_LINK
- PERFORMER
- PERFORMER_LINK
- TRANSPORT
- TRANSPORT_LINK
- HARDLINK
- HARDLINK_LINK
- LOCATION
- LOCATION_LINK
- BOX
- BOX_LINK
- TRIP
- TRIP_LINK
- CARGO
- CARGO_LINK
- DEMAND
- DEMAND_LINK
- EVENT
- EVENT_LINK
- PERFORMER_SHIFT
- PERFORMER_SHIFT_LINK
- TRANSPORT_SHIFT
- TRANSPORT_SHIFT_LINK
- FACT
- FACT_LINK
example: ORDER
entity_path:
description: 'Описание сущности и путь до нее.
'
type: object
additionalProperties: false
properties:
entity_key:
description: Ключ целевой сущности.
type:
- string
- 'null'
minLength: 0
maxLength: 1024
example: order_0001
entity_type:
$ref: '#/components/schemas/entity_type'
child_entity:
description: Дочерняя сущность, если возможно.
oneOf:
- $ref: '#/components/schemas/entity_path'
x-rust-boxed: true
- $ref: '#/components/schemas/nullable'
default: null
required:
- entity_key
- entity_type
entity_error:
description: Описание ошибки во входных данных.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/entity_error_type'
info:
description: Информация об ошибке.
type:
- string
- 'null'
minLength: 0
maxLength: 2048
default: null
example: entity error
entities:
description: Список сущностей, которые вызвали ошибку.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_path'
required:
- type
- entities
entity_error_list:
description: 'Список ошибок в исходных данных, из-за которых запуск расчета
невозможен.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_error'
default: []
entity_warning_type:
description: "Тип предупреждения:\n * `NO_AVAILABLE_TRANSPORT` - заказ невозможно\
\ выполнить, так как нет ни одного доступного (по ограничениям смен) транспорта\n\
\ * `NO_AVAILABLE_PERFORMER` - заказ невозможно выполнить, так как нет ни\
\ одного доступного (по ограничениям смен) исполнителя\n * `NO_COMPATIBLE_TRANSPORT`\
\ - заказ невозможно выполнить, так как нет ни одного совместимого (по вместимости\
\ и\\или тегам совместимости) транспорта\n * `NO_COMPATIBLE_PERFORMER` -\
\ заказ невозможно выполнить, так как нет ни одного совместимого (по тегам\
\ совместимости) исполнителя\n * `NO_AVAILABLE_ORDER_FOR_TRANSPORT` - транспорт\
\ бесполезен, так как нет ни одного совместимого (по вместимости и\\или тегам\
\ совместимости) заказа\n * `NO_AVAILABLE_ORDER_FOR_PERFORMER` - исполнитель\
\ бесполезен, так как нет ни одного совместимого (по вместимости и\\или тегам\
\ совместимости) заказа\n * `NO_COMPATIBLE_ORDER_FOR_TRANSPORT` - транспорт\
\ бесполезен, так как нет ни одного доступного (по ограничениям смен) заказа\n\
\ * `NO_COMPATIBLE_ORDER_FOR_PERFORMER` - исполнитель бесполезен, так как\
\ нет ни одного доступного (по ограничениям смен) заказа\n * `PICKUP_AND_DROP_VIOLATION`\
\ - для каждого груза в рамках заказа должна быть ровно одна погрузка и ровно\
\ одна выгрузка (кроме заявок `PICKUP_TO_BOX` и `DROP_FROM_BOX`)\n * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER`\
\ - для каждого груза в рамках заказа должна погрузка должна идти перед выгрузкой\
\ (`precedence_in_order`)\n * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP`\
\ - заданы противоречивые требования на порядок следования заявок (`precedence_in_trip`)\n\
\ * `VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER` - требования на порядок следования\
\ заявок в рейсе (`precedence_in_trip`) и в заказе (`precedence_in_order`)\
\ противоречат друг другу\n * `TIME_WINDOW_VIOLATION` - время начала временного\
\ окна позже времени окончания окна или временное окно превышает максимально\
\ допустимое\n * `DURATION_VIOLATION` - продолжительность не соответствует\
\ разрешенному интервалу\n * `ORDER_WINDOWS_INTERSECTION_VIOLATION` - мягкие\
\ окна не должны выходить за границы жесткого окна\n * `PERFORMER_SHIFTS_INTERSECTION_VIOLATION`\
\ - временные диапазоны рабочих смен исполнителя не должны пересекаться, начало\
\ последующего окна не может быть равно концу предыдущего \n * `TRANSPORT_SHIFTS_INTERSECTION_VIOLATION`\
\ - временные диапазоны рабочих смен транспорта не должны пересекаться, начало\
\ последующего окна не может быть равно концу предыдущего\n * `LOCATION_WINDOWS_INTERSECTION_VIOLATION`\
\ - временные диапазоны рабочих окон одной локации не должны пересекаться,\
\ начало последующего окна не может быть равно концу предыдущего\n * `NO_TRANSPORT_BOXES`\
\ - если существуют заказы с грузом - то у транспорта должен быть хотя бы\
\ один отсек \n * `MAX_CAPACITY_VIOLATION` - ограничение `max_capacity` превышает\
\ суммарную вместимость всех отсеков или указывается для одного отсека или\
\ меньше вместимости какого-то отсека\n * `MAX_BOXES_VIOLATION` - ограничение\
\ `max_boxes` больше или равно суммарного количества отсеков или указывается\
\ для одного отсека или равно нулю\n * `TOO_MANY_CARGOS_FOR_DROP_VIOLATION`\
\ - количество грузов для заявки, имеющей тип `DROP` / `DROP_FROM_BOX`, должно\
\ быть не больше единицы\n * `EMPTY_CARGOES_LIST` - пустой список грузов\
\ у заявок, имеющих тип `DROP` / `DROP_FROM_BOX` / `PICKUP` / `PICKUP_TO_BOX`\n\
\ * `CARGO_WORK_VIOLATION` - у заявки типа `WORK` список грузов должен быть\
\ пустой\n * `GEODATA_TIME_WINDOW_VIOLATION` - горизонт планирования превышает\
\ максимально доступное значение\n * `SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE`\
\ - рабочее окно `working_window` смены исполнителя не лежит полностью внутри\
\ окна доступности `availability_window`\n * `DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW`\
\ - продолжительность события не помещается в жесткое временное окно\n *\
\ `DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - продолжительность события не\
\ помещается в мягкое временное окно\n * `EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW`\
\ - дополнительное время на выполнение заявки не помещается в мягкое временное\
\ окно\n * `MAX_CALCULATION_TIME_VIOLATION` - превышено максимальное допустимое\
\ время расчета\n * `MAX_WAITING_TIME_VIOLATION` - превышено максимальное\
\ допустимое время ожидания расчета в очереди\n * `INVALID_HARDLINK` - связь\
\ невозможно учесть, нельзя назначать на транспорт заказ с заявками с типом\
\ `WORK`\n * `CARGO_BOX_VIOLATION` - для заявок всех типов кроме `DROP_FROM_BOX`\
\ ключ отсека, где находится груз, должен быть пустым\n * `CARGO_MULTIBOX_VIOLATION`\
\ - для заявки типа `DROP_FROM_BOX` указанные грузы находятся в отсеках разных\
\ транспортов\n * `CARGO_CAPACITY_VIOLATION` - указанный груз на борту превышает\
\ размеры отсека, в котором он находится\n * `CARGO_ORDER_VIOLATION` - указанный\
\ в заказе груз не присутствует в заявках\n * `FEATURE_LIFETIME_VIOLATION`\
\ - окна свойств пересекаются между собой или рабочее окно `working_window`\
\ смены исполнителя или транспорта не пересекается с временным окном свойства\n\
\ * `QUOTA_EXCEEDED` - превышена квота на сервис\n * `MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED`\
\ - полученное решение не удовлетворяет требованию `max_locations_limits_penalty`\n\
\ * `REMOVED_ITEMS_NOT_EMPTY` - в процессе проверки данных были удалены сущности\
\ из исходного датасета, список удаленных сущностей находится в объекте `removed_items`\n\
\ * `INCOMPATIBLE_REQUIREMENTS` - заданы несовместимые требования: учет нагрузки\
\ на локацию и оптимизация мягких окон.\n * `UNCLASSIFIED_WARNING` - неклассифицированное\
\ предупреждение\n"
type: string
enum:
- NO_AVAILABLE_TRANSPORT
- NO_AVAILABLE_PERFORMER
- NO_COMPATIBLE_TRANSPORT
- NO_COMPATIBLE_PERFORMER
- NO_AVAILABLE_ORDER_FOR_TRANSPORT
- NO_AVAILABLE_ORDER_FOR_PERFORMER
- NO_COMPATIBLE_ORDER_FOR_TRANSPORT
- NO_COMPATIBLE_ORDER_FOR_PERFORMER
- PICKUP_AND_DROP_VIOLATION
- PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER
- PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP
- VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER
- TIME_WINDOW_VIOLATION
- DURATION_VIOLATION
- ORDER_WINDOWS_INTERSECTION_VIOLATION
- PERFORMER_SHIFTS_INTERSECTION_VIOLATION
- TRANSPORT_SHIFTS_INTERSECTION_VIOLATION
- LOCATION_WINDOWS_INTERSECTION_VIOLATION
- NO_TRANSPORT_BOXES
- MAX_CAPACITY_VIOLATION
- MAX_BOXES_VIOLATION
- TOO_MANY_CARGOS_FOR_DROP_VIOLATION
- EMPTY_CARGOES_LIST
- CARGO_WORK_VIOLATION
- GEODATA_TIME_WINDOW_VIOLATION
- SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE
- DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW
- DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW
- EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW
- MAX_CALCULATION_TIME_VIOLATION
- MAX_WAITING_TIME_VIOLATION
- INVALID_HARDLINK
- CARGO_BOX_VIOLATION
- CARGO_MULTIBOX_VIOLATION
- CARGO_CAPACITY_VIOLATION
- CARGO_ORDER_VIOLATION
- FEATURE_LIFETIME_VIOLATION
- QUOTA_EXCEEDED
- MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED
- REMOVED_ITEMS_NOT_EMPTY
- INCOMPATIBLE_REQUIREMENTS
- UNCLASSIFIED_WARNING
example: TIME_WINDOW_VIOLATION
entity_warning:
description: Описание предупреждения.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/entity_warning_type'
info:
description: Информация о предупреждении.
type:
- string
- 'null'
minLength: 0
maxLength: 2048
example: entity warning
entities:
description: Список сущностей, которые относятся к предупреждению.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_path'
required:
- type
- entities
entity_warning_list:
description: Список предупреждений.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_warning'
default: []
universal_400_with_errors_and_warnings:
description: Детализация по ошибке 400.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
schema_errors:
$ref: '#/components/schemas/schema_error_list'
logical_errors:
$ref: '#/components/schemas/entity_error_list'
warnings:
$ref: '#/components/schemas/entity_warning_list'
required:
- tracedata
file_xlsx:
description: Файл с данными в формате [XLSX](https://ru.wikipedia.org/wiki/Microsoft_Excel).
type: string
format: byte
basic_essence_key_list:
description: Список ключей сущностей.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/basic_essence_key'
default: []
trip_assignment:
description: 'Назначение экипажа на конкретный рейс.
'
type: object
additionalProperties: false
properties:
crew_key:
$ref: '#/components/schemas/crew_key'
trip_key:
$ref: '#/components/schemas/trip_key'
required:
- crew_key
- trip_key
trip_assignment_list:
description: Список назначений рейсов на экипажи.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/trip_assignment'
default: []
assigned_performer:
description: Назначенная на определенное время (`shift_time`) смена исполнителя.
type: object
additionalProperties: false
properties:
performer_key:
description: Ключ исполнителя, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: performer0001
shift_key:
description: Ключ смены исполнителя.
type: string
minLength: 1
maxLength: 1024
example: performer0001_shift01
shift_time:
$ref: '#/components/schemas/time_window'
required:
- performer_key
- shift_key
- shift_time
assigned_transport:
description: Назначенная на определенное время (`shift_time`) смена транспорта.
type: object
additionalProperties: false
properties:
transport_key:
description: Ключ транспорта, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: transport001
shift_key:
description: Ключ смены транспорта.
type: string
minLength: 1
maxLength: 1024
example: performer01
shift_time:
$ref: '#/components/schemas/time_window'
required:
- transport_key
- shift_key
- shift_time
trip_state_flag:
description: 'Логический [флаг состояния](#section/Opisanie/Model-reisa) в рамках
рейса.
'
type: string
enum:
- AROUND_LOCATION
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_WORKING_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_EVENT_SOFT_WINDOW
- ON_DEMAND
- WAITING
- RELOCATING
- BREAK
- REST
- DEPARTURE
- ARRIVAL
- DURING_ROUNDTRIP
example: RELOCATING
cargo_key:
description: Ключ груза, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: cargo01
cargo_action_type:
description: "Типы действий с грузом:\n * `ADD` - перемещение груза в отсек\n\
\ * `REMOVE` - перемещение груза из отсека\n"
type: string
enum:
- ADD
- REMOVE
example: ADD
cargo_action:
description: Действие с грузом.
type: object
additionalProperties: false
properties:
box_key:
$ref: '#/components/schemas/box_key'
cargo_key:
$ref: '#/components/schemas/cargo_key'
cargo_action_type:
$ref: '#/components/schemas/cargo_action_type'
required:
- box_key
- cargo_key
- cargo_action_type
cargo_action_list:
description: Список действий с грузами в транспорте на начало состояния.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/cargo_action'
default: []
trip_state:
description: Состояние рейса.
type: object
additionalProperties: false
properties:
time:
description: Время начала действия в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
order_key:
description: Ключ заказа, с которым производится действие.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: order01
demand_key:
description: Ключ заявки, с которой производится действие.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: order01-demand2
event_key:
description: Ключ события, с которым производится действие.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: order01-demand2-event1
location_key:
description: Ключ локации, в которой производится действие.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: location01
roundtrip_key:
description: Ключ кругорейса, в котором производится действие.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: roundtrip01
flags:
description: "Список флагов, совокупность которых описывает текущее состояние.\n\
Значения флагов, отвечающих за географическое положение (одновременно\
\ может быть несколько флагов):\n * `AROUND_LOCATION` - исполнитель находится\
\ рядом с локацией - в процессе парковки или выезда с нее.\n * `INSIDE_LOCATION`\
\ - исполнитель находится на локации.\n\nЗначения флагов, отвечающих за\
\ нахождения во временных окнах (одновременно может быть несколько флагов):\n\
\ * `INSIDE_WORKING_WINDOW` - исполнитель находится внутри рабочего временного\
\ окна.\n * `INSIDE_LOCATION_WINDOW` - исполнитель находится внутри времени\
\ работы локации.\n * `INSIDE_EVENT_HARD_WINDOW` - исполнитель находится\
\ внутри жесткого временного окна.\n * `INSIDE_EVENT_SOFT_WINDOW` - исполнитель\
\ находится внутри мягкого временного окна.\n\nЗначения флагов, отвечающих\
\ за действия (одновременно может быть только один флаг):\n * `ON_DEMAND`\
\ - исполнитель начал работу над заявкой.\n * `WAITING` - исполнитель\
\ начал ожидание.\n * `RELOCATING` - исполнитель начал перемещаться к\
\ следующей остановке.\n * `BREAK` - исполнитель начал на перерыв.\n\
\ * `REST` - исполнитель начал длительный отдых.\n * `ARRIVAL` - исполнитель\
\ начал парковку.\n * `DEPARTURE` - исполнитель завершил выезд с парковки.\n\
\nЗначения флагов, отвечающих за логическое состояние:\n * `DURING_ROUNDTRIP`\
\ - исполнитель выполняет кругорейс.\n"
type: array
uniqueItems: true
minItems: 0
maxItems: 9
items:
$ref: '#/components/schemas/trip_state_flag'
cargo_actions:
$ref: '#/components/schemas/cargo_action_list'
distance:
description: Накопительное расстояние от начала рейса, в метрах.
type: integer
format: int32
minimum: 0
maximum: 4000000000
default: 0
example: 5200
cost:
description: Накопительные затраты от начала рейса, считаются на базе тарифов
исполнителей и транспорта.
type: number
format: double
minimum: 0
maximum: 10000000000
default: 0
example: 1231.1
reward:
description: Накопительное вознаграждение от начала рейса за выполнение
заказов.
type: number
format: double
minimum: 0
maximum: 10000000000
default: 0
example: 2343.3
attributes:
$ref: '#/components/schemas/attributes'
required:
- time
- flags
trip_state_list:
description: Список состояний исполнителя.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip_state'
trip_waitlist:
description: 'Список ключей заказов, назначенных на исполнителя, но не запланированных
на определенное время и не учтенных в загрузке транспорта.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Ключ заказа.
type: string
minLength: 1
maxLength: 1024
default: []
example:
- order02
trip_status:
description: "Текущий [статус рейса](#section/Opisanie/Model-sostoyanij-rejsa):\n\
\ * `FREE` - рейс не имеет назначенного экипажа, начальный статус, ожидает\
\ назначения оператором\n * `ASSIGNED` - на рейс назначен экипаж, ожидает\
\ отправки экипажу оператором\n * `SENT` - рейс отправлен экипажу, ожидает\
\ подтверждения получения экипажем\n * `RECEIVED` - рейс получен экипажем,\
\ ожидает принятия экипажем\n * `CONFIRMED` - рейс принят экипажем, ожидает\
\ начала работ экипажем\n * `REJECTED` - рейс отклонен экипажем, ожидает\
\ назначения нового экипажа оператором\n * `EXECUTING` - рейс выполняется\
\ экипажем, ожидает завершения экипажем\n * `FINISHED` - рейс завершен -\
\ все задачи выполнены, финальный статус\n * `CANCELED` - рейс отменен оператором,\
\ финальный статус\n"
type: string
enum:
- FREE
- ASSIGNED
- SENT
- RECEIVED
- CONFIRMED
- REJECTED
- EXECUTING
- FINISHED
- CANCELED
default: FREE
example: FINISHED
trip:
description: 'Рейс - это совокупность работ, запланированных на выполнение конкретным
исполнителем на конкретном транспорте, выраженных через [изменение состояний](#section/Opisanie/Model-rejsa)
исполнителя.
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/trip_key'
performer:
$ref: '#/components/schemas/assigned_performer'
transport:
$ref: '#/components/schemas/assigned_transport'
states:
$ref: '#/components/schemas/trip_state_list'
waitlist:
$ref: '#/components/schemas/trip_waitlist'
name:
$ref: '#/components/schemas/name'
status:
$ref: '#/components/schemas/trip_status'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- performer
- transport
- states
measurements:
description: 'Измерения времен и дистанций для работ на локации, отдельных рейсов
и планирования в целом.
'
type: object
additionalProperties: false
properties:
time_window:
$ref: '#/components/schemas/time_window'
driving_time:
$ref: '#/components/schemas/time_duration'
waiting_time:
$ref: '#/components/schemas/time_duration'
working_time:
$ref: '#/components/schemas/time_duration'
break_time:
$ref: '#/components/schemas/time_duration'
rest_time:
$ref: '#/components/schemas/time_duration'
arriving_time:
$ref: '#/components/schemas/time_duration'
departure_time:
$ref: '#/components/schemas/time_duration'
total_time:
$ref: '#/components/schemas/time_duration'
distance:
description: Расстояние в метрах.
type: integer
format: int32
minimum: 0
maximum: 4000000000
example: 5200
required:
- time_window
- driving_time
- waiting_time
- working_time
- break_time
- rest_time
- arriving_time
- departure_time
- total_time
- distance
capacity_statistics_sum:
description: Статистика по характеристикам вместимости.
type: object
additionalProperties: false
properties:
mass:
description: Суммарная масса в килограммах.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 105500
volume:
description: Суммарный объём в кубических метрах.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 220034
capacity_a:
description: Сумма по дополнительному параметру (A) для измерения грузов
в альтернативных единицах измерения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 100000
capacity_b:
description: Сумма по дополнительному параметру (B) для измерения грузов
в альтернативных единицах измерения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 200000
capacity_c:
description: Сумма по дополнительному параметру (C) для измерения грузов
в альтернативных единицах измерения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 300000
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
capacity_statistics_ratio:
description: Статистика по характеристикам вместимости (доля). Может быть больше
единицы.
type: object
additionalProperties: false
properties:
mass:
description: Загрузка по массе, в долях единицы.
type: number
format: double
minimum: 0
maximum: 1000
example: 5.5
volume:
description: Загрузка по объёму, в долях единицы.
type: number
format: double
minimum: 0
maximum: 1000
example: 4.1
capacity_a:
description: Загрузка по дополнительному параметру (A), в долях единицы.
type: number
format: double
minimum: 0
maximum: 1000
example: 3.7
capacity_b:
description: Загрузка по дополнительному параметру (B), в долях единицы.
type: number
format: double
minimum: 0
maximum: 1000
example: 2.8
capacity_c:
description: Загрузка по дополнительному параметру (C), в долях единицы.
type: number
format: double
minimum: 0
maximum: 1000
example: 2.9
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
capacity_statistics_load:
description: Статистика по характеристикам вместимости (доля). Не может быть
больше единицы.
type: object
additionalProperties: false
properties:
mass:
description: Загрузка по массе, в долях единицы.
type: number
format: double
minimum: 0
maximum: 1
example: 0.5
volume:
description: Загрузка по объёму, в долях единицы.
type: number
format: double
minimum: 0
maximum: 1
example: 0.1
capacity_a:
description: Загрузка по дополнительному параметру (A), в долях единицы.
type: number
format: double
minimum: 0
maximum: 1
example: 0.7
capacity_b:
description: Загрузка по дополнительному параметру (B), в долях единицы.
type: number
format: double
minimum: 0
maximum: 1
example: 0.8
capacity_c:
description: Загрузка по дополнительному параметру (C), в долях единицы.
type: number
format: double
minimum: 0
maximum: 1
example: 0.9
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
general_statistics:
description: Суммарная статистика по одному или совокупности рейсов.
type: object
additionalProperties: false
properties:
cost:
description: 'Суммарные затраты, которые считаются на базе тарифов исполнителей
и транспорта.
'
type: number
format: double
minimum: 0
maximum: 1000000000000
example: 1231.1
reward:
description: Суммарное вознаграждение за выполнение заказов.
type: number
format: double
minimum: 0
maximum: 1000000000000
example: 2343.3
profit:
description: 'Суммарный доход - разница между суммарным вознаграждением
(`reward`) и затратами (`cost`).
'
type: number
format: double
minimum: -1000000000000
maximum: 1000000000000
example: 1231.1
measurements:
$ref: '#/components/schemas/measurements'
description: "Измерения времен и дистанций для совокупности и отдельных\
\ рейсов:\n\n * `time_window` - время начала первого рейса и время окончания\
\ последнего, если рейсов нет - возвращается время левой границы горизонта\
\ планирования, при этом поля from\\to имеют одинаковое значение\n *\
\ `driving_time` - продолжительность времени вождения\n * `waiting_time`\
\ - суммарное время ожидания по всем локациям\n * `working_time` - суммарное\
\ время выполнения работ на всех локациях, входящих в рейс\n * `break_time`\
\ - суммарное время перерывов по всем локациям\n * `rest_time` - суммарное\
\ время отдыхов по всем локациям\n * `arriving_time` - суммарное время\
\ на подъезд/парковку на локациях\n * `departure_time` - суммарное время\
\ на отъезд от локаций\n * `total_time` - суммарное время, складывается\
\ из `driving_time` + `waiting_time` + `working_time` + `break_time` +\
\ `rest_time` + `arriving_time` + `departure_time`\n * `distance` - суммарная\
\ протяжённость кругорейса/рейса/совокупности рейсов, в метрах\n"
trips_count:
description: Суммарное количество запланированных рейсов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 250
performers_count:
description: Суммарное количество исполнителей, задействованных в выполнении
заказов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 157
orders_count:
description: Суммарное количество запланированных и назначенных заказов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1700
plan_orders_count:
description: Суммарное количество запланированных заказов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1003
waitlist_orders_count:
description: Суммарное количество назначенных заказов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 697
stops_count:
description: Суммарное количество остановок (неуникальных локаций).
type: integer
format: int32
minimum: 0
maximum: 15001000
example: 87
locations_count:
description: 'Суммарное количество уникальных локаций в рамках одного рейса. Для
общей статистики - сумма по уникальным локациям в рамках каждого рейсов.
'
type: integer
format: int32
minimum: 0
maximum: 15001000
example: 45
cargo_capacity_sum:
$ref: '#/components/schemas/capacity_statistics_sum'
description: Суммарные аддитивные меры перевезенного груза.
cargo_capacity_ratio:
$ref: '#/components/schemas/capacity_statistics_ratio'
description: 'Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков. В долях единицы. Может быть больше единицы.
'
max_transport_load:
$ref: '#/components/schemas/capacity_statistics_load'
description: 'Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков. В долях единицы. Не может быть больше единицы.
'
average_speed:
description: Средняя скорость - отношение общей дистанции к общему время
движения, км/ч.
type: number
format: double
minimum: 0
maximum: 1000000000000
example: 43.1
round_trips_count:
description: Количество [кругорейсов](#section/Opisanie/Krugorejsy) внутри
рейса.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 2
average_roundtrip_distance:
description: Средний пробег на кругорейс - отношение суммарного пробега
к количеству кругорейсов, в метрах.
type: number
format: double
minimum: 0
maximum: 1000000000000
example: 23.4
average_roundtrip_time:
$ref: '#/components/schemas/time_duration'
description: Среднее время на кругорейс - отношение суммарного времени к
количеству кругорейсов.
attributes:
$ref: '#/components/schemas/attributes'
required:
- cost
- reward
- profit
- measurements
- trips_count
- performers_count
- orders_count
- plan_orders_count
- waitlist_orders_count
- stops_count
- locations_count
- cargo_capacity_sum
- cargo_capacity_ratio
- max_transport_load
- average_speed
- round_trips_count
- average_roundtrip_distance
- average_roundtrip_time
transport_load:
description: Суммарная загрузка транспорта.
type: object
additionalProperties: false
properties:
count:
description: Количество грузов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1460
capacity:
$ref: '#/components/schemas/capacity_statistics_sum'
required:
- count
- capacity
load_statistics:
description: 'Статистика загрузке транспорта.
'
type: object
additionalProperties: false
properties:
total_load:
$ref: '#/components/schemas/transport_load'
description: Суммарная загрузка транспорта за все время рейса.
max_load:
$ref: '#/components/schemas/transport_load'
description: Максимальная загрузка транспорта за все время рейса (по каждому
измерению) - и в движении и на точках погрузки\разгрузки.
max_transfer_load:
$ref: '#/components/schemas/transport_load'
description: Максимальная загрузка транспорта за все время рейса (по каждому
измерению) в движении.
required:
- total_load
- max_load
- max_transfer_load
stop_demand:
description: Заявка, выполненная по конкретной остановке.
type: object
additionalProperties: false
properties:
demand_key:
description: Ключ заявки.
type: string
minLength: 1
maxLength: 1024
example: demand_key_01
event_key:
description: Ключ события.
type: string
minLength: 1
maxLength: 1024
example: event_key_01
demand_time_window:
$ref: '#/components/schemas/time_window'
description: Временное окно выполнения заявки.
required:
- demand_key
- event_key
- demand_time_window
stop_statistics:
description: 'Статистика по конкретной остановке в рейсе.
'
type: object
additionalProperties: false
properties:
location_key:
description: Ключ локации, на которой происходит остановка.
type: string
minLength: 1
maxLength: 1024
example: location_01
stop_demands:
description: Список заявок, выполненных на этой остановке.
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/stop_demand'
stop_time_window:
$ref: '#/components/schemas/time_window'
description: 'Временное окно остановки - от начала парковки до полного отъезда
с локации. Продолжительность окна складывается из `waiting_time` + `break_time`
+ `rest_time` + `working_time` + `arriving_time` + `departure_time`.
'
measurements:
$ref: '#/components/schemas/measurements'
description: "Измерения времен и дистанций для работ на остановке:\n\n \
\ * `time_window` - временное окно от начала движения к остановке до окончания\
\ отъезда с остановки\n * `driving_time` - время движения от предыдущей\
\ остановки до текущей локации\n * `waiting_time` - продолжительность\
\ ожидания исполнения работы на локации\n * `working_time` - время, затраченное\
\ на непосредственное выполнение работ на локации\n * `break_time` -\
\ продолжительность перерыва исполнителя\n * `rest_time` - продолжительность\
\ отдыха исполнителя\n * `arriving_time` - время, затраченное на подъезд/парковку\
\ на локации\n * `departure_time` - время, затраченное на отъезд от локации\n\
\ * `total_time` - суммарное время на остановку, складывается из `driving_time`\
\ + `waiting_time` + `working_time` + `break_time` + `rest_time` + `arriving_time`\
\ + `departure_time`\n * `distance` - расстояние от предыдущей остановки\
\ до текущей\n"
upload:
$ref: '#/components/schemas/transport_load'
description: Суммарная загрузка товаров в транспорт на этой остановке.
download:
$ref: '#/components/schemas/transport_load'
description: Суммарная выгрузка товаров из транспорта на этой остановке.
max_load:
$ref: '#/components/schemas/transport_load'
description: Максимальная загрузка транспорта в процессе загрузки/выгрузки
на остановке.
arrival_load:
$ref: '#/components/schemas/transport_load'
description: Загрузка транспорта в момент его прибытия в данную остановку.
departure_load:
$ref: '#/components/schemas/transport_load'
description: Загрузка транспорта в момент его отъезда от данной остановки.
attributes:
$ref: '#/components/schemas/attributes'
required:
- location_key
- stop_demands
- stop_time_window
- measurements
- upload
- download
- max_load
- arrival_load
- departure_load
stop_statistics_list:
description: Статистика по каждой остановке в рейсе.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/stop_statistics'
default: []
roundtrip_statistics:
description: 'Статистика по кругорейсу.
'
type: object
additionalProperties: false
properties:
roundtrip_key:
description: Ключ кругорейса.
type: string
minLength: 1
maxLength: 1024
example: trip01_round02
general_statistics:
$ref: '#/components/schemas/general_statistics'
description: Общая статистика по кругорейсу.
required:
- roundtrip_key
- general_statistics
roundtrip_statistics_list:
description: Статистика по кругорейсам внутри рейса.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/roundtrip_statistics'
default: []
trip_statistics:
description: 'Статистика по конкретному рейсу.
'
type: object
additionalProperties: false
properties:
trip_key:
$ref: '#/components/schemas/trip_key'
general_statistics:
$ref: '#/components/schemas/general_statistics'
description: Общая статистика по рейсу.
load_statistics:
$ref: '#/components/schemas/load_statistics'
stop_statistics:
$ref: '#/components/schemas/stop_statistics_list'
roundtrip_statistics:
$ref: '#/components/schemas/roundtrip_statistics_list'
attributes:
$ref: '#/components/schemas/attributes'
required:
- trip_key
- general_statistics
- load_statistics
- stop_statistics
- roundtrip_statistics
deal_trip:
description: Назначенный на экипаж рейс.
type: object
additionalProperties: false
properties:
deal:
$ref: '#/components/schemas/deal'
trip:
description: Рейс.
oneOf:
- $ref: '#/components/schemas/trip'
- $ref: '#/components/schemas/nullable'
default: null
trip_statistics:
description: Статистика.
oneOf:
- $ref: '#/components/schemas/trip_statistics'
- $ref: '#/components/schemas/nullable'
default: null
required:
- deal
deal_trip_list:
description: Список рейсов, назначенных на экипаж.
type: array
uniqueItems: false
minItems: 0
maxItems: 30
items:
$ref: '#/components/schemas/deal_trip'
geopoint:
description: Географическая точка.
type: object
additionalProperties: false
properties:
latitude:
description: Широта в градусах.
type: number
format: double
minimum: -90
maximum: 90
example: 55.692789
longitude:
description: Долгота в градусах.
type: number
format: double
minimum: -180
maximum: 180
example: 37.554554
required:
- latitude
- longitude
capacity_limit:
description: Ограничения вместимости.
type: object
additionalProperties: false
properties:
mass:
description: Масса в килограммах.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 10
volume:
description: Объём в кубических метрах.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 2
capacity_a:
description: Дополнительный параметр (A) для измерения грузов и отсеков
в альтернативных единицах измерения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 1
capacity_b:
description: Дополнительный параметр (B) для измерения грузов и отсеков
в альтернативных единицах измерения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 2
capacity_c:
description: Дополнительный параметр (C) для измерения грузов и отсеков
в альтернативных единицах измерения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 3
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
capacity_cost:
description: Стоимость за элемент вместимости.
type: object
additionalProperties: false
properties:
mass:
description: Стоимость за килограмм, в условных денежных единицах.
type: number
format: double
minimum: 0
maximum: 1000000
example: 11
volume:
description: Стоимость за кубический метр, в условных денежных единицах.
type: number
format: double
minimum: 0
maximum: 1000000
example: 22
capacity_a:
description: Стоимость за единицу дополнительного параметра (A), в условных
денежных единицах.
type: number
format: double
minimum: 0
maximum: 1000000
example: 11
capacity_b:
description: Стоимость за единицу дополнительного параметра (B), в условных
денежных единицах.
type: number
format: double
minimum: 0
maximum: 1000000
example: 22
capacity_c:
description: Стоимость за единицу дополнительного параметра (C), в условных
денежных единицах.
type: number
format: double
minimum: 0
maximum: 1000000
example: 31
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
location_cargos_limit:
description: 'Ограничение способности локации обрабатывать грузы.
'
type: object
additionalProperties: false
properties:
capacity:
$ref: '#/components/schemas/capacity_limit'
description: Значение пропускной способности.
penalty:
$ref: '#/components/schemas/capacity_cost'
description: Штраф за нарушение `capacity`.
required:
- capacity
- penalty
location_cargos_limit_function:
description: 'Функция, описывающее ограничение способности локации обрабатывать
грузы и штрафы за нарушение ограничений. Штрафы суммируются независимо за
каждую подходящую часть функции.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 5
items:
$ref: '#/components/schemas/location_cargos_limit'
default: []
location_transports_limit:
description: 'Ограничение способности локации обслуживать транспорт.
'
type: object
additionalProperties: false
properties:
count:
description: Количество транспорта, в среднем обслуживаемого за указанное
временное окно.
type: number
format: double
minimum: 0
maximum: 15001
example: 2
penalty:
description: Штраф за нарушение `count`.
type: number
format: double
minimum: 0
maximum: 1000000
example: 2000
required:
- count
- penalty
location_transports_limit_function:
description: 'Функция, описывающее ограничение способности локации обслуживать
транспорт и штрафы за нарушение ограничений. Штрафы суммируются независимо
за каждую подходящую часть функции.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 5
items:
$ref: '#/components/schemas/location_transports_limit'
default: []
location_limit:
description: 'Ограничение на пропускную способность локации в определенный временной
промежуток.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ ограничения, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: location_limit_constraint_01
time_window:
$ref: '#/components/schemas/time_window'
description: Временное окно действия ограничения.
min_cargos:
$ref: '#/components/schemas/location_cargos_limit_function'
description: 'Минимальная пропускная способность перемещения грузов, которую
необходимо обеспечить. Несоблюдение параметра штрафуется.
'
max_cargos:
$ref: '#/components/schemas/location_cargos_limit_function'
description: 'Максимальная пропускная способность перемещения грузов. Превышение
параметра штрафуется.
'
min_transports:
$ref: '#/components/schemas/location_transports_limit_function'
description: 'Минимально допустимое количество транспорта, в среднем обслуживаемого
за указанное временное окно. Несоблюдение параметра штрафуется.
'
max_transports:
$ref: '#/components/schemas/location_transports_limit_function'
description: 'Максимально допустимое количество транспорта, в среднем обслуживаемого
за указанное временное окно. Превышение параметра штрафуется.
'
required:
- key
- time_window
location_limit_list:
description: 'Список ограничений пропускной способности внутри рабочего окна
локации. Временные окна ограничений не могут пересекаться и суммарно должны
равняться `work_window`.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 48
items:
$ref: '#/components/schemas/location_limit'
default: []
location_timetable_element:
description: 'Локация - уникальное географическое местоположение объекта с параметрами
доступности.
'
type: object
additionalProperties: false
properties:
work_window:
$ref: '#/components/schemas/time_window'
description: Временное окно доступности локации.
limits:
$ref: '#/components/schemas/location_limit_list'
required:
- work_window
location_timetable:
description: 'Расписание работы локации - временные окна доступности и ограничения
на пропускную способность. Если список пустой или не указан - локация работает
без ограничений.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 30
items:
$ref: '#/components/schemas/location_timetable_element'
default: []
location_compatibilities:
description: Совместимости [локации с транспортом](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: object
additionalProperties: false
properties:
transport_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список необходимых требований к транспорту. Используется для
проверки совместимости транспорта с локацией.
'
location:
description: 'Локация - уникальное географическое местоположение объекта с параметрами
доступности.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ локации, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: location_01
geopoint:
$ref: '#/components/schemas/geopoint'
arrival_duration:
$ref: '#/components/schemas/time_duration'
description: Время на подъезд (парковку) на локации, в формате `P1DT2H12M34.2S`.
departure_duration:
$ref: '#/components/schemas/time_duration'
description: Время на отъезд от локации, в формате `P1DT2H12M34.2S`.
timetable:
$ref: '#/components/schemas/location_timetable'
compatibilities:
description: Совместимости [локации с транспортом](#section/Opisanie/Ispolzuemye-sovmestimosti).
oneOf:
- $ref: '#/components/schemas/location_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
name:
$ref: '#/components/schemas/name'
address:
description: Полный адрес локации.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: 24th Line V.O., 15/2, building A, St. Petersburg, 199106
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- geopoint
location_list_required:
description: Список локаций, которые используются в заказах и сменах.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/location'
order_key:
description: Ключ заказа, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: order01
demand_key:
description: Ключ заявки, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: order01-demand2
demand_type:
description: "Тип заявки:\n * `PICKUP` - загрузка\n * `DROP` - выгрузка\n\
\ * `WORK` - работа на локации\n * `PICKUP_TO_BOX` - загрузка в кузов\n\
\ * `DROP_FROM_BOX` - выгрузка из кузова\n"
type: string
enum:
- PICKUP
- DROP
- WORK
- PICKUP_TO_BOX
- DROP_FROM_BOX
example: WORK
cargo_keys_list:
description: "Список ключей грузов, зависит от типа заявки, в которой находятся\
\ грузы:\n * `PICKUP` - список ключей\n * `DROP` - один ключ\n * `WORK`\
\ - пустой список\n * `PICKUP_TO_BOX` - один ключ\n * `DROP_FROM_BOX` -\
\ один ключ\n"
type: array
uniqueItems: true
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/cargo_key'
example:
- cargo01
possible_event_key:
description: Ключ события, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: order01-demand2-event1
possible_event_contact:
description: Контактные данные конечного получателя груза или услуги.
type: object
additionalProperties: false
properties:
recipient_name:
description: ФИО конечного получателя груза или услуги.
type: string
minLength: 2
maxLength: 1024
example: Иван Петрович Федоров
recipient_phone:
description: Телефон конечного получателя груза или услуги.
type: string
pattern: ^[+]{1}(?:[0-9\-$$\/\.]\s?){6,15}[0-9]{1}$
minLength: 5
maxLength: 32
example: '+71112223333'
recipient_organization:
description: Название организации получателя груза или услуги.
type:
- string
- 'null'
minLength: 2
maxLength: 1024
default: null
example: ЗАО Склад
comment:
description: Комментарий к контактным данным в свободной форме.
type:
- string
- 'null'
minLength: 1
maxLength: 3000
default: null
example: Осторожно злая собака
required:
- recipient_name
- recipient_phone
possible_event:
description: 'Возможное событие. Объединяет географическую локацию и временное
окно, в которое возможно выполнение заявки.
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/possible_event_key'
location_key:
description: Ключ локации, в которой возможно данное событие.
type: string
minLength: 1
maxLength: 1024
example: location_01
duration:
$ref: '#/components/schemas/time_duration'
description: Длительность выполнения события, в формате `P1DT2H12M34.2S`.
default: PT0S
reward:
description: Вознаграждение за выполнение данного события.
type: number
format: double
minimum: 0
maximum: 2000000000
default: 1000.1
example: 199.9
hard_time_window:
$ref: '#/components/schemas/time_window'
description: 'Жесткое временное окно, внутри которого должно произойти событие.
Длительность окна не может быть меньше длительности выполнения события
`duration`. Не может быть нарушено при планировании.
'
soft_time_window:
description: 'Мягкое временное окно, внутри которого желательно выполнение
события. Длительность окна не может быть меньше длительности выполнения
события `duration`. Не должно выходить за пределы жесткого временного
окна `hard_time_window`. Если не задано или равно `null` - считается равным
жесткому временному окну. Может быть нарушено при планировании.
'
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
attributes:
$ref: '#/components/schemas/attributes'
contact:
description: Контактные данные конечного получателя груза или услуги.
oneOf:
- $ref: '#/components/schemas/possible_event_contact'
- $ref: '#/components/schemas/nullable'
default: null
required:
- key
- location_key
- hard_time_window
demand:
description: Заявка на единичное действие с грузом (загрузка / выгрузка) или
работу на локации.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/demand_key'
demand_type:
$ref: '#/components/schemas/demand_type'
target_cargos:
$ref: '#/components/schemas/cargo_keys_list'
precedence_in_trip:
description: Приоритет внутри рейса, 0 - приоритет не учитывается.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
precedence_in_order:
description: Приоритет внутри заказа, 0 - приоритет не учитывается.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
possible_events:
description: Список временных окон и ключей локаций, в которых возможно
выполнение заявки.
type: array
uniqueItems: true
minItems: 1
maxItems: 25
items:
$ref: '#/components/schemas/possible_event'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- demand_type
- possible_events
cargo_rotation_type:
description: "Способность груза вращаться с шагом в 90 градусов вокруг осей:\n\
\ * `ALL` - любых осей.\n * `YAW` - вокруг оси Z.\n * `PITCH` - вокруг\
\ оси Y.\n * `ROLL` - вокруг оси X.\n"
type: string
enum:
- ALL
- YAW
- PITCH
- ROLL
default: ALL
examples:
- ALL
cargo_rotation:
description: "Список способностей объекта вращаться (с шагом в 90 градусов):\n\
\ * `ALL` - можно поворачивать по любой оси любое количество раз\n * `YAW`\
\ - можно повернуть один раз по вертикальной оси (вокруг своей оси)\n * `PITCH`\
\ - можно повернуть один раз по поперечной оси (поставить вертикально)\n \
\ * `ROLL` - можно повернуть один раз по продольной оси (положить на бок)\n\
\nЕсли список пустой - объект вращать запрещено. Подробнее про [размещение\
\ грузов в кузове](#section/Opisanie/Razmeshenie-gruzov-v-kuzove).\n"
type: array
uniqueItems: true
minItems: 0
maxItems: 4
items:
$ref: '#/components/schemas/cargo_rotation_type'
default: []
cargo_compatibilities:
description: Совместимости [груза с отсеком транспорта и другими грузами](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: object
additionalProperties: false
properties:
width:
description: Ширина в метрах, используется для проверки вместимости в отсек
транспорта.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
height:
description: Высота в метрах, используется для проверки вместимости в отсек
транспорта.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.3
length:
description: Длина в метрах, используется для проверки вместимости в отсек
транспорта.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2.2
rotation:
$ref: '#/components/schemas/cargo_rotation'
box_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список необходимых требований к отсеку транспорта, в котором
может перевозиться этот груз.
'
cargo_features:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список свойств груза. Используется для проверки совместимости
груза с другими грузами. Несовместимые грузы не могу находится одновременно
в одном отсеке транспорта.
'
cargo_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список необходимых требований к грузу. Используется для проверки
совместимости груза с другими грузами. Несовместимые грузы не могу находится
одновременно в одном отсеке транспорта.
'
cargo_invoice_product_key:
description: Ключ товара или услуги, связанной с грузом, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: product-a1
cargo_invoice_tax:
description: Налог на добавленную стоимость (НДС).
type: string
enum:
- VAT_NA
- VAT_00
- VAT_05
- VAT_07
- VAT_10
- VAT_20
- VAT_22
- VAT_05_105
- VAT_07_107
- VAT_10_110
- VAT_20_120
- VAT_22_122
example: VAT_NA
cargo_invoice_honest_sign:
description: Информация о маркировке `Честный Знак`.
type: object
additionalProperties: false
properties:
label:
description: Значение маркировки `Честный Знак`.
type:
- string
- 'null'
minLength: 1
maxLength: 1000
default: null
example: xdd11
marking_required:
description: Для товара нужна маркировка `Честный Знак`.
type: boolean
default: false
example: true
cargo_invoice_detail:
description: Детали счета за товар.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/cargo_invoice_product_key'
full_name:
description: Наименование товара.
type: string
minLength: 1
maxLength: 1000
example: Industrial unmanaged switch AKF U-5T 5 ports 10/100Base-T(X) RJ45
unit_name:
description: Название единицы товара.
type:
- string
- 'null'
minLength: 1
maxLength: 1000
default: null
example: Mango
unit_price:
description: Цена единицы товара.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 500
unit_quantity:
description: Количество товара.
type: number
format: double
minimum: 0.01
maximum: 1000000000
example: 2
external_id:
description: Внешний идентификатор продукта.
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: mangoN3
external_url:
description: Ссылка на описание продукта.
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: https://product.link/mangoN3
tax:
$ref: '#/components/schemas/cargo_invoice_tax'
honest_sign:
$ref: '#/components/schemas/cargo_invoice_honest_sign'
scan_code:
description: Штрих-код или QR-code.
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: xdd1
age_restriction:
description: Наличие возрастных ограничений (18+).
type: boolean
default: false
example: true
payment_subject_type:
description: 'Признак предмета расчета. Например, Товар или Сервис.
'
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: Product
required:
- key
- full_name
- unit_price
- unit_quantity
- tax
- honest_sign
user_email:
description: Почта пользователя.
type:
- string
- 'null'
format: email
pattern: ^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
default: null
minLength: 5
maxLength: 256
example: admin@company.com
cargo_invoice_receipt:
description: Информация для печати чека.
type: object
additionalProperties: false
properties:
email:
$ref: '#/components/schemas/user_email'
phone:
$ref: '#/components/schemas/user_phone'
payment_document:
description: Документ, по которому происходит оплата.
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: N1234567
payment_external_id:
description: 'Внешний идентификатор оплаты. Заполняется если фискализация
происходит на стороне продавца.
'
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: X777h333
cargo_invoice_waybill_status:
description: "Текущий статус ЭТрН - последний оформленный титул накладной:\n\
\ * `T1` - готов к отгрузке\n * `T2` - принят к перевозке исполнителем и\
\ находится в машине\n * `T3` - клиент готов выгрузить товар\n * `T4` -\
\ выгружен из машины и передан клиенту\n * `T5` - исполнитель указал стоимость\
\ перевозки\n * `T6` - грузоотправитель подтвердил стоимость перевозки, перевозка\
\ завершена\n * `T7` - оформлена переадресовка - изменён адрес доставки или\
\ получатель груза\n * `T8` - оформлена замена водителя и (или) транспорта\n"
type: string
enum:
- T1
- T2
- T3
- T4
- T5
- T6
- T7
- T8
example: T2
store_key_null:
description: 'Ключ бинарного файла, загруженного в хранилище. Правило формирования:
`имя_компании/имя_аккаунта/ГГГГ/ММ/ДД/UID.расширение`. Может быть `null`.
'
type:
- string
- 'null'
minLength: 50
maxLength: 1024
default: null
example: company/client/2027/11/27/11111111-2222-3333-4444-555555555555.jpg
cargo_invoice_waybill:
description: Электронная Транспортная Накладная (ЭТрН).
type: object
additionalProperties: false
properties:
status:
$ref: '#/components/schemas/cargo_invoice_waybill_status'
transportation_qr_key:
$ref: '#/components/schemas/store_key_null'
description: 'Ключ QR-кода перевозки, загруженного в хранилище данных через
сервис Store. Файл должен быть в формате GIF.
'
transportation_file_key:
$ref: '#/components/schemas/store_key_null'
description: 'Ключ файла перевозки, загруженного в хранилище данных через
сервис Store. Файл должен быть в формате PDF.
'
required:
- status
cargo_invoice:
description: Накладная на груз.
type: object
additionalProperties: false
properties:
invoice_details:
description: Данные о товарах.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
default: []
items:
$ref: '#/components/schemas/cargo_invoice_detail'
payable:
description: "Флаг, определяющий необходимость оплаты:\n * `true` - оплата\
\ требуется\n * `false` - оплата нет требуется\n"
type: boolean
example: true
prepayment:
description: Сумма предоплаты.
type: number
format: double
minimum: 0
maximum: 1000000000
default: 0
example: 1000
receipt:
description: Информация для печати чека.
oneOf:
- $ref: '#/components/schemas/cargo_invoice_receipt'
- $ref: '#/components/schemas/nullable'
default: null
waybill:
description: Электронная Транспортная Накладная (ЭТрН).
oneOf:
- $ref: '#/components/schemas/cargo_invoice_waybill'
- $ref: '#/components/schemas/nullable'
default: null
required:
- invoice_details
- payable
cargo:
description: 'Груз. Вне зависимости от размеров груз может перемещаться только
внутри отсека транспорта.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ груза, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: cargo01
capacity:
description: Аддитивные меры груза.
oneOf:
- $ref: '#/components/schemas/capacity'
- $ref: '#/components/schemas/nullable'
default: null
compatibilities:
description: Совместимости [груза с отсеком транспорта и другими грузами](#section/Opisanie/Ispolzuemye-sovmestimosti).
oneOf:
- $ref: '#/components/schemas/cargo_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
target_box_key:
description: 'Ключ отсека транспорта, в котором уже находится груз. Применимо
только для груза, который находится в заявке с типом `DROP_FROM_BOX`.
Для других типов заявок ключ должен быть пустым.
'
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: box01
invoice:
description: Накладная на груз.
oneOf:
- $ref: '#/components/schemas/cargo_invoice'
- $ref: '#/components/schemas/nullable'
default: null
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
cargo_list:
description: 'Список грузов, на которые ссылаются заявки данного заказа. Список
должен быть пустой, если все заявки заказа имеют тип `WORK`.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/cargo'
default: []
order_compatibilities:
description: Совместимости [заказа с исполнителями и другими заказами](#section/Opisanie/Ispolzuemye-sovmestimosti).
type: object
additionalProperties: false
properties:
order_features:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список свойств заказа. Используется для проверки совместимости
заказа с другими заказами. Несовместимые заказы не могу находится в одном
рейсе.
'
order_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список требований к заказу, выполняемому в этом же рейсе.
Используется для проверки совместимости заказа с другими заказами. Несовместимые
заказы не могу находится в одном рейсе.
'
performer_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список необходимых требований к исполнителю, который может
выполнить данный заказ.
'
performer_blacklist:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Список требований, наличие которых у исполнителя не допустимо.
Данный список не должен пересекаться с `performer_restrictions`.
'
order_status:
description: "Текущий статус заказа:\n * `FREE` - заказ не назначен ни на один\
\ рейс, начальный статус, ожидает назначения\n * `PLANNED` - заказ запланирован\
\ на рейс, ожидает начала выполнения\n * `EXECUTING` - заказ выполняется,\
\ ожидает завершения\n * `FINISHED` - заказ завершен - все заявки выполнены,\
\ финальный статус\n * `CANCELED` - заказ отменен, финальный статус\n"
type: string
enum:
- FREE
- PLANNED
- EXECUTING
- FINISHED
- CANCELED
default: FREE
example: FINISHED
order:
description: Заказ на перемещение груза, содержит список заявок.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/order_key'
demands:
description: Список заявок.
type: array
uniqueItems: true
minItems: 1
maxItems: 1000
items:
$ref: '#/components/schemas/demand'
cargos:
$ref: '#/components/schemas/cargo_list'
compatibilities:
description: Совместимости [заказа с исполнителями и другими заказами](#section/Opisanie/Ispolzuemye-sovmestimosti).
oneOf:
- $ref: '#/components/schemas/order_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
status:
$ref: '#/components/schemas/order_status'
required:
- key
- demands
order_list_required:
description: Список заказов, которые необходимо выполнить.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
mobile_trip_data:
description: Mobile trip data.
type: object
additionalProperties: false
properties:
locations:
$ref: '#/components/schemas/location_list_required'
description: Локации из фактов по этому рейсу и из самого рейса.
orders:
$ref: '#/components/schemas/order_list_required'
description: Выполненные заказы из фактов по этому рейсу и плановые заказа
из самого рейса.
required:
- locations
- orders
fact_type:
description: "Возможные типы фактов:\n * `GEOTRACK_UPDATED` - исполнитель изменил\
\ свое местоположение в процессе выполнения рейса\n * `ORDER_DONE` - исполнитель\
\ закончил выполнять заказ, связанный с заказом груз более не находится в\
\ отсеках транспорта\n * `ORDER_CANCELED` - заказ был отменен, связанный\
\ с заказом груз более не находится в отсеках транспорта\n * `DEMAND_START`\
\ - исполнитель начал выполнять заявку \n * `DEMAND_DONE` - исполнитель закончил\
\ выполнять заявку\n * `DEMAND_CANCELED` - исполнитель отменил заявку\n \
\ * `DEMAND_PAYMENT` - исполнитель принял оплату по заявке\n * `TRIP_PRECEDENCE_CHANGED`\
\ - исполнитель изменил порядок заявок в рейсе\n * `TRIP_RECEIVED` - исполнитель\
\ получил рейс\n * `TRIP_CONFIRMED` - исполнитель подтвердил намерение выполнить\
\ рейс\n * `TRIP_REJECTED` - исполнитель отказался выполнить рейс\n * `TRIP_EXECUTING`\
\ - исполнитель начал выполнять рейс\n * `TRIP_DONE` - исполнитель завершил\
\ рейс, все заказы в рейсе выполнены\n * `JOB_DONE` - исполнитель закончил\
\ дополнительную задачу\n"
type: string
enum:
- GEOTRACK_UPDATED
- ORDER_DONE
- ORDER_CANCELED
- DEMAND_START
- DEMAND_DONE
- DEMAND_CANCELED
- DEMAND_PAYMENT
- TRIP_PRECEDENCE_CHANGED
- TRIP_RECEIVED
- TRIP_CONFIRMED
- TRIP_REJECTED
- TRIP_EXECUTING
- TRIP_DONE
- JOB_DONE
example: GEOTRACK_UPDATED
fact_status:
description: "Текущий статус факта:\n * `NEW` - факт создан, ожидает обработки\
\ системой\n * `APPLIED` - факт обработан и успешно применен к данным\n \
\ * `ERROR` - при обработке факта произошла ошибка, отправитель должен исправить\
\ факт и отправить заново\n"
type: string
enum:
- NEW
- APPLIED
- ERROR
default: NEW
example: APPLIED
fact_status_error:
description: "Типизированная ошибка обработки факта (заполняется при статусе\
\ `ERROR`):\n * `DUPLICATE` - факт является дубликатом ранее обработанного\
\ факта\n * `INCONSISTENT_REFERENCE` - факт ссылается на несуществующую или\
\ несогласованную сущность\n * `INCONSISTENT_STATUS` - факт не может быть\
\ применен к текущему статусу сущности\n * `INCONSISTENT_TIME` - время создания\
\ факта позже, чем `current_time` + `fact_processing_threshold`\n"
type: string
enum:
- DUPLICATE
- INCONSISTENT_REFERENCE
- INCONSISTENT_STATUS
- INCONSISTENT_TIME
example: DUPLICATE
geotrack:
description: Массив географических точек с привязкой ко времени, между которыми
построен путь.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000000
items:
$ref: '#/components/schemas/trackpoint'
default: []
lore_geotrack_updated:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
performer_key:
description: Ключ исполнителя.
type: string
minLength: 1
maxLength: 1024
example: performer_01
geotrack:
$ref: '#/components/schemas/geotrack'
required:
- performer_key
- geotrack
lore_order_done:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
required:
- order_key
lore_order_canceled:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
comment:
description: Причина отмены заказа.
type: string
minLength: 1
maxLength: 3000
example: Передумали
required:
- order_key
- comment
lore_demand_start:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
demand_key:
$ref: '#/components/schemas/demand_key'
required:
- order_key
- demand_key
product_conclusion_type:
description: "Результат доставки товара или оказания услуги:\n * `DELIVERED`\
\ - товар доставлен / услуга оказана\n * `CANCELED` - товар не доставлен\
\ / услуга не оказана\n"
type: string
enum:
- DELIVERED
- CANCELED
example: DELIVERED
product_conclusion:
description: Результат обработки товара или услуги внутри заявки.
type: object
additionalProperties: false
properties:
product_key:
$ref: '#/components/schemas/cargo_invoice_product_key'
unit_quantity:
description: Количество товара.
type: number
format: double
minimum: 0.01
maximum: 1000000000
example: 2
type:
$ref: '#/components/schemas/product_conclusion_type'
honest_sign_result:
description: Результат обработки маркировки `Честный Знак`.
type:
- string
- 'null'
minLength: 1
maxLength: 1000
default: null
example: xdd113result
reason:
description: 'Причина доставки/отмены товара. Выбирается из настраиваемого
списка.
'
type:
- string
- 'null'
minLength: 1
maxLength: 3000
default: null
example: Не подошел цвет
comment:
description: Комментарий о доставке/отмене товара в свободной форме.
type:
- string
- 'null'
minLength: 1
maxLength: 3000
default: null
example: Количество штук не соответствует заказу
required:
- product_key
- unit_quantity
- type
product_conclusion_list:
description: 'Список результатов обработки продуктов внутри груза.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/product_conclusion'
default: []
lore_demand_done:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
demand_key:
$ref: '#/components/schemas/demand_key'
trackpoint:
$ref: '#/components/schemas/trackpoint'
description: Место создания факта.
conclusions:
$ref: '#/components/schemas/product_conclusion_list'
required:
- order_key
- demand_key
- trackpoint
lore_demand_canceled:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
demand_key:
$ref: '#/components/schemas/demand_key'
trackpoint:
$ref: '#/components/schemas/trackpoint'
description: Место создания факта.
reason:
description: 'Причина отмены заявки. Выбирается из настраиваемого списка.
'
type: string
minLength: 1
maxLength: 3000
example: Получателя на было на месте
comment:
description: Комментарий к отмене заявки в свободной форме.
type:
- string
- 'null'
minLength: 1
maxLength: 3000
default: null
example: Количество штук не соответствует заказу
required:
- order_key
- demand_key
- trackpoint
- reason
payment_details:
description: Детали платежа.
type: object
additionalProperties: false
properties:
invoice:
$ref: '#/components/schemas/cargo_invoice'
description: 'Накладная по оплаченным товарам и услугам. Содержит позиции,
сумму предоплаты, email/телефон для отправки чека.
'
receipt_amount:
description: Итоговая сумма платежа.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 28020
receipt_qr:
description: QR-код чека.
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: https://qr.nspk.ru/3D5479A004F048B5A74C99CD232B346?type=02&bank=10000001&sum=10200&cur=RUB&crc=C08B
receipt_processing_number:
description: Номер чека в процессинге платёжного оператора.
type: string
minLength: 1
maxLength: 256
example: APG8R8FXKA3DDL
payment_type:
description: Тип оплаты.
type: string
minLength: 1
maxLength: 256
example: CARD
payment_status:
description: 'Итоговый статус платежа. Перечень значений зависит от оператора
платежей.
'
type: string
minLength: 1
maxLength: 256
example: SUCCESS
payment_status_detail:
description: Детальное описание статуса обработки платежа, используется
для уточнения ошибок обработки платежа.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: detailed status description
payment_time:
description: Дата и время платежа в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
payment_approval_code:
description: Код подтверждения платежа (транзакции).
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: '247805'
payment_external_id:
description: 'Внешний идентификатор платежа. Используется для идентификации
платежа в системах продавца.
'
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: ext-8f9e9a85-4ef3-11f1-bf78-6cb31121d731
required:
- invoice
- receipt_amount
- receipt_processing_number
- payment_type
- payment_status
- payment_time
lore_demand_payment:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
demand_key:
$ref: '#/components/schemas/demand_key'
payment_details:
$ref: '#/components/schemas/payment_details'
required:
- order_key
- demand_key
- payment_details
trip_demand_precedence:
description: Новый порядок заявки в рейсе.
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
demand_key:
$ref: '#/components/schemas/demand_key'
new_precedence_in_trip:
description: Новый приоритет заявки в рейсе.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
required:
- order_key
- demand_key
- new_precedence_in_trip
lore_trip_precedence_changed:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
demands_precedence:
description: Новый порядок заявок в рейсе.
type: array
uniqueItems: false
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/trip_demand_precedence'
required:
- demands_precedence
lore_job_done:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
job_key:
$ref: '#/components/schemas/basic_essence_key'
required:
- job_key
fact_lore:
description: Дополнительные данные, описывающие факт.
type: object
additionalProperties: false
properties:
geotrack_updated:
description: Дополнительные данные, описывающие факт `GEOTRACK_UPDATED`.
oneOf:
- $ref: '#/components/schemas/lore_geotrack_updated'
- $ref: '#/components/schemas/nullable'
default: null
order_done:
description: Дополнительные данные, описывающие факт `ORDER_DONE`.
oneOf:
- $ref: '#/components/schemas/lore_order_done'
- $ref: '#/components/schemas/nullable'
default: null
order_canceled:
description: Дополнительные данные, описывающие факт `ORDER_CANCELED`.
oneOf:
- $ref: '#/components/schemas/lore_order_canceled'
- $ref: '#/components/schemas/nullable'
default: null
demand_start:
description: Дополнительные данные, описывающие факт `DEMAND_START`.
oneOf:
- $ref: '#/components/schemas/lore_demand_start'
- $ref: '#/components/schemas/nullable'
default: null
demand_done:
description: Дополнительные данные, описывающие факт `DEMAND_DONE`.
oneOf:
- $ref: '#/components/schemas/lore_demand_done'
- $ref: '#/components/schemas/nullable'
default: null
demand_canceled:
description: Дополнительные данные, описывающие факт `DEMAND_CANCELED`.
oneOf:
- $ref: '#/components/schemas/lore_demand_canceled'
- $ref: '#/components/schemas/nullable'
default: null
demand_payment:
description: Дополнительные данные, описывающие факт `DEMAND_PAYMENT`.
oneOf:
- $ref: '#/components/schemas/lore_demand_payment'
- $ref: '#/components/schemas/nullable'
default: null
demand_precedence:
description: Дополнительные данные, описывающие факт `TRIP_PRECEDENCE_CHANGED`.
oneOf:
- $ref: '#/components/schemas/lore_trip_precedence_changed'
- $ref: '#/components/schemas/nullable'
default: null
job_done:
description: Дополнительные данные, описывающие факт `JOB_DONE`.
oneOf:
- $ref: '#/components/schemas/lore_job_done'
- $ref: '#/components/schemas/nullable'
default: null
fact:
description: Факт - совершенное действие в процессе выполнения рейса.
type: object
additionalProperties: false
properties:
key:
description: Ключ факта.
type: string
minLength: 1
maxLength: 1024
example: fact_01
type:
$ref: '#/components/schemas/fact_type'
creation_date:
description: Дата и время создания факта в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
reception_date:
description: Дата и время получения факта сервером в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type:
- string
- 'null'
default: null
format: date-time
readOnly: true
example: '2026-09-21T09:33:00+03:00'
execution_date:
description: Дата и время обработки факта на сервере в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type:
- string
- 'null'
default: null
format: date-time
readOnly: true
example: '2026-09-21T09:35:00+03:00'
status:
$ref: '#/components/schemas/fact_status'
status_error:
description: Типизированная ошибка обработки факта (заполняется при статусе
`ERROR`).
oneOf:
- $ref: '#/components/schemas/fact_status_error'
- $ref: '#/components/schemas/nullable'
default: null
readOnly: true
status_detail:
description: Дополнительная информация о статусе обработки факта, используется
для уточнения ошибок обработки факта.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: detailed status description
trip_key:
$ref: '#/components/schemas/trip_key'
lore:
description: "Дополнительные данные, описывающие факт. Поле обязательно\
\ для следующих типов фактов:\n * `GEOTRACK_UPDATED`\n * `ORDER_DONE`\n\
\ * `ORDER_CANCELED`\n * `DEMAND_START`\n * `DEMAND_DONE`\n * `DEMAND_CANCELED`\n\
\ * `DEMAND_PAYMENT`\n * `TRIP_PRECEDENCE_CHANGED`\n * `JOB_DONE`\n"
oneOf:
- $ref: '#/components/schemas/fact_lore'
- $ref: '#/components/schemas/nullable'
default: null
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- creation_date
- type
- status
- trip_key
mobile_fact:
description: Mobile fact.
type: object
additionalProperties: false
properties:
fact:
$ref: '#/components/schemas/fact'
required:
- fact
mobile_fact_list:
description: Список фактов, относящихся к конкретному рейсу.
type: array
uniqueItems: false
minItems: 0
maxItems: 15000
items:
$ref: '#/components/schemas/mobile_fact'
store_key:
description: 'Ключ бинарного файла, загруженного в хранилище. Правило формирования:
`имя_компании/имя_аккаунта/ГГГГ/ММ/ДД/UID.расширение`.
'
type: string
minLength: 50
maxLength: 1024
example: company/client/2027/11/27/11111111-2222-3333-4444-555555555555.jpg
file_binary:
description: Файл с данными (octet-stream).
type: string
format: byte
file_comment:
description: Комментарий к файлу.
type:
- string
- 'null'
default: null
minLength: 0
maxLength: 10000
example: long long long long text
file_specification:
description: Спецификация файла.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/file_name'
comment:
$ref: '#/components/schemas/file_comment'
folder_key:
$ref: '#/components/schemas/unique_key'
description: Ключ папки типа `FOLDER`, в которой находится файл.
required:
- name
- comment
- folder_key
plan_configuration:
description: 'Название конфигурации планирования.
Конфигурация определяет цель и качество результата.
[Перечень доступных](#section/Opisanie/Konfiguraciya-planirovaniya) конфигураций
планирования.'
type: string
minLength: 1
maxLength: 256
default: default
example: optimize_distance
trip_start_time_strategy:
description: "Стратегия выбора оптимального времени начала рейса:\n * `EARLIEST_FINISH`\
\ - оптимальное время начала рейса с целью пораньше завершить все заказы.\n\
\ * `LOWEST_COST` - оптимальное время рейса с целью увеличения процента попаданий\
\ в мягкие временные окна и минимизации общей стоимости рейса.\n"
type: string
enum:
- EARLIEST_FINISH
- LOWEST_COST
default: EARLIEST_FINISH
example: LOWEST_COST
problem_kind:
description: 'Тип задачи.
'
type:
- string
- 'null'
minLength: 1
maxLength: 256
default: null
example: LONG_HAUL
trip_expectations:
description: 'Ожидания от результата расчета. Влияют на логику построения рейсов.
'
type: object
additionalProperties: false
properties:
trip_start_time_strategy:
$ref: '#/components/schemas/trip_start_time_strategy'
problem_kind:
$ref: '#/components/schemas/problem_kind'
attributes:
$ref: '#/components/schemas/attributes'
transport_speed_multiplier:
description: Коэффициент изменения скорости указанного типа транспорта.
type: object
additionalProperties: false
properties:
transport_type:
$ref: '#/components/schemas/transport_type'
speed:
description: Множитель средней скорости транспорта.
type: number
format: double
minimum: 0.1
maximum: 100000
example: 2.5
required:
- transport_type
- speed
transport_speed_multiplier_list:
description: Коэффициенты изменения скорости транспорта.
type: array
minItems: 0
maxItems: 16
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/transport_speed_multiplier'
capacity_multiplier:
description: Коэффициенты изменения вместимости указанного типа транспорта.
type: object
additionalProperties: false
properties:
mass:
description: Множитель изменения массы.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
volume:
description: Множитель изменения объёма.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
capacity_a:
description: Множитель изменения дополнительного параметра (A).
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
capacity_b:
description: Множитель изменения дополнительного параметра (B).
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
capacity_c:
description: Множитель изменения дополнительного параметра (C).
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
transport_capacity_multiplier:
description: Коэффициенты изменения вместимости указанного типа транспорта.
type: object
additionalProperties: false
properties:
transport_type:
$ref: '#/components/schemas/transport_type'
capacity:
$ref: '#/components/schemas/capacity_multiplier'
required:
- transport_type
- capacity
transport_capacity_multiplier_list:
description: 'Коэффициенты изменения вместимости транспорта. Изменяют параметры
`capacity` у всех отсеков и `max_capacity` у транспорта.
'
type: array
minItems: 0
maxItems: 16
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/transport_capacity_multiplier'
trip_assumptions:
description: 'Допущения при планировании. Предназначены для корректировки логики
планирования с помощью массового изменения входных данных.
'
type: object
additionalProperties: false
properties:
transport_speed_multipliers:
$ref: '#/components/schemas/transport_speed_multiplier_list'
transport_capacity_multipliers:
$ref: '#/components/schemas/transport_capacity_multiplier_list'
disable_compatibility:
description: 'Отключить учет совместимостей. Если указано `true` - все становится
совместимо со всем.
'
type: boolean
default: false
example: true
disable_capacity:
description: 'Отключить учет вместимостей. Если указано `true` - весь транспорт
вмещает неограниченное количество грузов.
'
type: boolean
default: false
example: true
disable_location_limits:
description: 'Отключить учет пропускной способности локаций. Если указано
`true` - не учитываются параметры `location.timetable.limits` и `trips_settings.penalties.max_locations_limits_penalty`.
'
type: boolean
default: true
example: false
same_order_time_window:
description: 'Использовать для расчетов одинаковое (указанное) временное
окно для заказов и заявок. Временное окно берется от начала самого раннего
до конца самого позднего окна из всех заказов и заявок.
'
type: boolean
default: false
example: true
expand_shift_time_window:
description: 'Расширить временное окно для смен исполнителей и транспорта. Левая
граница первой смены одной сущности расширяется до левой границы указанного
окна, правая до правой границы или начала следующего окна на эту же сущность.
Каждая следующая смена сдвигает правую границу до следующей смены или
до правой границы указанного окна.
'
type: boolean
default: false
example: true
compatibility_penalty:
description: Штраф за нарушение совместимости.
type: object
additionalProperties: false
properties:
tag:
$ref: '#/components/schemas/compatibility_tag'
penalty:
description: 'Штраф за нарушение совместимости по указанному свойству.
'
type: number
format: double
minimum: 0
maximum: 1000000
example: 2000
required:
- tag
- penalty
compatibility_penalty_list:
description: 'Штрафы за нарушение совместимости. При учете нарушения совместимости
транспорт-локация штраф применяется за каждую остановку и не может превышать
`max_penalty_cost` исполнителя, назначенного на рейс. Штрафуется только отсутствие
свойства, временные окна жизни свойства нельзя нарушать за штраф.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 1000000
default: []
items:
$ref: '#/components/schemas/compatibility_penalty'
trip_penalties:
description: 'Штрафы при планировании - возможность нарушить часть бизнес-правил.
'
type: object
additionalProperties: false
properties:
compatibilities:
$ref: '#/components/schemas/compatibility_penalty_list'
max_locations_limits_penalty:
description: Максимально допустимая сумма штрафов за нарушение пропускной
способности локаций.
type: number
format: double
minimum: 0
maximum: 1000000000
default: 0
example: 25000
trips_settings:
description: Настройки создания рейсов.
type: object
additionalProperties: false
properties:
configuration:
$ref: '#/components/schemas/plan_configuration'
expectations:
$ref: '#/components/schemas/trip_expectations'
assumptions:
$ref: '#/components/schemas/trip_assumptions'
penalties:
$ref: '#/components/schemas/trip_penalties'
geo_provider:
description: "Поставщик геоданных:\n * `VRT` - геоданные и пробки от Veeroute,\
\ работают по всему миру.\n\nМожет быть указан специфичный поставщик для определенного\
\ региона, доступность зависит от настроек клиента.\n"
type: string
default: VRT
minLength: 3
maxLength: 256
example: VRT
geo_settings:
description: 'Настройки использования геоданных.
'
type: object
additionalProperties: false
properties:
geo_provider:
$ref: '#/components/schemas/geo_provider'
toll_roads:
description: Использовать платные дороги.
type: boolean
default: true
example: false
ferry_crossing:
description: Использовать паромные переправы.
type: boolean
default: true
example: false
traffic_jams:
description: Учет пробок при планировании маршрутов.
type: boolean
default: true
example: false
flight_distance:
description: 'Использовать для расчетов расстояния по прямой. Если указано
`false` - расстояния рассчитываются по дорогам. При включении данного
параметра не используется поставщик геоданных и автоматически выключается
учет пробок (`traffic_jams`).
'
type: boolean
default: false
example: true
attributes:
$ref: '#/components/schemas/attributes'
timezone:
description: Временная зона.
type: integer
format: int32
minimum: -12
maximum: 12
default: 0
example: 3
calculation_settings:
description: Настройки процесса расчета.
type: object
additionalProperties: false
properties:
max_calculation_time:
description: 'Максимальное время расчета. Старт отсчета начинается от времени
завершения загрузки данных на сервер и начала расчета.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT20M
example: PT12M35S
max_waiting_time:
description: 'Максимальное время нахождения расчета в очереди. Старт отсчета
начинается от времени завершения загрузки данных на сервер.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT20M
example: PT2H
result_ttl:
description: 'Время жизни результата расчета. Старт отсчета начинается от
времени завершения расчета.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT20M
example: PT4M30S
result_timezone:
$ref: '#/components/schemas/timezone'
description: Временная зона, в которой возвращается результат расчета.
default: 0
treat_warnings_as_errors:
description: 'Относится к предупреждениям как к ошибкам и не запускать расчет
если хотя бы одна сущность содержит невалидные данные.
'
type: boolean
default: false
example: true
precision:
description: 'Указание точности полей типа double в порядковом номере знака
после запятой. По умолчанию 3, т.е. точность 0.001.
'
type: integer
format: int32
minimum: 0
maximum: 6
default: 3
example: 1
worker_tag:
description: Метка расчета, используется для выбора расчетного пула.
type:
- string
- 'null'
minLength: 0
maxLength: 100
default: null
example: custom-worker-x
extension_settings:
description: Настройки использования внешних расширений для корректировки расчета.
type: object
additionalProperties: false
properties:
enable_extension:
description: Использовать сторонний корректировщик расчетов.
type: boolean
default: false
example: true
extension_url:
description: Адрес внешнего сервиса, реализующего Universal Extension API.
type:
- string
- 'null'
minLength: 9
maxLength: 512
default: null
example: https://universal-extension.veeroute.cloud
request_timeout:
description: Максимальное время ожидания ответа от внешнего сервиса, реализующего
Universal Extension API (на каждый запрос).
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT10M
example: PT1M30S
retry_attempts:
description: Количество попыток запроса к внешнему сервису, реализующему
Universal Extension API.
type: integer
format: int32
minimum: 0
maximum: 100
default: 3
example: 2
retry_interval:
description: Время между попытками запроса к внешнему сервису, реализующему
Universal Extension API.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT1M
example: PT1M30S
plan_settings:
description: Настройки планирования.
type: object
additionalProperties: false
properties:
trips_settings:
$ref: '#/components/schemas/trips_settings'
geo_settings:
$ref: '#/components/schemas/geo_settings'
calculation_settings:
$ref: '#/components/schemas/calculation_settings'
extension_settings:
$ref: '#/components/schemas/extension_settings'
replan_strategy:
description: Стратегия перепланирования.
type: object
additionalProperties: false
properties:
reorder:
description: Возможность изменять существующий в исходных рейсах порядок
выполнения заказов.
type: boolean
default: false
example: true
plan_new_orders:
description: Возможность планировать новые заказы в существующие или новые
рейсы (если включена опция `create_new_trips`).
type: boolean
default: false
example: true
create_new_trips:
description: Возможность создавать новые рейсы в дополнение к существующим.
type: boolean
default: false
example: true
allow_possible_events:
description: Возможность выбрать другой вариант события после перепланирования.
type: boolean
default: false
example: true
replan_settings:
description: Настройки перепланирования.
type: object
additionalProperties: false
properties:
replan_strategy:
$ref: '#/components/schemas/replan_strategy'
actualize_settings:
description: 'Настройки актуализации.
'
type: object
additionalProperties: false
properties:
current_time:
description: 'Указание даты и времени, которое для актуализации будет являться
текущим, в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). Если
не указано - берется текущее время получения запроса сервером.
'
type:
- string
- 'null'
format: date-time
default: null
example: '2026-09-21T09:30:00+03:00'
max_delay_duration:
description: 'Допустимое опоздание. Влияет на сдвиг правых границ жестких
временных окон заказов и временных окон рабочих смен исполнителей и транспортов.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT3H
example: PT1H30M
fact_processing_threshold:
description: 'Порог обработки фактов. Если у факта `creation_time > current_time
+ fact_processing_threshold`, то он считается невалидным.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT10M
example: PT1H
experiment_settings:
description: Настройки эксперимента.
type: object
additionalProperties: false
properties:
plan_settings:
$ref: '#/components/schemas/plan_settings'
replan_settings:
$ref: '#/components/schemas/replan_settings'
actualize_settings:
$ref: '#/components/schemas/actualize_settings'
required:
- plan_settings
- replan_settings
- actualize_settings
indicators:
description: 'Список индикаторов. Индикатор ссылается на определенную метрику
из статистики.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
description: Ключ индикатора.
type: string
minLength: 2
maxLength: 256
default: []
example:
- total_statistics_cost
- total_statistics_measurements_waiting_time
task_statistics:
description: Общая статистика по входным данным.
type: object
additionalProperties: false
properties:
planning_horizon:
$ref: '#/components/schemas/time_window'
description: "Горизонт планирования - временное окно, где:\n * `from` -\
\ левая граница временных окон всех сущностей из входных данных\n * `to`\
\ - правая граница временных окон всех сущностей из входных данных\n"
required:
- planning_horizon
time_window_violation_detail:
description: Детальная информация о нарушении временных окон.
type: object
additionalProperties: false
properties:
demand_keys:
description: Список ключей заказов.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Ключ заявки.
type: string
minLength: 1
maxLength: 1024
example:
- obj1
count:
description: Суммарное количество заявок.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1700
required:
- demand_keys
- count
time_window_violations:
description: "Статистика по нарушениям временных окон. \n"
type: object
additionalProperties: false
properties:
before:
$ref: '#/components/schemas/time_window_violation_detail'
description: Количество и ключи заявок, которые запланированы до наступления
разрешенного временного окна.
after:
$ref: '#/components/schemas/time_window_violation_detail'
description: Количество и ключи заявок, которые запланированы после наступления
разрешенного временного окна.
required:
- before
- after
quality:
description: Метрики качества.
type: object
additionalProperties: false
properties:
locations_limits_penalty:
description: Сумма штрафов за нарушение пропускной способности локаций.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
soft_time_window_violations:
$ref: '#/components/schemas/time_window_violations'
description: Статистика по нарушению мягких временных окон.
hard_time_window_violations:
$ref: '#/components/schemas/time_window_violations'
description: Статистика по нарушению жестких временных окон.
required:
- locations_limits_penalty
- soft_time_window_violations
- hard_time_window_violations
table_data_stats:
description: Статистика по данным.
type: object
additionalProperties: false
readOnly: true
properties:
locations:
description: Количество локаций.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
orders:
description: Количество заказов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
performers:
description: Количество исполнителей.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
transports:
description: Количество транспорта.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
hardlinks:
description: Количество связей.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
trips:
description: Количество рейсов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
facts:
description: Количество фактов.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
external_routing:
description: Использование внешних матриц времен и расстояний.
type: boolean
example: false
required:
- locations
- orders
- performers
- transports
- hardlinks
- trips
- facts
- external_routing
execution_statistics:
description: Статистика по выполнению рейсов внутри волны.
type: object
additionalProperties: false
readOnly: true
properties:
progress:
description: 'Прогресс выполнения в процентах. Прогресс отражает отношение
заказов с финальными статусами `FINISHED` и `CANCELED` ко всем заказам.
'
type: integer
format: int32
minimum: 0
maximum: 100
example: 52
order_free_count:
description: Количество заказов в статусе `FREE` (не назначены ни на один
рейс).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 3
order_planned_count:
description: Количество заказов в статусе `PLANNED` (запланированы на рейс).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 5
order_executing_count:
description: Количество заказов в статусе `EXECUTING` (выполняются).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 2
order_finished_count:
description: Количество заказов в статусе `FINISHED` (завершены).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 10
order_canceled_count:
description: Количество заказов в статусе `CANCELED` (отменены).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
trip_free_count:
description: Количество рейсов в статусе `FREE` (без назначенного экипажа).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 2
trip_assigned_count:
description: Количество рейсов в статусе `ASSIGNED` (назначен экипаж).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 4
trip_sent_count:
description: Количество рейсов в статусе `SENT` (отправлены экипажу).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 7
trip_received_count:
description: Количество рейсов в статусе `RECEIVED` (получены экипажем).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 10
trip_confirmed_count:
description: Количество рейсов в статусе `CONFIRMED` (приняты экипажем).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 4
trip_rejected_count:
description: Количество рейсов в статусе `REJECTED` (отклонены экипажем).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
trip_executing_count:
description: Количество рейсов в статусе `EXECUTING` (выполняются).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1988
trip_finished_count:
description: Количество рейсов в статусе `FINISHED` (завершены).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 4
trip_canceled_count:
description: Количество рейсов в статусе `CANCELED` (отменены).
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
required:
- progress
- order_free_count
- order_planned_count
- order_executing_count
- order_finished_count
- order_canceled_count
- trip_free_count
- trip_assigned_count
- trip_sent_count
- trip_received_count
- trip_confirmed_count
- trip_rejected_count
- trip_executing_count
- trip_finished_count
- trip_canceled_count
wave_statistics:
description: Статистика волны.
type: object
additionalProperties: false
properties:
indicators:
$ref: '#/components/schemas/indicators'
total_statistics:
$ref: '#/components/schemas/general_statistics'
task_statistics:
$ref: '#/components/schemas/task_statistics'
quality:
$ref: '#/components/schemas/quality'
data_statistics:
$ref: '#/components/schemas/table_data_stats'
execution_statistics:
$ref: '#/components/schemas/execution_statistics'
required:
- indicators
- total_statistics
- task_statistics
- quality
- data_statistics
- execution_statistics
wave_status:
description: "Текущий статус волны:\n * `ACTIVE` - волна активна: включена\
\ обработка поступающих фактов, доступно включение автопилота\n * `INACTIVE`\
\ - волна неактивна: обработка поступающих фактов выключена, автопилот недоступен\n"
type: string
enum:
- ACTIVE
- INACTIVE
default: INACTIVE
example: ACTIVE
wave_autopilot_status:
description: "Текущий статус автопилота:\n * `PREPARING` - автопилот в процессе\
\ запуска\n * `RUNNING` - автопилот запущен и работает\n * `STOPPED` - автопилот\
\ остановлен\n * `ERROR` - автопилот остановлен из-за ошибки\n"
type: string
enum:
- PREPARING
- RUNNING
- STOPPED
- ERROR
default: STOPPED
example: RUNNING
wave_autopilot_status_error:
description: "Типизированная ошибка автопилота (заполняется при статусе `ERROR`):\n\
\ * `INCONSISTENT_REFERENCE` - данные имеют ошибки в ссылках, автоматическая\
\ обработка невозможна \n"
type: string
enum:
- INCONSISTENT_REFERENCE
example: INCONSISTENT_REFERENCE
wave_autopilot_settings:
description: 'Настройки автопилота.
'
type: object
additionalProperties: false
properties:
automatch_delay:
description: Временная задержка между итерациями по автоматическому назначению
экипажей на рейсы и их запуску.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT15M
example: PT2M30S
replan_delay:
description: Временная задержка между итерациями по перепланированию.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT15M
example: PT2M30S
wave_autopilot_timers:
description: 'Таймеры автопилота.
'
type: object
additionalProperties: false
properties:
automatch_timer:
description: Время, оставшееся до запуска следующего автоматического назначению
экипажей на рейсы и их запуску.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT15M
example: PT2M30S
replan_timer:
description: Время, оставшееся до запуска следующего перепланирования.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT15M
example: PT2M30S
wave_autopilot_event:
description: Событие автопилота.
type: object
additionalProperties: false
properties:
time:
description: 'Дата и время события в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type: string
format: date-time
example: '2026-09-21T19:45:00Z'
message:
description: Текст сообщения о событии.
type: string
minLength: 1
maxLength: 1000
example: Запущена итерация перепланирования.
required:
- time
- message
wave_autopilot_events_log:
description: Лог событий автопилота, отсортированный по времени.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/wave_autopilot_event'
default: []
wave_autopilot:
description: 'Состояние и настройки автопилота.
'
type: object
additionalProperties: false
properties:
status:
$ref: '#/components/schemas/wave_autopilot_status'
status_error:
description: Типизированная ошибка автопилота (заполняется при статусе `ERROR`).
oneOf:
- $ref: '#/components/schemas/wave_autopilot_status_error'
- $ref: '#/components/schemas/nullable'
default: null
readOnly: true
settings:
$ref: '#/components/schemas/wave_autopilot_settings'
timers:
$ref: '#/components/schemas/wave_autopilot_timers'
events_log:
$ref: '#/components/schemas/wave_autopilot_events_log'
required:
- status
- settings
- timers
- events_log
calculation_progress:
description: 'Прогресс расчета в процентах. Прогресс отражает текущее количество
завершенных шагов.
'
type: integer
format: int32
default: 0
minimum: 0
maximum: 100
example: 52
calculation_status:
description: "Статус расчета:\n * `WAITING` - расчет ожидает запуска.\n *\
\ `IN_PROGRESS` - расчет в процессе.\n * `FINISHED_IN_TIME` - расчет корректно\
\ завершился раньше указанного максимального времени.\n * `FINISHED_OUT_OF_TIME`\
\ - расчет завершился, так как закончилось указанное время на расчет, может\
\ влиять на качество результата в худшую сторону.\n * `CANCELED` - расчет\
\ был отменен, так как была получена команда на отмену.\n * `CANCELED_BY_TIMEOUT`\
\ - расчет был отменен автоматически, так как превышено время ожидания в очереди.\n\
\ * `CANCELED_BY_QUOTA` - расчет был отменен, так как квота на этот тип расчета\
\ была превышена.\n * `FAILED` - расчет завершился с ошибкой.\n"
type: string
enum:
- WAITING
- IN_PROGRESS
- FINISHED_IN_TIME
- FINISHED_OUT_OF_TIME
- CANCELED
- CANCELED_BY_TIMEOUT
- CANCELED_BY_QUOTA
- FAILED
example: FINISHED_IN_TIME
calculation_info:
description: Информация о расчете.
type: object
additionalProperties: false
properties:
status:
$ref: '#/components/schemas/calculation_status'
message:
description: Сообщение с дополнительной информацией о статусе расчета.
type:
- string
- 'null'
minLength: 0
maxLength: 10000
default: null
example: detail error message
result_version:
description: Версия текущего результата расчета.
type: integer
format: int32
minimum: 0
maximum: 1000000
example: 133
preparing_time:
$ref: '#/components/schemas/time_duration'
description: Время подготовки к расчету (конвертация данных), формат `P1DT2H12M34.2S`.
business_validation_time:
$ref: '#/components/schemas/time_duration'
description: Время бизнес-проверки данных, формат `P1DT2H12M34.2S`.
math_validation_time:
$ref: '#/components/schemas/time_duration'
description: Время математической проверки данных, формат `P1DT2H12M34.2S`.
waiting_time:
$ref: '#/components/schemas/time_duration'
description: Время ожидания расчета в очереди, формат `P1DT2H12M34.2S`.
calculation_time:
$ref: '#/components/schemas/time_duration'
description: Время фактического расчета, формат `P1DT2H12M34.2S`.
postprocessing_time:
$ref: '#/components/schemas/time_duration'
description: Время постобработки расчета с помощью Universal Extension,
формат `P1DT2H12M34.2S`.
required:
- status
- result_version
- preparing_time
- business_validation_time
- math_validation_time
- waiting_time
- calculation_time
calculation_state:
description: Текущее состояние расчета.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
calculation_progress:
$ref: '#/components/schemas/calculation_progress'
calculation_info:
$ref: '#/components/schemas/calculation_info'
required:
- tracedata
- calculation_progress
- calculation_info
experiment_check:
description: Результат проверки загруженных данных.
type: object
additionalProperties: false
properties:
logical_errors:
$ref: '#/components/schemas/entity_error_list'
warnings:
$ref: '#/components/schemas/entity_warning_list'
file_sharing:
description: 'Флаг совместного использования файла.
'
type: boolean
default: true
readOnly: true
example: false
file_edit_date:
description: 'Дата и время последнего редактирования файла в соответствии с
[ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type: string
format: date-time
readOnly: true
example: '2026-09-21T19:45:00Z'
file_creation_date:
description: 'Дата и время создания файла в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type: string
format: date-time
readOnly: true
example: '2026-09-21T19:45:00Z'
wave:
description: Волна.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/unique_key'
specification:
$ref: '#/components/schemas/file_specification'
settings:
$ref: '#/components/schemas/experiment_settings'
statistics:
$ref: '#/components/schemas/wave_statistics'
status:
$ref: '#/components/schemas/wave_status'
autopilot:
description: Текущее состояние и настройки автопилота.
oneOf:
- $ref: '#/components/schemas/wave_autopilot'
- $ref: '#/components/schemas/nullable'
default: null
calculation:
description: Текущее состояние расчета (если расчет идет или был завершен).
oneOf:
- $ref: '#/components/schemas/calculation_state'
- $ref: '#/components/schemas/nullable'
default: null
check:
description: Результат проверки загруженных данных.
oneOf:
- $ref: '#/components/schemas/experiment_check'
- $ref: '#/components/schemas/nullable'
default: null
sharing:
$ref: '#/components/schemas/file_sharing'
edit_date:
$ref: '#/components/schemas/file_edit_date'
creation_date:
$ref: '#/components/schemas/file_creation_date'
required:
- key
- specification
- settings
- statistics
- status
- edit_date
- creation_date
table_wave_column_type:
description: "Название колонки в таблице с волнами:\n * `ESSENCE_KEY` - ключ\
\ волны\n"
type: string
enum:
- ESSENCE_KEY
- SHARING
- EDIT_DATE
- CREATION_DATE
- SPECIFICATION_NAME
- SPECIFICATION_COMMENT
- SPECIFICATION_FOLDER_KEY
default: SPECIFICATION_NAME
example: SPECIFICATION_FOLDER_KEY
table_wave_list:
description: Список волн (табличное представление).
type: object
additionalProperties: false
properties:
essences:
description: Список волн.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/wave'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
subscription_key:
description: 'Уникальный (в рамках аккаунта) ключ подписки на изменения данных
волн. Задается интеграцией при создании подписки и не может быть изменен.
'
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: erp_integration
wave_subscription:
description: 'Подписка на изменения данных волн - настройки оповещения внешней
интеграции об изменениях в активных волнах аккаунта.
'
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/subscription_key'
callback_url:
description: Адрес внешнего сервиса, на который будет отправлено оповещение
об изменении данных.
type: string
minLength: 9
maxLength: 512
example: https://waves-integration.veeroute.cloud/waves/notification
notification_delay:
description: 'Минимальная задержка между оповещениями по одной волне. Изменения,
произошедшие за это время, попадают в одно оповещение.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT1M
example: PT1M30S
request_timeout:
description: Максимальное время ожидания ответа от внешнего сервиса (на
каждый запрос).
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT1M
example: PT30S
retry_attempts:
description: Количество повторных попыток отправки оповещения, если внешний
сервис не ответил успешно.
type: integer
format: int32
minimum: 0
maximum: 100
default: 3
example: 2
retry_interval:
description: Время между повторными попытками отправки оповещения.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: PT1M
example: PT1M30S
required:
- key
- callback_url
wave_subscription_list:
description: Список подписок на изменения данных волн.
type: array
uniqueItems: false
minItems: 0
maxItems: 20
items:
$ref: '#/components/schemas/wave_subscription'
default: []
wave_notification:
description: 'Оповещение об изменении данных волны - отправляется на адрес,
указанный в подписке.
'
type: object
additionalProperties: false
properties:
file_key:
$ref: '#/components/schemas/unique_key'
description: Ключ волны, в которой изменились данные.
data_statistics:
$ref: '#/components/schemas/table_data_stats'
description: Статистика по сущностям волны на момент отправки оповещения.
required:
- file_key
- data_statistics
file_neighbors:
description: Соседи.
type: object
additionalProperties: false
properties:
previous_file_key:
description: Ключ предыдущего файла в той же папке.
type:
- string
- 'null'
format: uuid
example: 11111111-2222-3333-4444-555555555555
next_file_key:
description: Ключ следующего файла в той же папке.
type:
- string
- 'null'
format: uuid
example: 11111111-2222-3333-4444-555555555555
location_list:
description: Список локаций, которые используются в заказах и сменах.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/location'
order_list:
description: Список заказов, которые необходимо выполнить.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performer_tariff_constraint:
description: Оплачиваемый промежуток времени - составная часть тарифа.
type: object
additionalProperties: false
properties:
stage_length:
description: Длина оплачиваемого периода, в формате `P1DT2H12M34.2S`.
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: P30D
example: P1DT8H30M20S
cost_per_unit:
description: 'Стоимость внутри оплачиваемого периода, денежная единица за
секунду работы.
'
type: number
format: double
minimum: 0.001
maximum: 10000
default: 0.001
example: 5.05
performer_tariff:
description: Тариф, определяет стоимость и временные ограничения смены.
type: object
additionalProperties: false
properties:
cost_per_shift:
description: Цена за использование смены, денежная единица.
type: number
format: double
minimum: 0.001
maximum: 1000000
default: 0.001
example: 2000
constraints:
description: Список составных частей тарифа, которые действуют от начала
движения или выполнения работ по заказам.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/performer_tariff_constraint'
max_penalty_cost:
description: 'Максимальная сумма штрафов, которую может получить исполнитель
в рамках данной смены, денежная единица. Если параметр не указан или указан
как null - исполнитель может нарушать без ограничений.
'
type:
- number
- 'null'
format: double
minimum: 0
maximum: 1000000
default: null
example: 2000
time_duration_null:
description: Продолжительность временного отрезка в формате `P1DT2H12M34.2S`.
type:
- string
- 'null'
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: null
example: PT2H12M33S
rest:
description: Условие наступления и характеристики отдыха.
type: object
additionalProperties: false
properties:
relocating_duration_sum:
$ref: '#/components/schemas/time_duration'
description: 'Суммарное время перемещения между локациями, не позже которого
необходимо остановиться на длительных отдых, в формате `P1DT2H12M34.2S`.
'
operating_duration_sum:
$ref: '#/components/schemas/time_duration_null'
description: 'Суммарное время выполнения рейса (без учета ожидания), не
позже которого необходимо остановиться на длительных отдых, в формате
`P1DT2H12M34.2S`. Если перерыв вставлен не в ожидание, то его длительность
учитывается как работа.
'
duration:
$ref: '#/components/schemas/time_duration'
description: Продолжительность перерыва, в формате `P1DT2H12M34.2S`.
required:
- relocating_duration_sum
- duration
rest_rules:
description: Правила учета отдыха.
type: object
additionalProperties: false
properties:
consecutive:
$ref: '#/components/schemas/rest'
description: Условие наступления и характеристики последовательных остановок
на отдых.
required:
- consecutive
break:
description: Условие наступления и характеристики перерыва.
type: object
additionalProperties: false
properties:
relocating_duration_sum:
$ref: '#/components/schemas/time_duration'
description: Суммарное время перемещения между локациями, не позже которого
необходимо сделать перерыв, в формате `P1DT2H12M34.2S`.
operating_duration_sum:
$ref: '#/components/schemas/time_duration_null'
description: Суммарное время выполнения рейса (без учета ожидания), не позже
которого необходимо сделать перерыв, в формате `P1DT2H12M34.2S`.
duration:
$ref: '#/components/schemas/time_duration'
description: Продолжительность перерыва, в формате `P1DT2H12M34.2S`.
required:
- relocating_duration_sum
- duration
break_rules:
description: Правила учета перерывов.
type: object
additionalProperties: false
properties:
first:
$ref: '#/components/schemas/break'
description: Условие наступления и характеристики первого перерыва.
consecutive:
description: Условие наступления и характеристики последующих за первым
перерывов.
oneOf:
- $ref: '#/components/schemas/break'
- $ref: '#/components/schemas/nullable'
default: null
relocating_duration_type:
description: Тип учета времени перемещения между локациями (суммарная или
непрерывная).
type: string
enum:
- TOTAL
- CONTINUOUS
default: TOTAL
example: CONTINUOUS
required:
- first
work_and_rest_rules:
description: Режим труда и отдыха исполнителя.
type: object
additionalProperties: false
properties:
rest_rules:
description: Правила учета отдыха.
oneOf:
- $ref: '#/components/schemas/rest_rules'
- $ref: '#/components/schemas/nullable'
default: null
break_rules:
description: Правила учета перерывов.
oneOf:
- $ref: '#/components/schemas/break_rules'
- $ref: '#/components/schemas/nullable'
default: null
reset_location_keys:
description: Список ключей локаций, при нахождении в которых сбрасываются
счетчики для перерывов и отдыхов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
description: Ключ локации, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: location_01
default: []
ignore_location_keys:
description: Список ключей локаций, пребывание на которых не учитывается
в счетчике суммарного времени выполнения рейса.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
description: Ключ локации, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: location_01
default: []
performer_shift:
description: 'Рабочая смена исполнителя, которая определяет доступность ресурса
для планирования внутри его временного окна доступности.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ смены, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: shift01
availability_time:
$ref: '#/components/schemas/time_window'
description: Временное окно смены, в которое исполнитель может выполнять
работу на локациях и осуществлять перемещение между локациями.
working_time:
$ref: '#/components/schemas/time_window'
description: Рабочее временное окно, в которые исполнитель может выполнять
работу на локациях, должно быть внутри временного окна смены.
start_location_key:
description: 'Ключ начальной локациями. Если ключ не задан - то рейс начинается
на первом заказе.
'
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: start_location_01
finish_location_key:
description: 'Ключ финальной локации. Если ключ не задан - то рейс завершается
на последнем заказе.
'
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: finish_location_01
max_locations:
description: 'Ограничение количества уникальных локаций в одном рейсе, включая
локации старта и финиша. Если параметр не указан или указан как null
- то количество локаций не ограничено.
'
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 1000
default: null
example: 15
max_stops:
description: 'Ограничение количества остановок в одном рейсе, включая локации
старта и финиша. Если параметр не указан или указан как null - то количество
остановок не ограничено.
'
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 1000
default: null
example: 15
tariff:
$ref: '#/components/schemas/performer_tariff'
work_and_rest_rules:
description: Режим труда и отдыха исполнителя.
oneOf:
- $ref: '#/components/schemas/work_and_rest_rules'
- $ref: '#/components/schemas/nullable'
default: null
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- availability_time
- working_time
performer:
description: 'Исполнитель. Выполняет заказы, используя транспорт.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ исполнителя, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: performer0001
shifts:
description: Список рабочих смен исполнителя.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/performer_shift'
own_transport_type:
$ref: '#/components/schemas/transport_type'
description: Тип личного транспорта, на котором исполнитель будет добираться
до назначенного на него рабочего транспорта.
default: CAR
compatibilities:
description: Совместимости [исполнителя с транспортом и заказами](#section/Opisanie/Ispolzuemye-sovmestimosti).
oneOf:
- $ref: '#/components/schemas/performer_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
limits:
description: Ограничение на рабочую загрузку исполнителя.
oneOf:
- $ref: '#/components/schemas/performer_limits'
- $ref: '#/components/schemas/nullable'
default: null
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- shifts
performer_list:
description: 'Список доступных исполнителей. Исполнитель выполняет заказы используя
транспорт.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transport_tariff_constraint:
description: Оплачиваемый пробег - составная часть тарифа.
type: object
additionalProperties: false
properties:
stage_length:
description: Длина оплачиваемой части пути, в метрах.
type: integer
format: int32
minimum: 1
maximum: 100000000
default: 100000000
example: 200000
cost_per_unit:
description: 'Стоимость внутри оплачиваемой части пути, денежная единица
за один метр.
'
type: number
format: double
minimum: 0.001
maximum: 10000
default: 0.001
example: 5.05
transport_tariff:
description: Тариф, определяет стоимость работы транспорта и ограничения по
пробегу за смену.
type: object
additionalProperties: false
properties:
cost_per_shift:
description: Цена за использование смены, денежная единица.
type: number
format: double
minimum: 0.001
maximum: 1000000
default: 0.001
example: 2000
constraints:
description: Список составных частей тарифа.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/transport_tariff_constraint'
transportation_cost:
description: Стоимость перемещения 1 единицы меры груза на 1 метр (по каждому
полю capacity соответственно), в условных денежных единицах.
oneOf:
- $ref: '#/components/schemas/capacity_cost'
- $ref: '#/components/schemas/nullable'
default: null
transport_shift:
description: 'Рабочая смена транспорта. Определяет доступность транспорта для
планирования. Конец смены обнуляет оставшийся в кузове груз после выполнения
заявок типов `DROP_FROM_BOX` и `PICKUP_TO_BOX`.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ смены, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: shift01
availability_time:
$ref: '#/components/schemas/time_window'
description: Временное окно смены, в которое транспорт может осуществлять
перемещение между локациями и использоваться исполнителем в работах на
локациях.
start_location_key:
description: 'Ключ начальной локациями. Если ключ не задан - то путь транспорта
начинается на первом заказе.
'
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: start_location_01
finish_location_key:
description: 'Ключ финальной локации. Если ключ не задан - то путь транспорта
завершается на последнем заказе.
'
type:
- string
- 'null'
minLength: 1
maxLength: 1024
default: null
example: finish_location_01
tariff:
$ref: '#/components/schemas/transport_tariff'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- availability_time
transport:
description: 'Транспорт. Исполнитель использует транспорт для перемещения и
перевозки грузов.
'
type: object
additionalProperties: false
properties:
key:
description: Ключ транспорта, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: transport001
shifts:
description: Список рабочих смен транспорта.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/transport_shift'
transport_type:
$ref: '#/components/schemas/transport_type'
default: CAR
boxes:
description: Список отсеков транспорта, которые могут вмещать груз.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/box'
default: []
compatibilities:
description: Совместимости [транспорта с исполнителями и локациями](#section/Opisanie/Ispolzuemye-sovmestimosti).
oneOf:
- $ref: '#/components/schemas/transport_compatibilities'
- $ref: '#/components/schemas/nullable'
default: null
limits:
description: Ограничения на загрузку транспорта.
oneOf:
- $ref: '#/components/schemas/transport_limits'
- $ref: '#/components/schemas/nullable'
default: null
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- shifts
transport_list:
description: 'Список доступного транспорта. Транспорт используется исполнителем
рейса для выполнения заказов.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
hardlink_element_type:
description: 'Тип сущности-цели, которая связана назначением с другими сущностями.
Может быть заказом, сменой исполнителя, сменой транспорта.
'
type: string
enum:
- ORDER
- PERFORMER_SHIFT
- TRANSPORT_SHIFT
example: ORDER
hardlink_element:
description: Элемент группы назначения.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/hardlink_element_type'
entity_key:
description: Ключ сущности-цели (соответственно заказа или смены).
type: string
minLength: 1
maxLength: 1024
example: ord0001
required:
- type
- entity_key
hardlink:
description: "Назначение, необходимое чтобы связать сущности в одну группу.\
\ Может состоять из двух сущностей или более. Пример применения:\n * назначение\
\ водителя на транспорт (связь смен исполнителя и транспорта).\n * назначение\
\ заказа на исполнителя (связь заказа со сменой исполнителя).\n * указание\
\ необходимости выполнять несколько заказов в одном рейсе (связь заказов между\
\ собой).\n"
type: object
additionalProperties: false
properties:
key:
description: Ключ назначения.
type: string
minLength: 1
maxLength: 1024
example: group01
links:
description: Список элементов группы назначения.
type: array
uniqueItems: false
minItems: 2
maxItems: 1000
items:
$ref: '#/components/schemas/hardlink_element'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- links
hardlink_list:
description: Список назначений.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/hardlink'
trip_list:
description: 'Список рейсов. Рейс - это совокупность работ, запланированных
на выполнение конкретным исполнителем на конкретном транспорте, выраженных
через [изменение состояний](#section/Opisanie/Model-rejsa) исполнителя.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
fact_list:
description: 'Список фактов. Факт - это произошедшее событие, которое влияет
на дальнейшие выполнение рейсов.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 45003
items:
$ref: '#/components/schemas/fact'
trip_statistics_list:
description: 'Список статистик по каждому запланированному рейсу отдельно.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip_statistics'
location_limit_statistics:
description: 'Статистика по выполнению ограничения пропускной способности локации
внутри одного временного окна.
'
type: object
additionalProperties: false
properties:
location_limit_key:
description: Ключ ограничения, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: location_limit_constraint_01
cargos_statistics:
$ref: '#/components/schemas/location_cargos_limit'
description: Для временного отрезка - сумма мер перемещенных грузов и сумма
штрафов за нарушение ограничений по перемещению грузов.
transports_statistics:
$ref: '#/components/schemas/location_transports_limit'
description: Для временного отрезка - количество транспорта, в среднем обслуживаемого
за указанное временное окно и сумма штрафов за нарушение ограничений по
обслуживанию транспорта.
location_limit_penalty:
description: Сумма всех штрафов за нарушение пропускной способности локации
внутри ограничения.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
required:
- location_limit_key
- location_limit_penalty
- cargos_statistics
- transports_statistics
location_statistics:
description: Статистика по загрузке локации.
type: object
additionalProperties: false
properties:
location_key:
description: Ключ локации.
type: string
minLength: 1
maxLength: 1024
example: location_01
location_limits_penalty:
description: Сумма всех штрафов за нарушение пропускной способности локации.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
total_cargos_statistics:
$ref: '#/components/schemas/location_cargos_limit'
description: Для локации - сумма мер перемещенных грузов и сумма штрафов
за нарушение ограничений по перемещению грузов.
deprecated: true
total_transports_statistics:
$ref: '#/components/schemas/location_transports_limit'
description: Для локации - количество транспорта, в среднем обслуживаемого
за указанное временное окно и сумма штрафов за нарушение ограничений по
обслуживанию транспорта.
deprecated: true
limits_statistics:
description: Статистика по выполнению ограничения пропускной способности
локации.
type: array
uniqueItems: false
minItems: 0
maxItems: 48
items:
$ref: '#/components/schemas/location_limit_statistics'
required:
- location_key
- location_limits_penalty
- total_cargos_statistics
- total_transports_statistics
- limits_statistics
location_statistics_list:
description: Статистика по загрузке локаций, для которых установлены ограничения
пропускной способности.
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/location_statistics'
default: []
plan_statistics:
description: 'Общая статистика по результату расчета.
'
type: object
additionalProperties: false
properties:
total_statistics:
$ref: '#/components/schemas/general_statistics'
trips_statistics:
$ref: '#/components/schemas/trip_statistics_list'
locations_statistics:
$ref: '#/components/schemas/location_statistics_list'
task_statistics:
$ref: '#/components/schemas/task_statistics'
quality:
$ref: '#/components/schemas/quality'
required:
- total_statistics
- trips_statistics
- locations_statistics
- task_statistics
- quality
routing_matrix_waypoint:
description: 'Точка пути в матрице маршрутизации.
'
type: object
additionalProperties: false
properties:
geopoint:
$ref: '#/components/schemas/geopoint'
name:
description: 'Название точки. Может использоваться как идентификатор для
сопоставления задачи и результата расчета.
'
type:
- string
- 'null'
default: null
minLength: 0
maxLength: 1024
example: waypoint_1
required:
- geopoint
routing_matrix_line:
description: Линия значений в матрице расстояний (в метрах) или продолжительностей
(в секундах) маршрутов между точками.
type: array
minItems: 2
maxItems: 15001
uniqueItems: false
items:
description: 'Расстояние (в метрах) или продолжительность (в секундах) маршрута
между точками. Отрицательное значение (-1) означает невозможность проезда
между указанными точками.
'
type: integer
format: int64
minimum: -1
maximum: 10000000
example: 1500
routing_matrix:
description: 'Матрица маршрутизации. Содержит времена и расстояний между точками.
'
type: object
additionalProperties: false
properties:
waypoints:
description: Массив географических точек, между которыми вычислены расстояния
и времена.
type: array
uniqueItems: false
minItems: 2
maxItems: 15001
items:
$ref: '#/components/schemas/routing_matrix_waypoint'
distances:
description: 'Длины маршрутов между точками, в метрах. Значения в массиве
упорядочены в соответствии с порядком элементов в параметре `waypoints`.
Каждая строчка матрицы - массив расстояний из искомой точки до каждой
другой точки. Отрицательное значение (-1) означает невозможность проезда
между указанными точками.
'
type: array
uniqueItems: false
minItems: 2
maxItems: 15001
items:
$ref: '#/components/schemas/routing_matrix_line'
example:
- - 0
- 1500
- - 1500
- 0
durations:
description: 'Массив продолжительностей маршрутов между точками, в секундах.
Значения в массиве упорядочены в соответствии с порядком элементов в параметре
`waypoints`. Каждая строчка матрицы - массив времен перемещений из искомой
точки до каждой другой точки. Отрицательное значение (-1) означает невозможность
проезда между указанными точками.
'
type: array
uniqueItems: false
minItems: 2
maxItems: 15001
items:
$ref: '#/components/schemas/routing_matrix_line'
example:
- - 0
- 3600
- - 3600
- 0
required:
- waypoints
- distances
- durations
routing_transport_matrix:
description: Матрица времен и расстояний для определенного типа транспорта.
type: object
additionalProperties: false
properties:
transport_type:
$ref: '#/components/schemas/transport_type'
matrix:
$ref: '#/components/schemas/routing_matrix'
required:
- transport_type
- matrix
routing_transport_matrix_list:
description: 'Список матриц времен и расстояний для каждого типа транспорта,
которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации `external_routing` не учитываются
параметры `plan_settings.geo_settings`.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 16
default: []
items:
$ref: '#/components/schemas/routing_transport_matrix'
dataset_name:
description: 'Название набора данных.
Техническое поле, не влияющее на расчет.
'
type: string
minLength: 0
maxLength: 512
default: ''
example: custom_dataset_one
universal_data:
description: 'Формат VRt.Universal JSON. Общий список данных и настроек, объединяет
все данные для планирования, перепланирования и актуализации.
'
type: object
additionalProperties: false
properties:
locations:
$ref: '#/components/schemas/location_list'
orders:
$ref: '#/components/schemas/order_list'
performers:
$ref: '#/components/schemas/performer_list'
transports:
$ref: '#/components/schemas/transport_list'
hardlinks:
$ref: '#/components/schemas/hardlink_list'
trips:
$ref: '#/components/schemas/trip_list'
facts:
$ref: '#/components/schemas/fact_list'
statistics:
description: Общая статистика по результату расчета.
oneOf:
- $ref: '#/components/schemas/plan_statistics'
- $ref: '#/components/schemas/nullable'
default: null
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
plan_settings:
$ref: '#/components/schemas/plan_settings'
replan_settings:
$ref: '#/components/schemas/replan_settings'
actualize_settings:
$ref: '#/components/schemas/actualize_settings'
dataset_name:
$ref: '#/components/schemas/dataset_name'
basic_enabled:
description: Использование сущности в расчете.
type: boolean
default: true
readOnly: false
example: false
basic_pristine:
description: 'Флаг, показывающий производились ли изменения сущности относительно
исходных данных. `true` - означает что данные исходные и не изменялись.
'
type: boolean
default: true
readOnly: true
example: false
table_attributes:
description: Список атрибутов в виде строчки.
type: string
minLength: 0
maxLength: 1000000
default: ''
example: key1:value1, key2:value2
customfield_datetime:
description: 'Пользовательское поле, содержащее дату и время в соответствии
с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). Поддерживаемый
тип фильтра `DATETIME_RANGE`.
'
x-filter-type: DATETIME_RANGE
type:
- string
- 'null'
format: date-time
default: null
example: '2026-09-21T18:00:00+03:00'
customfield_int:
description: 'Пользовательское поле, содержащее целочисленное значение. Поддерживаемый
тип фильтра `INT_RANGE`.
'
x-filter-type: INT_RANGE
type:
- integer
- 'null'
format: int32
default: null
minimum: -1000000000000
maximum: 1000000000000
example: 1
customfield_float:
description: 'Пользовательское поле, содержащее значение с плавающей точкой.
Поддерживаемый тип фильтра `FLOAT_RANGE`.
'
x-filter-type: FLOAT_RANGE
type:
- number
- 'null'
format: double
minimum: -1000000000000
maximum: 1000000000000
default: null
example: 2343.3
customfield_duration:
description: 'Пользовательское поле, содержащее продолжительность временного
отрезка. Поддерживаемый тип фильтра `DURATION_RANGE`.
'
x-filter-type: DURATION_RANGE
type:
- string
- 'null'
format: duration
x-custom-format: duration
pattern: ^P(?!$)(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+(\.\d{1,9})?S)?)?$
minLength: 3
maxLength: 16
default: null
example: PT2H12M33S
customfield_bool:
description: 'Пользовательское поле, содержащее булево значение. Поддерживаемый
тип фильтра `BOOL_LIST`.
'
x-filter-type: BOOL_LIST
type:
- boolean
- 'null'
format: boolean
default: null
example: true
customfield_string:
description: 'Пользовательское поле, содержащее строковое значение. Поддерживаемый
тип фильтра `STRING_SEARCH`.
'
x-filter-type: STRING_SEARCH
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 2000
example: value01
table_customfields:
description: Пользовательские табличные поля.
type: object
additionalProperties: false
properties:
datetime_0:
$ref: '#/components/schemas/customfield_datetime'
datetime_1:
$ref: '#/components/schemas/customfield_datetime'
datetime_2:
$ref: '#/components/schemas/customfield_datetime'
datetime_3:
$ref: '#/components/schemas/customfield_datetime'
datetime_4:
$ref: '#/components/schemas/customfield_datetime'
datetime_5:
$ref: '#/components/schemas/customfield_datetime'
datetime_6:
$ref: '#/components/schemas/customfield_datetime'
datetime_7:
$ref: '#/components/schemas/customfield_datetime'
datetime_8:
$ref: '#/components/schemas/customfield_datetime'
datetime_9:
$ref: '#/components/schemas/customfield_datetime'
int_0:
$ref: '#/components/schemas/customfield_int'
int_1:
$ref: '#/components/schemas/customfield_int'
int_2:
$ref: '#/components/schemas/customfield_int'
int_3:
$ref: '#/components/schemas/customfield_int'
int_4:
$ref: '#/components/schemas/customfield_int'
int_5:
$ref: '#/components/schemas/customfield_int'
int_6:
$ref: '#/components/schemas/customfield_int'
int_7:
$ref: '#/components/schemas/customfield_int'
int_8:
$ref: '#/components/schemas/customfield_int'
int_9:
$ref: '#/components/schemas/customfield_int'
float_0:
$ref: '#/components/schemas/customfield_float'
float_1:
$ref: '#/components/schemas/customfield_float'
float_2:
$ref: '#/components/schemas/customfield_float'
float_3:
$ref: '#/components/schemas/customfield_float'
float_4:
$ref: '#/components/schemas/customfield_float'
float_5:
$ref: '#/components/schemas/customfield_float'
float_6:
$ref: '#/components/schemas/customfield_float'
float_7:
$ref: '#/components/schemas/customfield_float'
float_8:
$ref: '#/components/schemas/customfield_float'
float_9:
$ref: '#/components/schemas/customfield_float'
duration_0:
$ref: '#/components/schemas/customfield_duration'
duration_1:
$ref: '#/components/schemas/customfield_duration'
duration_2:
$ref: '#/components/schemas/customfield_duration'
duration_3:
$ref: '#/components/schemas/customfield_duration'
duration_4:
$ref: '#/components/schemas/customfield_duration'
duration_5:
$ref: '#/components/schemas/customfield_duration'
duration_6:
$ref: '#/components/schemas/customfield_duration'
duration_7:
$ref: '#/components/schemas/customfield_duration'
duration_8:
$ref: '#/components/schemas/customfield_duration'
duration_9:
$ref: '#/components/schemas/customfield_duration'
bool_0:
$ref: '#/components/schemas/customfield_bool'
bool_1:
$ref: '#/components/schemas/customfield_bool'
bool_2:
$ref: '#/components/schemas/customfield_bool'
bool_3:
$ref: '#/components/schemas/customfield_bool'
bool_4:
$ref: '#/components/schemas/customfield_bool'
bool_5:
$ref: '#/components/schemas/customfield_bool'
bool_6:
$ref: '#/components/schemas/customfield_bool'
bool_7:
$ref: '#/components/schemas/customfield_bool'
bool_8:
$ref: '#/components/schemas/customfield_bool'
bool_9:
$ref: '#/components/schemas/customfield_bool'
string_0:
$ref: '#/components/schemas/customfield_string'
string_1:
$ref: '#/components/schemas/customfield_string'
string_2:
$ref: '#/components/schemas/customfield_string'
string_3:
$ref: '#/components/schemas/customfield_string'
string_4:
$ref: '#/components/schemas/customfield_string'
string_5:
$ref: '#/components/schemas/customfield_string'
string_6:
$ref: '#/components/schemas/customfield_string'
string_7:
$ref: '#/components/schemas/customfield_string'
string_8:
$ref: '#/components/schemas/customfield_string'
string_9:
$ref: '#/components/schemas/customfield_string'
table_location_fields:
description: Табличные поля локации.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- LOCATION
- WORK_WINDOW
default: LOCATION
example: LOCATION
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
working_time:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: true
name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: false
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
web_location:
description: Web location.
type: object
additionalProperties: false
properties:
location:
$ref: '#/components/schemas/location'
location_statistics:
description: Статистика по загрузке локации.
oneOf:
- $ref: '#/components/schemas/location_statistics'
- $ref: '#/components/schemas/nullable'
default: null
fields:
$ref: '#/components/schemas/table_location_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- location
table_location_column_type:
description: "Название колонки в таблице с локациями:\n * `ESSENCE_KEY` - ключ\
\ сущности\n * `ENABLED` - участие в расчете\n * `PRISTINE` - флаг изменения\
\ данных\n * `WORKING_TIME` - рабочее временное окно\n * `ATTRIBUTES` -\
\ список атрибутов одной строкой\n * `CUSTOMFIELDS` - пользовательские табличные\
\ поля\n"
type: string
enum:
- ESSENCE_KEY
- ENABLED
- PRISTINE
- WORKING_TIME
- NAME
- ATTRIBUTES
- CUSTOMFIELDS
default: NAME
example: ESSENCE_KEY
table_customfields_column_type:
description: 'Название дополнительной колонки в таблице. Используется для фильтров
с типом `CUSTOMFIELDS`.
'
type: string
enum:
- DATETIME_0
- DATETIME_1
- DATETIME_2
- DATETIME_3
- DATETIME_4
- DATETIME_5
- DATETIME_6
- DATETIME_7
- DATETIME_8
- DATETIME_9
- INT_0
- INT_1
- INT_2
- INT_3
- INT_4
- INT_5
- INT_6
- INT_7
- INT_8
- INT_9
- FLOAT_0
- FLOAT_1
- FLOAT_2
- FLOAT_3
- FLOAT_4
- FLOAT_5
- FLOAT_6
- FLOAT_7
- FLOAT_8
- FLOAT_9
- DURATION_0
- DURATION_1
- DURATION_2
- DURATION_3
- DURATION_4
- DURATION_5
- DURATION_6
- DURATION_7
- DURATION_8
- DURATION_9
- BOOL_0
- BOOL_1
- BOOL_2
- BOOL_3
- BOOL_4
- BOOL_5
- BOOL_6
- BOOL_7
- BOOL_8
- BOOL_9
- STRING_0
- STRING_1
- STRING_2
- STRING_3
- STRING_4
- STRING_5
- STRING_6
- STRING_7
- STRING_8
- STRING_9
example: STRING_1
table_location_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_location_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_location_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_location_filter'
default: []
table_location:
description: Локация (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_location_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_location_fields'
required:
- fields
- elements
table_location_list:
description: Таблица локаций.
type: object
additionalProperties: false
properties:
essences:
description: Список локаций.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_location'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
web_location_geopoint:
description: Геоточка для карты.
type: object
additionalProperties: false
properties:
geopoint:
$ref: '#/components/schemas/geopoint'
location_key:
description: Ключ локации, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: location_01
name:
$ref: '#/components/schemas/name'
example: Warehouse
icon_name:
description: 'Название иконки. Получается из значения атрибута локации с
ключом `ICON_NAME`.
'
type:
- string
- 'null'
minLength: 1
maxLength: 64
default: null
example: location_whs
linked:
description: Флаг указывающий наличие ссылок на локацию.
type: boolean
default: false
example: true
required:
- geopoint
- location_key
- linked
web_location_geopoint_list:
description: Геоточки для отображения на карте.
type: object
additionalProperties: false
properties:
geopoints:
description: Список точек.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/web_location_geopoint'
counters:
$ref: '#/components/schemas/table_list_counters'
description: Счетчики по списку сущностей.
geopoints_counters:
$ref: '#/components/schemas/table_list_counters_detail'
description: Счетчики по списку точек.
required:
- geopoints
- counters
- geopoints_counters
table_location_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_location_filter'
default: []
table_location_metrics:
description: Общие метрики по выбранным локациям.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_location_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_location_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
basic_state:
description: "Состояние сущности, определяющее ее отношение к датасету:\n *\
\ `UNPLANNED` - новая сущность\n * `PLANNED` - сущность запланирована в определенный\
\ рейс на определенное время\n * `ASSIGNED` - сущность назначена на определенный\
\ рейс без определенного времени\n * `INVALID` - сущность содержит некорректные\
\ данные, не участвует в планировании\n"
type: string
enum:
- UNPLANNED
- PLANNED
- ASSIGNED
- INVALID
default: UNPLANNED
example: PLANNED
table_performer_fields:
description: Табличные поля исполнителя и его смены.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- PERFORMER
- PERFORMER_SHIFT
default: PERFORMER
example: PERFORMER
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
state:
$ref: '#/components/schemas/basic_state'
x-filter-type: ENUM_LIST
x-default-enabled: true
working_time:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
availability_time:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
location_keys:
$ref: '#/components/schemas/table_string_search_field'
description: Список ключей локаций через запятую, которые связаны с данной
сущностью.
x-filter-type: STRING_SEARCH
x-default-enabled: true
example: location01,location02
performer_features:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
transport_restrictions:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
trips_count:
description: Количество рейсов, в которых участвует исполнитель (для смены
- 0 или 1).
x-filter-type: INT_RANGE
x-default-enabled: true
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
shifts_count:
description: Количество смен исполнителя.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: false
warnings:
$ref: '#/components/schemas/table_string_search_field'
description: Список предупреждений по сущности.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: NO_AVAILABLE_TRANSPORT, NO_AVAILABLE_PERFORMER
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
web_performer:
description: Web Performer.
type: object
additionalProperties: false
properties:
performer:
$ref: '#/components/schemas/performer'
fields:
$ref: '#/components/schemas/table_performer_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- performer
table_performer_column_type:
description: "Название колонки в таблице с исполнителями:\n * `ESSENCE_KEY`\
\ - ключ сущности\n * `ENABLED` - участие в расчете\n * `PRISTINE` - флаг\
\ изменения данных\n"
type: string
enum:
- ESSENCE_KEY
- ENABLED
- PRISTINE
- STATE
- WORKING_TIME
- AVAILABILITY_TIME
- TRIP_KEY
- TRIP_NAME
- LOCATION_KEYS
- PERFORMER_FEATURES
- TRANSPORT_RESTRICTIONS
- TRIPS_COUNT
- SHIFTS_COUNT
- NAME
- WARNINGS
- ATTRIBUTES
- CUSTOMFIELDS
default: NAME
example: ESSENCE_KEY
table_performer_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_performer_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_performer_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_performer_filter'
default: []
table_performer:
description: Исполнитель (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_performer_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_performer_fields'
required:
- fields
- elements
table_performer_list:
description: Таблица исполнителей.
type: object
additionalProperties: false
properties:
essences:
description: Список исполнителей.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_performer'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
web_performer_geopoint:
description: Геоточка для карты.
type: object
additionalProperties: false
properties:
geopoint:
$ref: '#/components/schemas/geopoint'
performer_key:
description: Ключ исполнителя.
type: string
minLength: 1
maxLength: 1024
example: performer_01
shift_key:
description: Ключ смены, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: shift01
point_type:
description: Тип точки - начальная или конечная.
type: string
enum:
- START
- FINISH
example: START
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
trip_name:
$ref: '#/components/schemas/name'
stop_number:
description: Порядковый номер остановки в рейсе.
type: integer
format: int32
minimum: 0
maximum: 1000
default: 0
example: 10
required:
- geopoint
- performer_key
- shift_key
- point_type
web_performer_geopoint_list:
description: Геоточки для отображения на карте.
type: object
additionalProperties: false
properties:
geopoints:
description: Список точек.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/web_performer_geopoint'
counters:
$ref: '#/components/schemas/table_list_counters'
description: Счетчики по списку сущностей.
geopoints_counters:
$ref: '#/components/schemas/table_list_counters_detail'
description: Счетчики по списку точек.
required:
- geopoints
- counters
- geopoints_counters
table_performer_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_performer_filter'
default: []
table_performer_metrics:
description: Общие метрики по выбранным исполнителям.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_performer_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_performer_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
table_transport_fields:
description: Табличные поля транспорта и его смены.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- TRANSPORT
- TRANSPORT_SHIFT
default: TRANSPORT
example: TRANSPORT
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
state:
$ref: '#/components/schemas/basic_state'
x-filter-type: ENUM_LIST
x-default-enabled: true
availability_time:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
transport_type:
$ref: '#/components/schemas/transport_type'
x-filter-type: ENUM_LIST
x-default-enabled: true
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
location_keys:
$ref: '#/components/schemas/table_string_search_field'
description: Список ключей локаций через запятую, которые связаны с данной
сущностью.
x-filter-type: STRING_SEARCH
x-default-enabled: true
example: location01,location02
mass:
description: Масса в килограммах (сумма по всем боксам).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 10
volume:
description: Объём в кубических метрах (сумма по всем боксам).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_a:
description: 'Дополнительный параметр вместимости (A) в альтернативных единицах
измерения (сумма по всем боксам).
'
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
capacity_b:
description: 'Дополнительный параметр вместимости (B) в альтернативных единицах
измерения (сумма по всем боксам).
'
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_c:
description: 'Дополнительный параметр вместимости (C) в альтернативных единицах
измерения (сумма по всем боксам).
'
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3
transport_features:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
performer_restrictions:
$ref: '#/components/schemas/table_string_search_field'
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
trips_count:
description: Количество рейсов, в которых участвует транспорт (для смены
- 0 или 1).
x-filter-type: INT_RANGE
x-default-enabled: true
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
roundtrips_count:
description: Количество кругорейсов, в которых участвует транспорт.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
shifts_count:
description: Количество смен исполнителя.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: false
warnings:
$ref: '#/components/schemas/table_string_search_field'
description: Список предупреждений по сущности.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: NO_AVAILABLE_TRANSPORT, NO_AVAILABLE_PERFORMER
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
web_transport:
description: Web Transport.
type: object
additionalProperties: false
properties:
transport:
$ref: '#/components/schemas/transport'
fields:
$ref: '#/components/schemas/table_transport_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- transport
table_transport_column_type:
description: "Название колонки в таблице с транспортом:\n * `ESSENCE_KEY` -\
\ ключ сущности\n * `ENABLED` - участие в расчете\n * `PRISTINE` - флаг\
\ изменения данных\n"
type: string
enum:
- ESSENCE_KEY
- ENABLED
- PRISTINE
- STATE
- AVAILABILITY_TIME
- TRANSPORT_TYPE
- TRIP_KEY
- TRIP_NAME
- LOCATION_KEYS
- MASS
- VOLUME
- CAPACITY_A
- CAPACITY_B
- CAPACITY_C
- TRANSPORT_FEATURES
- PERFORMER_RESTRICTIONS
- TRIPS_COUNT
- ROUNDTRIPS_COUNT
- SHIFTS_COUNT
- NAME
- WARNINGS
- ATTRIBUTES
- CUSTOMFIELDS
default: NAME
example: ESSENCE_KEY
table_transport_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_transport_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_transport_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_transport_filter'
default: []
table_transport:
description: Транспорт (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_transport_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_transport_fields'
required:
- fields
- elements
table_transport_list:
description: Таблица транспорта.
type: object
additionalProperties: false
properties:
essences:
description: Список транспорта.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_transport'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
web_transport_geopoint:
description: Географическая точка для карты.
type: object
additionalProperties: false
properties:
geopoint:
$ref: '#/components/schemas/geopoint'
transport_key:
description: Ключ транспорта.
type: string
minLength: 1
maxLength: 1024
example: transport_01
shift_key:
description: Ключ смены, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: shift01
point_type:
description: Тип точки - начальная или конечная.
type: string
enum:
- START
- FINISH
default: START
example: FINISH
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
trip_name:
$ref: '#/components/schemas/name'
stop_number:
description: Порядковый номер остановки в рейсе.
type: integer
format: int32
minimum: 0
maximum: 1000
default: 0
example: 10
required:
- geopoint
- transport_key
- shift_key
- point_type
web_transport_geopoint_list:
description: Географические точки для отображения на карте.
type: object
additionalProperties: false
properties:
geopoints:
description: Список точек.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/web_transport_geopoint'
counters:
$ref: '#/components/schemas/table_list_counters'
description: Счетчики по списку сущностей.
geopoints_counters:
$ref: '#/components/schemas/table_list_counters_detail'
description: Счетчики по списку точек.
required:
- geopoints
- counters
- geopoints_counters
table_transport_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_transport_filter'
default: []
table_transport_metrics:
description: Общие метрики по выбранному транспорту.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_transport_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_transport_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
table_order_fields:
description: Табличные поля заказа и заявок.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- ORDER
- DEMAND
default: ORDER
example: ORDER
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
state:
$ref: '#/components/schemas/basic_state'
x-filter-type: ENUM_LIST
x-default-enabled: true
type:
$ref: '#/components/schemas/table_string_search_field'
description: Тип заявки, для заказа указывается список типов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: true
example: WORK
hard_time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
soft_time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
general_drop_time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
general_pickup_time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
general_work_time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
reward:
description: Суммарное вознаграждение за выполнение заказов.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000000000
default: 0
example: 2343.3
mass:
description: Масса в килограммах.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 10
volume:
description: Объём в кубических метрах.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_a:
description: 'Дополнительный параметр вместимости (A) для измерения грузов
и отсеков в альтернативных единицах измерения. Например, для учета грузов
в штуках (у груза данный параметр равен единице, у отсека - максимальному
количеству вмещаемых грузов).
'
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
capacity_b:
description: 'Дополнительный параметр вместимости (B) для измерения грузов
и отсеков в альтернативных единицах измерения.
'
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_c:
description: 'Дополнительный параметр вместимости (C) для измерения грузов
и отсеков в альтернативных единицах измерения.
'
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3
order_features:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
order_restrictions:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
performer_restrictions:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
performer_blacklist:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
width:
description: Ширина в метрах, используется для проверки вместимости в отсек
транспорта.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
height:
description: Высота в метрах, используется для проверки вместимости в отсек
транспорта.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.3
length:
description: Длина в метрах, используется для проверки вместимости в отсек
транспорта.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2.2
rotation:
$ref: '#/components/schemas/table_string_search_field'
description: Тип разрешенного поворота груза, для заказа указывается список
типов через запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: ALL
box_restrictions:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
cargo_features:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
cargo_restrictions:
$ref: '#/components/schemas/table_string_search_field'
description: Теги заявки, для заказа указывается список тегов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: A1
demands_count:
description: Количество заявок.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: false
warnings:
$ref: '#/components/schemas/table_string_search_field'
description: Список предупреждений по сущности.
x-filter-type: STRING_SEARCH
x-default-enabled: false
example: NO_AVAILABLE_TRANSPORT, NO_AVAILABLE_PERFORMER
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
order_status:
$ref: '#/components/schemas/order_status'
x-filter-type: ENUM_LIST
x-default-enabled: false
web_order:
description: Web Order.
type: object
additionalProperties: false
properties:
order:
$ref: '#/components/schemas/order'
fields:
$ref: '#/components/schemas/table_order_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- order
order_cargo_invoice:
description: 'Накладная груза заказа. Груз адресуется парой ключей - ключом
заказа и ключом груза внутри этого заказа.
'
type: object
additionalProperties: false
properties:
order_key:
$ref: '#/components/schemas/order_key'
description: Ключ заказа, груз которого обновляется.
cargo_key:
$ref: '#/components/schemas/cargo_key'
description: 'Ключ груза, который обновляется. Груз с таким ключом должен
уже существовать в указанном заказе.
'
invoice:
description: 'Новая накладная на груз, полностью заменяет текущую. Значение
`null` очищает накладную.
'
oneOf:
- $ref: '#/components/schemas/cargo_invoice'
- $ref: '#/components/schemas/nullable'
required:
- order_key
- cargo_key
- invoice
order_cargo_invoice_list:
description: 'Список накладных грузов заказов датасета. Обновляются только уже
существующие грузы - новые грузы не добавляются. Если необходимо добавить
или удалить грузы - воспользуйтесь обновлением заказа.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/order_cargo_invoice'
default: []
table_order_column_type:
description: "Название колонки в таблице с заказами:\n * `ESSENCE_KEY` - ключ\
\ сущности\n * `ENABLED` - участие в расчете\n * `PRISTINE` - флаг изменения\
\ данных\n"
type: string
enum:
- ESSENCE_KEY
- ENABLED
- PRISTINE
- STATE
- TYPE
- HARD_TIME_WINDOW
- SOFT_TIME_WINDOW
- GENERAL_DROP_TIME_WINDOW
- GENERAL_PICKUP_TIME_WINDOW
- GENERAL_WORK_TIME_WINDOW
- REWARD
- MASS
- VOLUME
- CAPACITY_A
- CAPACITY_B
- CAPACITY_C
- ORDER_FEATURES
- ORDER_RESTRICTIONS
- PERFORMER_RESTRICTIONS
- PERFORMER_BLACKLIST
- WIDTH
- HEIGHT
- LENGTH
- ROTATION
- BOX_RESTRICTIONS
- CARGO_FEATURES
- CARGO_RESTRICTIONS
- DEMANDS_COUNT
- TRIP_KEY
- TRIP_NAME
- NAME
- WARNINGS
- ATTRIBUTES
- CUSTOMFIELDS
- ORDER_STATUS
default: NAME
example: ESSENCE_KEY
table_order_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_order_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_order_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_order_filter'
default: []
table_order:
description: Заказ (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_order_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_order_fields'
required:
- fields
- elements
table_order_list:
description: Таблица заказов.
type: object
additionalProperties: false
properties:
essences:
description: Список заказов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_order'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
web_order_geopoint:
description: Геоточка для карты.
type: object
additionalProperties: false
properties:
geopoint:
$ref: '#/components/schemas/geopoint'
order_key:
$ref: '#/components/schemas/order_key'
demand_key:
$ref: '#/components/schemas/demand_key'
event_key:
$ref: '#/components/schemas/possible_event_key'
demand_type:
$ref: '#/components/schemas/demand_type'
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
trip_name:
$ref: '#/components/schemas/name'
stop_number:
description: Порядковый номер остановки в рейсе.
type: integer
format: int32
minimum: 0
maximum: 1000
default: 0
example: 10
required:
- geopoint
- order_key
- demand_key
- event_key
- demand_type
web_order_geopoint_list:
description: Геоточки для отображения на карте.
type: object
additionalProperties: false
properties:
geopoints:
description: Список точек.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/web_order_geopoint'
counters:
$ref: '#/components/schemas/table_list_counters'
description: Счетчики по списку сущностей.
geopoints_counters:
$ref: '#/components/schemas/table_list_counters_detail'
description: Счетчики по списку точек.
required:
- geopoints
- counters
- geopoints_counters
table_order_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_order_filter'
default: []
table_order_metrics:
description: Общие метрики по выбранным заказам.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_order_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_order_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
table_hardlink_fields:
description: Табличные поля связи и связанных сущностей.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- HARDLINK
- ELEMENT
default: HARDLINK
example: HARDLINK
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
element_type:
description: 'Тип элемента. Для назначения указывается список типов через
запятую.
'
x-filter-type: STRING_SEARCH
x-default-enabled: true
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: ORDER,PERFORMER_SHIFT
elements_count:
description: Количество объектов в связи.
x-filter-type: INT_RANGE
x-default-enabled: true
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
web_hardlink:
description: Web Hardlink.
type: object
additionalProperties: false
properties:
hardlink:
$ref: '#/components/schemas/hardlink'
fields:
$ref: '#/components/schemas/table_hardlink_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- hardlink
table_hardlink_column_type:
description: 'Название колонки в таблице со связями.
'
type: string
enum:
- ESSENCE_KEY
- ENABLED
- PRISTINE
- ELEMENT_TYPE
- ELEMENTS_COUNT
- TRIP_KEY
- TRIP_NAME
- CUSTOMFIELDS
default: ESSENCE_KEY
example: ELEMENTS_COUNT
table_hardlink_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_hardlink_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_hardlink_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_hardlink_filter'
default: []
table_hardlink:
description: Назначение (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_hardlink_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_hardlink_fields'
required:
- fields
- elements
table_hardlink_list:
description: Таблица связей.
type: object
additionalProperties: false
properties:
essences:
description: Список связей.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_hardlink'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
table_hardlink_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_hardlink_filter'
default: []
table_hardlink_metrics:
description: Общие метрики по выбранным назначениям.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_hardlink_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_hardlink_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
basic_verified:
description: Флаг, показывающий производилась ли ручная проверка сущности.
type: boolean
default: false
readOnly: true
example: true
table_trip_fields:
description: Табличные поля рейса и остановок.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- TRIP
- ROUNDTRIP
default: TRIP
example: ROUNDTRIP
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
trip_verified:
$ref: '#/components/schemas/basic_verified'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
performer_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
performer_shift_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
transport_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
transport_shift_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
cost:
description: 'Суммарные затраты, которые считаются на базе тарифов исполнителей
и транспорта.
'
x-filter-type: FLOAT_RANGE
x-default-enabled: true
type: number
format: double
minimum: 0
maximum: 1000000000000
default: 0
example: 1231.1
reward:
description: Суммарное вознаграждение за выполнение заказов.
x-filter-type: FLOAT_RANGE
x-default-enabled: true
type: number
format: double
minimum: 0
maximum: 1000000000000
default: 0
example: 2343.3
profit:
description: 'Суммарный доход - разница между суммарным вознаграждением
(`reward`) и затратами (`cost`).
'
x-filter-type: FLOAT_RANGE
x-default-enabled: true
type: number
format: double
minimum: -1000000000000
maximum: 1000000000000
default: 0
example: 1231.1
driving_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
waiting_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
break_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
rest_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
working_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
arriving_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
departure_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
total_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
distance:
description: Расстояние в метрах.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 4000000000
default: 0
example: 5200
time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: true
x-default-sort-direction: ASC
orders_count:
description: Суммарное количество запланированных и назначенных заказов.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1700
plan_orders_count:
description: Суммарное количество запланированных заказов.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1003
waitlist_orders_count:
description: Суммарное количество назначенных заказов.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 697
stops_count:
description: Суммарное количество остановок (неуникальных локаций).
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 87
locations_count:
description: Суммарное количество уникальных локаций в рамках одного рейса.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 45
cargo_capacity_ratio_mass:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по массе).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 10
cargo_capacity_ratio_volume:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по объёму).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
cargo_capacity_ratio_capacity_a:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по параметру A).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
cargo_capacity_ratio_capacity_b:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по параметру B).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
cargo_capacity_ratio_capacity_c:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по параметру C).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3
max_transport_load_mass:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по массе).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_volume:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по объёму).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_capacity_a:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по параметру A).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_capacity_b:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по параметру B).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_capacity_c:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по параметру C).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
average_roundtrip_time:
$ref: '#/components/schemas/time_duration'
description: Среднее время на кругорейс - отношение суммарного времени к
количеству кругорейсов.
x-filter-type: DURATION_RANGE
x-default-enabled: false
average_roundtrip_distance:
description: Средний пробег на кругорейс - отношение суммарного пробега
к количеству кругорейсов, в метрах.
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000000000
default: 0
example: 23.4
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
trip_status:
$ref: '#/components/schemas/trip_status'
x-filter-type: ENUM_LIST
x-default-enabled: false
crew_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
crew_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
web_trip:
description: Web Trip.
type: object
additionalProperties: false
properties:
trip:
$ref: '#/components/schemas/trip'
trip_statistics:
$ref: '#/components/schemas/trip_statistics'
fields:
$ref: '#/components/schemas/table_trip_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- trip
- trip_statistics
table_trip_column_type:
description: "Название колонки в таблице с рейсами:\n * `ESSENCE_KEY` - ключ\
\ сущности\n * `ENABLED` - участие в расчете\n * `PRISTINE` - флаг изменения\
\ данных\n"
type: string
enum:
- ESSENCE_KEY
- ENABLED
- TRIP_VERIFIED
- PRISTINE
- TRIP_NAME
- PERFORMER_KEY
- PERFORMER_SHIFT_KEY
- TRANSPORT_KEY
- TRANSPORT_SHIFT_KEY
- COST
- REWARD
- PROFIT
- DRIVING_TIME
- WAITING_TIME
- BREAK_TIME
- REST_TIME
- WORKING_TIME
- ARRIVING_TIME
- DEPARTURE_TIME
- TOTAL_TIME
- DISTANCE
- TIME_WINDOW
- ORDERS_COUNT
- PLAN_ORDERS_COUNT
- WAITLIST_ORDERS_COUNT
- STOPS_COUNT
- LOCATIONS_COUNT
- CARGO_CAPACITY_RATIO_MASS
- CARGO_CAPACITY_RATIO_VOLUME
- CARGO_CAPACITY_RATIO_CAPACITY_A
- CARGO_CAPACITY_RATIO_CAPACITY_B
- CARGO_CAPACITY_RATIO_CAPACITY_C
- MAX_TRANSPORT_LOAD_MASS
- MAX_TRANSPORT_LOAD_VOLUME
- MAX_TRANSPORT_LOAD_CAPACITY_A
- MAX_TRANSPORT_LOAD_CAPACITY_B
- MAX_TRANSPORT_LOAD_CAPACITY_C
- AVERAGE_ROUNDTRIP_TIME
- AVERAGE_ROUNDTRIP_DISTANCE
- ATTRIBUTES
- CUSTOMFIELDS
- TRIP_STATUS
- CREW_KEY
- CREW_NAME
default: TRIP_NAME
example: DISTANCE
table_trip_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_trip_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_trip_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_trip_filter'
default: []
table_trip:
description: Рейс (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_trip_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_trip_fields'
required:
- fields
- elements
table_trip_list:
description: Табличный список рейсов или кругорейсов.
type: object
additionalProperties: false
properties:
essences:
description: Список рейсов или кругорейсов.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_trip'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
web_trip_chart_demand:
description: Заявка для отрисовки на диаграмме.
type: object
additionalProperties: false
properties:
demand_key:
description: Ключ заявки.
type: string
minLength: 1
maxLength: 1024
example: demand_1
demand_type:
$ref: '#/components/schemas/demand_type'
required:
- demand_key
- demand_type
web_trip_chart:
description: Рейс для отрисовки на диаграмме.
type: object
additionalProperties: false
properties:
trip:
$ref: '#/components/schemas/trip'
chart_demands:
description: Список дополнительной информации по запланированным заявкам.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/web_trip_chart_demand'
required:
- trip
- chart_demands
web_trip_chart_list:
description: Рейсы для отображения на диаграмме.
type: object
additionalProperties: false
properties:
charts:
description: Данные для диаграммы.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/web_trip_chart'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- charts
- counters
track_type:
description: "Тип трека:\n * `LINE` - соединение точек остановок по прямой\n\
\ * `ROAD` - соединение точек остановок по дорогам\n * `CUSTOM` - пользовательские\
\ треки\n"
type: string
enum:
- LINE
- ROAD
- CUSTOM
default: LINE
example: ROAD
track:
description: Трек для отрисовки на карте.
type: object
additionalProperties: false
properties:
geotrack:
$ref: '#/components/schemas/geotrack'
trip_key:
$ref: '#/components/schemas/trip_key'
trip_name:
$ref: '#/components/schemas/name'
performer_key:
description: Ключ исполнителя.
type: string
minLength: 1
maxLength: 1024
example: performer_01
performer_shift_key:
description: Ключ смены исполнителя, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: performer_shift_01
transport_key:
description: Ключ транспорта.
type: string
minLength: 1
maxLength: 1024
example: transport_01
transport_shift_key:
description: Ключ смены транспорта, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: transport_shift_01
required:
- geotrack
- trip_key
- performer_key
- performer_shift_key
- transport_key
- transport_shift_key
track_list:
description: Треки для отображения на карте.
type: object
additionalProperties: false
properties:
tracks:
description: Список треков.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/track'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- tracks
- counters
track_list_custom:
description: Пользовательские треки для отображения на карте.
type: object
additionalProperties: false
properties:
tracks:
description: Список треков.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/track'
required:
- tracks
table_trip_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_trip_filter'
default: []
table_trip_metrics:
description: Общие метрики по выбранным рейсам.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_trip_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_trip_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
table_trip_stop_column_type:
description: "Название колонки в таблице с остановками рейса:\n * `ESSENCE_KEY`\
\ - ключ сущности\n"
type: string
enum:
- ESSENCE_KEY
- DRIVING_TIME
- WAITING_TIME
- BREAK_TIME
- REST_TIME
- WORKING_TIME
- ARRIVING_TIME
- DEPARTURE_TIME
- TOTAL_TIME
- DISTANCE
- TIME_WINDOW
- TRIP_KEY
- ORDER_KEY
- DEMAND_TYPE
- LOCATION_NAME
- LOCATION_KEY
- ATTRIBUTES
- CUSTOMFIELDS
default: ESSENCE_KEY
example: LOCATION_NAME
table_trip_stop_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_trip_stop_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_trip_stop_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_trip_stop_filter'
default: []
table_trip_stop_fields:
description: Табличные поля остановок одного рейса.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- TRIP_STOP
- DEMAND
default: TRIP_STOP
example: TRIP_STOP
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
driving_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: true
waiting_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
break_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
rest_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
working_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
arriving_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
departure_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
total_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
distance:
description: Расстояние в метрах.
x-filter-type: INT_RANGE
x-default-enabled: true
type: integer
format: int32
minimum: 0
maximum: 4000000000
default: 0
example: 5200
time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: false
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
order_key:
$ref: '#/components/schemas/table_string_search_field'
description: Ключ заказа, для остановки указывается список ключей заказов
через запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: true
example: order01
demand_type:
$ref: '#/components/schemas/table_string_search_field'
description: Тип заявки, для остановки указывается список типов заявок через
запятую.
x-filter-type: STRING_SEARCH
x-default-enabled: true
example: WORK
location_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
location_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
description: Пользовательские табличные поля - используются атрибуты LOCATION.
table_trip_stop:
description: Остановка рейса (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_trip_stop_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_trip_stop_fields'
required:
- fields
- elements
table_trip_stop_list:
description: Таблица остановок рейса.
type: object
additionalProperties: false
properties:
essences:
description: Список остановок рейса.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_trip_stop'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
table_roundtrip_column_type:
description: "Название колонки в таблице с кругорейсами:\n * `ESSENCE_KEY`\
\ - ключ сущности\n * `ENABLED` - участие в расчете\n * `PRISTINE` - флаг\
\ изменения данных\n"
type: string
enum:
- ESSENCE_KEY
- ENABLED
- TRIP_KEY
- PRISTINE
- TRIP_NAME
- COST
- REWARD
- PROFIT
- DRIVING_TIME
- WAITING_TIME
- BREAK_TIME
- REST_TIME
- WORKING_TIME
- ARRIVING_TIME
- DEPARTURE_TIME
- TOTAL_TIME
- DISTANCE
- TIME_WINDOW
- ORDERS_COUNT
- PLAN_ORDERS_COUNT
- WAITLIST_ORDERS_COUNT
- STOPS_COUNT
- LOCATIONS_COUNT
- CARGO_CAPACITY_RATIO_MASS
- CARGO_CAPACITY_RATIO_VOLUME
- CARGO_CAPACITY_RATIO_CAPACITY_A
- CARGO_CAPACITY_RATIO_CAPACITY_B
- CARGO_CAPACITY_RATIO_CAPACITY_C
- MAX_TRANSPORT_LOAD_MASS
- MAX_TRANSPORT_LOAD_VOLUME
- MAX_TRANSPORT_LOAD_CAPACITY_A
- MAX_TRANSPORT_LOAD_CAPACITY_B
- MAX_TRANSPORT_LOAD_CAPACITY_C
- ATTRIBUTES
- CUSTOMFIELDS
default: TRIP_NAME
example: DISTANCE
table_roundtrip_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_roundtrip_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_roundtrip_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_roundtrip_filter'
default: []
table_roundtrip_fields:
description: Табличные поля кругорейса.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- TRIP
- ROUNDTRIP
default: TRIP
example: ROUNDTRIP
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
cost:
description: 'Суммарные затраты, которые считаются на базе тарифов исполнителей
и транспорта.
'
x-filter-type: FLOAT_RANGE
x-default-enabled: true
type: number
format: double
minimum: 0
maximum: 1000000000000
default: 0
example: 1231.1
reward:
description: Суммарное вознаграждение за выполнение заказов.
x-filter-type: FLOAT_RANGE
x-default-enabled: true
type: number
format: double
minimum: 0
maximum: 1000000000000
default: 0
example: 2343.3
profit:
description: 'Суммарный доход - разница между суммарным вознаграждением
(`reward`) и затратами (`cost`).
'
x-filter-type: FLOAT_RANGE
x-default-enabled: true
type: number
format: double
minimum: -1000000000000
maximum: 1000000000000
default: 0
example: 1231.1
driving_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
waiting_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
break_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
rest_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
working_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
arriving_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
departure_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
total_time:
$ref: '#/components/schemas/time_duration'
x-filter-type: DURATION_RANGE
x-default-enabled: false
distance:
description: Расстояние в метрах.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 4000000000
default: 0
example: 5200
time_window:
description: Временное окно.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
x-filter-type: DATETIME_RANGE
x-default-enabled: true
x-default-sort-direction: ASC
orders_count:
description: Суммарное количество запланированных и назначенных заказов.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1700
plan_orders_count:
description: Суммарное количество запланированных заказов.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 1003
waitlist_orders_count:
description: Суммарное количество назначенных заказов.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 697
stops_count:
description: Суммарное количество остановок (неуникальных локаций).
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 87
locations_count:
description: Суммарное количество уникальных локаций в рамках одного рейса.
x-filter-type: INT_RANGE
x-default-enabled: false
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 45
cargo_capacity_ratio_mass:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по массе).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 10
cargo_capacity_ratio_volume:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по объёму).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
cargo_capacity_ratio_capacity_a:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по параметру A).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
cargo_capacity_ratio_capacity_b:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по параметру B).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
cargo_capacity_ratio_capacity_c:
description: Отношение суммарных аддитивных мер перевезенного груза к суммарной
вместимости отсеков (по параметру C).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3
max_transport_load_mass:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по массе).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_volume:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по объёму).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_capacity_a:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по параметру A).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_capacity_b:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по параметру B).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
max_transport_load_capacity_c:
description: Отношение максимальной загрузки отсеков к суммарной вместимости
отсеков (по параметру C).
x-filter-type: FLOAT_RANGE
x-default-enabled: false
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.1
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
table_roundtrip:
description: Кругорейс (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_roundtrip_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_roundtrip_fields'
required:
- fields
- elements
table_roundtrip_list:
description: Табличный список кругорейсов.
type: object
additionalProperties: false
properties:
essences:
description: Список кругорейсов.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_roundtrip'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
table_roundtrip_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_roundtrip_filter'
default: []
table_roundtrip_metrics:
description: Общие метрики по выбранным кругорейсам.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_roundtrip_fields'
description: 'Суммарные значения для полей типов int, double, duration.
'
fields_avg:
$ref: '#/components/schemas/table_roundtrip_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
table_fact_fields:
description: Табличные поля факта.
type: object
additionalProperties: false
readOnly: true
properties:
essence_type:
description: Тип сущности.
type: string
enum:
- FACT
default: FACT
example: FACT
essence_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
x-default-sort-direction: ASC
enabled:
$ref: '#/components/schemas/basic_enabled'
x-filter-type: BOOL_LIST
x-default-enabled: false
pristine:
$ref: '#/components/schemas/basic_pristine'
x-filter-type: BOOL_LIST
x-default-enabled: false
type:
description: Тип факта.
x-filter-type: STRING_SEARCH
x-default-enabled: true
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 64
example: GEOTRACK_UPDATED
creation_date:
description: Дата и время создания факта в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type:
- string
- 'null'
default: null
format: date-time
x-filter-type: DATETIME_RANGE
x-default-enabled: true
example: '2026-09-21T09:30:00+03:00'
reception_date:
description: Дата и время получения факта в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type:
- string
- 'null'
default: null
format: date-time
x-filter-type: DATETIME_RANGE
x-default-enabled: false
example: '2026-09-21T09:33:00+03:00'
execution_date:
description: Дата и время обработки факта в формате [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type:
- string
- 'null'
default: null
format: date-time
x-filter-type: DATETIME_RANGE
x-default-enabled: false
example: '2026-09-21T09:35:00+03:00'
status:
$ref: '#/components/schemas/fact_status'
x-filter-type: ENUM_LIST
x-default-enabled: true
trip_key:
$ref: '#/components/schemas/basic_essence_key_null'
x-filter-type: STRING_SEARCH
x-default-enabled: true
trip_name:
$ref: '#/components/schemas/name'
x-filter-type: STRING_SEARCH
x-default-enabled: true
attributes:
$ref: '#/components/schemas/table_attributes'
x-filter-type: STRING_SEARCH
x-default-enabled: false
customfields:
$ref: '#/components/schemas/table_customfields'
web_fact:
description: Web Fact.
type: object
additionalProperties: false
properties:
fact:
$ref: '#/components/schemas/fact'
fields:
$ref: '#/components/schemas/table_fact_fields'
linked_essences:
$ref: '#/components/schemas/linked_essence_list'
required:
- fact
table_fact_column_type:
description: 'Название колонки в таблице с фактами.
'
type: string
enum:
- ESSENCE_KEY
- ENABLED
- PRISTINE
- TYPE
- CREATION_DATE
- RECEPTION_DATE
- EXECUTION_DATE
- STATUS
- TRIP_KEY
- TRIP_NAME
- CUSTOMFIELDS
example: ESSENCE_KEY
table_fact_filter:
description: Универсальный фильтр для колонок в таблице.
type: object
additionalProperties: false
readOnly: true
properties:
type:
$ref: '#/components/schemas/table_filter_type'
column:
$ref: '#/components/schemas/table_fact_column_type'
custom_column:
description: Пользовательская колонка.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
datetime_range:
description: Фильтр - временное окно.
oneOf:
- $ref: '#/components/schemas/table_filter_datetime_range'
- $ref: '#/components/schemas/nullable'
default: null
int_range:
description: Фильтр - числовой диапазон.
oneOf:
- $ref: '#/components/schemas/table_filter_int_range'
- $ref: '#/components/schemas/nullable'
default: null
float_range:
description: Фильтр по числовому диапазону c плавающей точкой.
oneOf:
- $ref: '#/components/schemas/table_filter_float_range'
- $ref: '#/components/schemas/nullable'
default: null
duration_range:
description: Диапазон длительности.
oneOf:
- $ref: '#/components/schemas/table_filter_duration_range'
- $ref: '#/components/schemas/nullable'
default: null
bool_list:
description: Фильтр по списку булевых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_bool_list'
- $ref: '#/components/schemas/nullable'
default: null
enum_list:
description: Фильтр по списку заранее известных текстовых значений.
oneOf:
- $ref: '#/components/schemas/table_filter_enum_list'
- $ref: '#/components/schemas/nullable'
default: null
string_list:
description: Фильтр по списку строк.
oneOf:
- $ref: '#/components/schemas/table_filter_string_list'
- $ref: '#/components/schemas/nullable'
default: null
string_search:
description: Строковый фильтр.
oneOf:
- $ref: '#/components/schemas/table_filter_string_search'
- $ref: '#/components/schemas/nullable'
default: null
required:
- type
- column
table_fact_filter_list:
description: Список фильтров.
type: object
additionalProperties: false
properties:
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_fact_filter'
default: []
table_fact:
description: Факт (таблица).
type: object
additionalProperties: false
properties:
fields:
$ref: '#/components/schemas/table_fact_fields'
elements:
description: Список вложенных элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/table_fact_fields'
required:
- fields
- elements
table_fact_list:
description: Таблица фактов.
type: object
additionalProperties: false
properties:
essences:
description: Список фактов.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/table_fact'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- essences
- counters
table_fact_metrics_filter_list:
description: 'Данные для расчета метрик. Если указаны ключи сущностей - метрики
считаются по ним. Если ключи не указаны - метрики считаются по всем сущностям,
которые попадают под фильтры.
'
type: object
additionalProperties: false
properties:
keys:
$ref: '#/components/schemas/basic_essence_key_list'
description: Список ключей сущностей.
filters:
description: Список фильтров.
type: array
uniqueItems: false
minItems: 0
maxItems: 50
items:
$ref: '#/components/schemas/table_fact_filter'
default: []
table_fact_metrics:
description: Общие метрики по выбранным фактам.
type: object
additionalProperties: false
properties:
fields_sum:
$ref: '#/components/schemas/table_fact_fields'
description: Суммарные значения для полей типов int, double, duration.
fields_avg:
$ref: '#/components/schemas/table_fact_fields'
description: 'Средние значения для полей типов int, double, duration. Для
расчета среднего учитываются только поля, которые имеют значение.
'
counters:
$ref: '#/components/schemas/table_list_counters'
required:
- counters
batch_key:
description: Ключ пачки c фактами.
type: string
minLength: 1
maxLength: 256
example: batch_1199
batch_status:
description: "Статус обработки пачки с фактами:\n * `UNKNOWN` - пачка не найдена,\
\ статус не известен\n * `QUEUED` - получена и стоит в очереди на запись\n\
\ * `PERSISTED` - получена и записана\n"
type: string
enum:
- UNKNOWN
- QUEUED
- PERSISTED
default: UNKNOWN
example: PERSISTED
tracker_key:
description: Метка для отслеживания.
type: string
minLength: 10
maxLength: 1024
example: track-number-for-order-101
tracker_demand:
description: Информация об отслеживаемой заявке.
type: object
additionalProperties: false
properties:
demand_type:
$ref: '#/components/schemas/demand_type'
work_time_window:
description: Плановое временное окно начала и окончания работ по заявке
на локации.
oneOf:
- $ref: '#/components/schemas/time_window'
- $ref: '#/components/schemas/nullable'
default: null
required:
- demand_type
- work_time_window
tracker_demand_list:
description: Список отслеживаемых заявок.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/tracker_demand'
tracker_block_type:
description: "Тип блока на странице отслеживания заказа:\n * `DEMANDS` - список\
\ заявок заказа с плановыми временными окнами\n * `CARGOS` - список грузов\
\ заказа\n * `MAP` - карта с текущим положением исполнителя\n"
type: string
enum:
- DEMANDS
- CARGOS
- MAP
example: CARGOS
tracker_translation:
description: Перевод для виджета отслеживания.
type: object
additionalProperties: false
properties:
key:
description: Ключ перевода.
type: string
minLength: 1
maxLength: 100
example: code
value:
description: Значение перевода.
type: string
minLength: 0
maxLength: 200
example: Перевод
required:
- key
- value
tracker_settings:
description: Настройки внешнего вида страницы отслеживания заказа.
type: object
additionalProperties: false
properties:
primary_color:
description: Основной цвет оформления, в формате CSS.
type:
- string
- 'null'
default: null
minLength: 3
maxLength: 40
example: '#1a73e8'
background_color:
description: Цвет фона страницы, в формате CSS.
type:
- string
- 'null'
minLength: 3
maxLength: 40
default: null
example: '#ffffff'
font_color:
description: Цвет текста, в формате CSS.
type:
- string
- 'null'
minLength: 3
maxLength: 40
default: null
example: '#202124'
corner_rounding:
description: Скругление углов элементов.
type: integer
default: 0
minimum: 0
maximum: 100
example: 8
text_weight:
description: 'Насыщенность шрифта основного текста, в формате CSS `font-weight`
- числом (`400`) или ключевым словом (`normal`).
'
type:
- string
- 'null'
minLength: 3
maxLength: 20
default: null
example: '400'
header_weight:
description: 'Насыщенность шрифта заголовков, в формате CSS `font-weight`
- числом (`700`) или ключевым словом (`bold`).
'
type:
- string
- 'null'
minLength: 3
maxLength: 20
default: null
example: '700'
logo:
description: Логотип - ссылка на изображение или data URI.
type:
- string
- 'null'
minLength: 10
maxLength: 10000
default: null
example: https://veeroute.cloud/assets/icons/logo-vrt.svg
blocks:
description: 'Список блоков, отображаемых на странице отслеживания. Если
список не задан - отображаются только имя заказа и его статус.
'
type: array
minItems: 0
maxItems: 3
uniqueItems: true
items:
$ref: '#/components/schemas/tracker_block_type'
example:
- DEMANDS
- CARGOS
translations:
description: Переводы.
type: array
uniqueItems: true
minItems: 0
maxItems: 250
items:
$ref: '#/components/schemas/tracker_translation'
default: []
tracker_order_info:
description: Информация об отслеживаемом заказе.
type: object
additionalProperties: false
properties:
order_status:
$ref: '#/components/schemas/order_status'
order_name:
$ref: '#/components/schemas/name'
demands:
$ref: '#/components/schemas/tracker_demand_list'
cargos:
$ref: '#/components/schemas/cargo_list'
settings:
$ref: '#/components/schemas/tracker_settings'
required:
- order_status
- demands
settings_key:
description: Ключ настроек, уникальный идентификатор.
type: string
minLength: 1
maxLength: 1024
example: path-key-01
settings_key_null:
description: Ключ настроек (nullable), уникальный идентификатор.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: path-key-01
settings_key_list:
description: Список ключей настроек с указанием ключа текущей активной настройки.
type: object
additionalProperties: false
readOnly: true
properties:
settings_keys:
description: Список ключей настроек.
type: array
uniqueItems: true
minItems: 0
maxItems: 10
items:
$ref: '#/components/schemas/settings_key'
active_key:
$ref: '#/components/schemas/settings_key_null'
description: 'Ключ текущей активной настройки. Ключ из списка `settings_keys`
или null (если нет активной настройки).
'
required:
- settings_keys
analytics_chart_type:
description: "Тип графика:\n * `ORDERS_COUNT_TOTAL` - количество заказов всего\n\
\ * `ORDERS_COUNT_DELIVERED` - количество доставленных заказов\n * `ORDERS_COUNT_CANCELED`\
\ - количество отмененных заказов\n * `ORDERS_COUNT_ON_TIME` - количество\
\ доставленных в срок\n * `ORDERS_COUNT_LATE` - количество доставленных с\
\ опозданием\n * `ORDERS_COUNT_EARLY` - количество доставленных раньше интервала\n\
\ * `ORDERS_COUNT_IN_PROGRESS` - количество заказов в работе\n * `ORDERS_COUNT_WILL_BE_ON_TIME`\
\ - количество заказов, которые будут выполнены в срок\n * `ORDERS_COUNT_WILL_BE_LATE`\
\ - количество заказов, на которые опоздают\n * `ORDERS_PERCENT_DELIVERED`\
\ - процент доставленных заказов\n * `ORDERS_PERCENT_CANCELED` - процент\
\ отмененных заказов\n * `CREWS_COUNT_TOTAL` - количество экипажей всего\n\
\ * `CREWS_COUNT_ONLINE` - количество экипажей онлайн\n * `CREWS_PERCENT_ONLINE`\
\ - процент онлайна (общее количество исполнителей онлайн / всего)\n * `CREWS_PERCENT_LOCATION_QUALITY`\
\ - процент качества координат (общее количество исполнителей без проблем\
\ / всего)\n * `TIME_TOTAL_LATE` - суммарное время, на которое будет опоздание\
\ по всем заказам\n * `TIME_TOTAL_EARLY` - суммарное время, на которое приедем\
\ раньше по всем заказам\n * `TIME_DELIVERY_WITHIN_WINDOW` - процент доставки\
\ во временное окно\n * `TIME_DELIVERY_OUTSIDE_WINDOW` - процент доставки\
\ не во временное окно\n * `PRODUCTIVITY_OVERALL` - производительность общая\
\ (количество всех заказов/количество экипажей)\n * `PRODUCTIVITY_ASSIGNED`\
\ - производительность по назначенным заказам (количество назначенных заказов/количество\
\ экипажей)\n * `PRODUCTIVITY_COMPLETED` - производительность по выполненным\
\ заказам (количество выполненных заказов/количество экипажей)\n"
type: string
enum:
- ORDERS_COUNT_TOTAL
- ORDERS_COUNT_DELIVERED
- ORDERS_COUNT_CANCELED
- ORDERS_COUNT_ON_TIME
- ORDERS_COUNT_LATE
- ORDERS_COUNT_EARLY
- ORDERS_COUNT_IN_PROGRESS
- ORDERS_COUNT_WILL_BE_ON_TIME
- ORDERS_COUNT_WILL_BE_LATE
- ORDERS_PERCENT_DELIVERED
- ORDERS_PERCENT_CANCELED
- CREWS_COUNT_TOTAL
- CREWS_COUNT_ONLINE
- CREWS_PERCENT_ONLINE
- CREWS_PERCENT_LOCATION_QUALITY
- TIME_TOTAL_LATE
- TIME_TOTAL_EARLY
- TIME_DELIVERY_WITHIN_WINDOW
- TIME_DELIVERY_OUTSIDE_WINDOW
- PRODUCTIVITY_OVERALL
- PRODUCTIVITY_ASSIGNED
- PRODUCTIVITY_COMPLETED
default: ORDERS_COUNT_TOTAL
example: ORDERS_COUNT_DELIVERED
analytics_element_value:
description: Значение в указанное время.
type: integer
format: int32
minimum: -1000000000
maximum: 1000000000
example: 57
analytics_element_type:
description: "Тип графика:\n * `HISTORY` - история\n * `FORECAST` - прогноз\n"
type: string
enum:
- HISTORY
- FORECAST
example: FORECAST
analytics_element:
description: Элемент аналитики.
type: object
additionalProperties: false
properties:
time:
description: Дата и время среза данных в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
value:
$ref: '#/components/schemas/analytics_element_value'
type:
$ref: '#/components/schemas/analytics_element_type'
required:
- time
- value
- type
analytics_element_list:
description: Список элементов.
type: array
uniqueItems: false
minItems: 0
maxItems: 3000
items:
$ref: '#/components/schemas/analytics_element'
default: []
analytics_metrics:
description: Срез данных одного типа по определенной волне.
type: object
additionalProperties: false
properties:
wave_key:
$ref: '#/components/schemas/unique_key'
wave_name:
$ref: '#/components/schemas/file_name'
elements:
$ref: '#/components/schemas/analytics_element_list'
required:
- wave_key
- wave_name
- elements
analytics_metrics_list:
description: Список метрик.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/analytics_metrics'
analytics_threshold_type:
description: "Тип результата:\n * `ERROR` - ошибка\n * `WARNING` - предупреждение\n\
\ * `SUCCESS` - успех\n"
type: string
enum:
- ERROR
- WARNING
- SUCCESS
example: SUCCESS
analytics_threshold:
description: Пороговое значение.
type: object
additionalProperties: false
properties:
from:
$ref: '#/components/schemas/analytics_element_value'
to:
$ref: '#/components/schemas/analytics_element_value'
type:
$ref: '#/components/schemas/analytics_threshold_type'
required:
- from
- to
- type
analytics_threshold_list:
description: Список порогов.
type: array
uniqueItems: false
minItems: 0
maxItems: 3
items:
$ref: '#/components/schemas/analytics_threshold'
default: []
analytics_chart:
description: Чарт - объединяет исторические данные и прогноз по одному виду
метрики.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/analytics_chart_type'
metrics:
$ref: '#/components/schemas/analytics_metrics_list'
thresholds:
$ref: '#/components/schemas/analytics_threshold_list'
required:
- type
- metrics
analytics_chart_list:
description: Список чартов с метриками.
type: array
uniqueItems: false
minItems: 0
maxItems: 10
items:
$ref: '#/components/schemas/analytics_chart'
analytics_overview:
description: Аналитика текущего выполнения волн.
type: object
additionalProperties: false
properties:
charts:
$ref: '#/components/schemas/analytics_chart_list'
required:
- charts
report_type:
description: "Тип отчета:\n * `TYPE_1` - отчет по форме 1\n * `TYPE_2` - отчет\
\ по форме 2\n"
type: string
enum:
- TYPE_1
- TYPE_2
default: TYPE_1
example: TYPE_2
translations:
description: Название на разных языках.
type: object
additionalProperties: false
properties:
ru:
$ref: '#/components/schemas/name'
description: Перевод на Русский язык.
example: Название на Русском языке
en:
$ref: '#/components/schemas/name'
description: Перевод на Английский язык.
example: Name in English
scenario_job:
description: Работа.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/basic_essence_key'
description: 'Ключ пользовательской работы. Уникален в рамках одного сценария.
'
translations:
$ref: '#/components/schemas/translations'
group_key:
$ref: '#/components/schemas/basic_essence_key_null'
description: 'Ключ группировки, к которой относится работа. Если ключ группы
совпадает у нескольких работ и эти работы находятся на одной точке, то
эти работы будут отображаться в одной группе на интерфейсе.
'
depends_on:
description: 'Список ключей работ, от которых зависит выполнение данной
работы. Если указано, то данная работа не может быть выполнена, пока не
будут выполнены все работы из списка.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 10
items:
$ref: '#/components/schemas/basic_essence_key'
required:
- key
- translations
scenario_job_list:
description: Список работ, которые необходимо выполнить в рамках сценария.
type: array
uniqueItems: false
minItems: 1
maxItems: 100
items:
$ref: '#/components/schemas/scenario_job'
scenario:
description: Сценарий.
type: object
additionalProperties: false
properties:
key:
$ref: '#/components/schemas/basic_essence_key'
description: 'Ключ сценария. Уникален в рамках одной компании.
'
jobs:
$ref: '#/components/schemas/scenario_job_list'
required:
- key
- jobs
user_settings:
description: Настройки пользователя.
type: object
additionalProperties: true
example:
key1: value1
customfield_entity_type:
description: 'Тип сущности. Определяет исходный объект с атрибутами и целевую
таблицу.
'
type: string
enum:
- LOCATION
- ORDER
- DEMAND
- PERFORMER
- PERFORMER_SHIFT
- TRANSPORT
- TRANSPORT_SHIFT
- HARDLINK
- TRIP
- ROUNDTRIP
- FACT
- TRIP_STOP
example: LOCATION
customfield_convert_rule:
description: Правило конвертации пользовательского поля из атрибута.
type: object
additionalProperties: false
readOnly: true
properties:
entity_type:
$ref: '#/components/schemas/customfield_entity_type'
source_attribute_key:
description: Ключ атрибута, значение которого будет записано в указанное
пользовательское поле.
type: string
minLength: 1
maxLength: 100
example: attribute_name
target_customfield:
description: Пользовательское поле.
oneOf:
- $ref: '#/components/schemas/table_customfields_column_type'
- $ref: '#/components/schemas/nullable'
default: null
translations:
$ref: '#/components/schemas/translations'
required:
- entity_type
- source_attribute_key
- target_customfield
customfields_settings:
description: Настройки пользовательских полей.
type: object
additionalProperties: false
readOnly: true
properties:
rules:
description: Список правил конвертации пользовательских полей.
type: array
uniqueItems: true
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/customfield_convert_rule'
required:
- rules
check_result:
description: Результат проверки работоспособности сервиса.
type: object
additionalProperties: false
properties:
health:
description: "Текущий показатель здоровья сервиса. \n * `0.0` означает\
\ неготовность сервиса выполнять задачи. \n * `1.0` означает полную\
\ готовность сервиса для выполнения задач.\n"
type: number
format: double
minimum: 0
maximum: 1
example: 0.999
required:
- health
version_result:
description: Версия сервиса.
type: object
additionalProperties: false
properties:
major:
description: "Версия продукта.\nВ рамках одной версии гарантируется совместимость\
\ общих структур данных между сервисами. \nИзменение версии указывает\
\ на несовместимые с предыдущими версиями продукта (и, соответственно,\
\ всех сервисов) изменения.\n"
type: integer
format: int32
minimum: 1
maximum: 100
example: 7
minor:
description: 'Минорная версия сервиса.
Изменение версии указывает на новую функциональность.
Обновление имеет обратную совместимость в рамках мажорной версии сервиса.
'
type: integer
format: int32
minimum: 0
maximum: 111
example: 15
build:
description: "Версия сборки. \nИзменяется при обновлении документации\
\ и исправлении ошибок.\n"
type: string
minLength: 1
maxLength: 64
example: 3754RC
required:
- major
- minor
- build
file_html:
description: Файл с данными в формате [HTML](https://html.spec.whatwg.org/).
type: string
minLength: 0
maxLength: 2000000000
file_json:
description: Файл с данными в формате [JSON](https://www.json.org/).
type: string
minLength: 0
maxLength: 2000000000
parameters:
folder_key:
name: folder_key
description: Ключ папки, уникальный идентификатор.
in: query
required: false
schema:
$ref: '#/components/schemas/unique_key'
filter:
name: filter
description: Фильтр для поиска по текстовым полям.
in: query
required: false
schema:
description: Фильтр для поиска по текстовым полям.
type: string
minLength: 1
maxLength: 64
example: example text
offset:
name: offset
description: Количество пропущенных сущностей до возвращаемого списка.
in: query
required: false
schema:
description: Количество пропущенных сущностей до возвращаемого списка.
type: integer
format: int32
minimum: 0
maximum: 10000000
default: 0
example: 10
limit:
name: limit
description: Максимальное количество возвращаемых сущностей.
in: query
required: false
schema:
description: Максимальное количество возвращаемых сущностей.
type: integer
format: int32
minimum: 1
maximum: 2001
default: 100
example: 10
filesystem_column:
name: sort_field
description: 'Название колонки в таблице с папками.
'
in: query
required: false
schema:
$ref: '#/components/schemas/filesystem_column_type'
sort_direction:
name: sort_direction
description: Направление сортировки.
in: query
required: false
schema:
description: Направление сортировки.
type: string
enum:
- ASC
- DESC
default: ASC
example: DESC
target_folder_key:
name: target_folder_key
description: Ключ папки, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/unique_key'
crew_key:
name: crew_key
description: Параметр (path) с ключом экипажа.
in: path
required: true
schema:
$ref: '#/components/schemas/crew_key'
table_crew_column:
name: sort_field
description: 'Название колонки в таблице с экипажами.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_crew_column_type'
deal_key:
name: deal_key
description: Ключ, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/unique_key'
file_key:
name: file_key
description: Ключ файла, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/unique_key'
essence_key:
name: essence_key
description: Ключ, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/basic_essence_key'
store_key:
name: store_key
description: Ключ бинарного файла, загруженного в хранилище.
in: query
required: true
schema:
$ref: '#/components/schemas/store_key'
table_wave_column:
name: sort_field
description: 'Название колонки в таблице с волнами.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_wave_column_type'
filter_required:
name: filter
description: Строка для поиска по текстовым полям.
in: query
required: true
schema:
description: Строка для поиска по текстовым полям.
type: string
minLength: 3
maxLength: 128
example: example text
subscription_key:
name: subscription_key
description: Параметр (path) с ключом подписки на изменения данных волн.
in: path
required: true
schema:
$ref: '#/components/schemas/subscription_key'
timezone:
name: timezone
description: Целевая временная зона данных.
in: query
required: false
schema:
$ref: '#/components/schemas/timezone'
table_location_column:
name: sort_field
description: 'Название колонки в таблице с локациями.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_location_column_type'
table_custom_column:
name: sort_customfield
description: 'Название дополнительной колонки в таблице.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_customfields_column_type'
table_performer_column:
name: sort_field
description: 'Название колонки в таблице с исполнителями.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_performer_column_type'
table_transport_column:
name: sort_field
description: 'Название колонки в таблице с транспортом.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_transport_column_type'
table_order_column:
name: sort_field
description: 'Название колонки в таблице с заказами.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_order_column_type'
table_hardlink_column:
name: sort_field
description: 'Название колонки в таблице со связями.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_hardlink_column_type'
table_trip_column:
name: sort_field
description: 'Название колонки в таблице с рейсами.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_trip_column_type'
tracks_type:
name: tracks_type
description: "Тип треков для вывода на карту:\n * `LINE` - соединение точек\
\ остановок по прямой\n * `ROAD` - соединение точек остановок по дорогам\n\
\ * `EXTERNAL` - пользовательские треки\n"
in: path
required: true
schema:
$ref: '#/components/schemas/track_type'
table_trip_stop_column:
name: sort_field
description: 'Название колонки в таблице с остановками рейса.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_trip_stop_column_type'
table_roundtrip_column:
name: sort_field
description: 'Название колонки в таблице с кругорейсами.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_roundtrip_column_type'
table_fact_column:
name: sort_field
description: 'Название колонки в таблице со фактами.
'
in: query
required: false
schema:
$ref: '#/components/schemas/table_fact_column_type'
batch_key:
name: batch_key
description: Параметр с ключом пачки фактов.
in: query
required: false
schema:
$ref: '#/components/schemas/batch_key'
batch_key_required:
name: batch_key
description: Параметр с ключом пачки фактов.
in: query
required: true
schema:
$ref: '#/components/schemas/batch_key'
tracker_key:
name: tracker_key
description: Метка для отслеживания.
in: path
required: true
schema:
$ref: '#/components/schemas/tracker_key'
settings_key:
name: settings_key
description: Ключ пользовательских настроек, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/settings_key'
datetime_from:
name: from
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
начиная с которого (включительно) будет производится выгрузка данных. Если
не указано - возвращаются данные с начала текущего дня.
'
in: query
required: false
schema:
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
начиная с которого (включительно) будет производится выгрузка данных. Если
не указано - возвращаются данные с начала текущего дня.
'
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
datetime_to:
name: to
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
до которого (включительно) будет производится выгрузка данных. Если не указано
- возвращаются данные до текущего времени.
'
in: query
required: false
schema:
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
до которого (включительно) будет производится выгрузка данных. Если не указано
- возвращаются данные до текущего времени.
'
type: string
format: date-time
example: '2026-09-21T18:00:00+03:00'
report_type:
name: report_type
description: Тип отчета.
in: query
required: true
schema:
$ref: '#/components/schemas/report_type'
scenario_key:
name: scenario_key
description: Ключ пользовательского сценария, уникальный идентификатор.
in: path
required: true
schema:
$ref: '#/components/schemas/basic_essence_key'
filename:
name: filename
description: Название файла.
in: path
required: true
schema:
description: Название файла.
type: string
minLength: 6
maxLength: 128
example: file_en.html
responses:
'400':
description: Неверный запрос - входные данные содержат ошибки
content:
application/json:
schema:
$ref: '#/components/schemas/general_400'
'401':
description: Ошибка доступа - неверные реквизиты для авторизации, токен отсутствует
или невалиден
'402':
description: Необходима оплата
content:
application/json:
schema:
$ref: '#/components/schemas/general_402'
'403':
description: Действие запрещено - уровень прав доступа не позволяет совершить
данное действие
content:
application/json:
schema:
$ref: '#/components/schemas/general_403'
'404':
description: Запрашиваемая сущность не найдена
content:
application/json:
schema:
$ref: '#/components/schemas/general_404'
'405':
description: Метод запрещен для данного ресурса, проверьте указанный метод (POST,
GET, ...)
'406':
description: Клиент не способен обработать формат ответа, проверьте заголовки
'415':
description: Неприемлемый формат запроса, проверьте заголовки
'429':
description: Превышено количество запросов
content:
application/json:
schema:
$ref: '#/components/schemas/general_429'
'431':
description: Слишком большие поля заголовка запроса
'500':
description: Внутренняя ошибка сервера
content:
application/json:
schema:
$ref: '#/components/schemas/general_500'
'501':
description: Функциональность не доступна для использования
'502':
description: Неверный шлюз
'503':
description: Сервис не доступен
'504':
description: Шлюз не отвечает
400_with_errors_and_warnings:
description: Неверный запрос - данные содержат ошибки
content:
application/json:
schema:
$ref: '#/components/schemas/universal_400_with_errors_and_warnings'
examples:
Result400:
$ref: '#/components/examples/Result400'
examples:
DataExplorer:
summary: Пример виртуальной файловой системы
value:
folders:
- key: 2bff0b86-2ddc-445c-9d98-f75ca2eec091
parent_key: 65fb88e5-128d-4f3f-9a50-4c2754adcbed
name: My Folder
owner_company_key: veeroute
owner_username: username_1
comment: long text
counters:
folders_count: 0
files_count: 3
counters:
overall:
total: 20
filter:
total: 1
FilterList:
summary: Список фильтров
value:
filters:
- type: STRING_SEARCH
column: ESSENCE_KEY
string_search:
text: key01
strict: false
Result400:
summary: Ошибка в данных
value:
tracedata:
process_code: 11111111-2222-3333-4444-555555555555
request_code: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
username: example_username
company: example_company
env: edge7
pod: aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee
service: UNIVERSAL
operation: run_plan_calculation
time: '2026-09-28T17:13:27.945583194Z'
message: logical error detail
schema_errors: []
logical_errors:
- type: UNIQUE_IDS_VIOLATION
entities:
- entity_key: order_1
entity_type: ORDER
warnings: []
Wave:
summary: Пример волны
value:
key: da4e62b0-86cb-4423-b187-5c1a633ca703
specification:
name: new wave 3000
comment: just run it
folder_key: 2bff0b86-2ddc-445c-9d98-f75ca2eec091
settings:
plan_settings:
trips_settings:
configuration: default
assumptions:
disable_compatibility: false
disable_capacity: false
same_order_time_window: false
expand_shift_time_window: false
penalties:
compatibilities: []
geo_settings:
geo_provider: VRT
toll_roads: true
ferry_crossing: true
traffic_jams: true
flight_distance: false
calculation_settings:
max_calculation_time: PT20M
max_waiting_time: PT30M
result_ttl: PT20M
result_timezone: 0
treat_warnings_as_errors: false
precision: 2
actualize_settings:
current_time: '2026-09-07T22:30:00Z'
max_delay_duration: PT1H
replan_settings:
replan_strategy:
reorder: true
plan_new_orders: true
create_new_trips: true
statistics:
indicators:
- data_statistics_hardlinks
- data_statistics_locations
- data_statistics_orders
- data_statistics_performers
- data_statistics_transports
- data_statistics_trips
- data_statistics_facts
- total_statistics_max_transport_load_capacity_a
- total_statistics_max_transport_load_capacity_b
- total_statistics_max_transport_load_capacity_c
- total_statistics_max_transport_load_mass
- total_statistics_max_transport_load_volume
- total_statistics_cargo_capacity_ratio_capacity_a
- total_statistics_cargo_capacity_ratio_capacity_b
- total_statistics_cargo_capacity_ratio_capacity_c
- total_statistics_cargo_capacity_ratio_mass
- total_statistics_cargo_capacity_ratio_volume
- total_statistics_cost
- total_statistics_measurements_arriving_time
- total_statistics_measurements_departure_time
- total_statistics_measurements_distance
- total_statistics_measurements_driving_time
- total_statistics_measurements_time_window_from
- total_statistics_measurements_time_window_to
- total_statistics_measurements_total_time
- total_statistics_measurements_waiting_time
- total_statistics_measurements_working_time
- total_statistics_orders_count
- total_statistics_performers_count
- total_statistics_plan_orders_count
- quality_hard_time_window_violations_after_count
- quality_hard_time_window_violations_before_count
- quality_soft_time_window_violations_after_count
- quality_soft_time_window_violations_before_count
- total_statistics_reward
- total_statistics_waitlist_orders_count
total_statistics:
profit: 1
cost: 0
reward: 0
measurements:
driving_time: P0D
waiting_time: P0D
break_time: P0D
rest_time: PT0S
working_time: P0D
arriving_time: P0D
departure_time: P0D
total_time: P0D
distance: 0
time_window:
from: '2026-09-15T13:56:07.697Z'
to: '2026-09-15T13:56:07.697Z'
performers_count: 0
trips_count: 0
orders_count: 0
plan_orders_count: 0
waitlist_orders_count: 0
stops_count: 1
locations_count: 1
average_speed: 45.2
round_trips_count: 1
cargo_capacity_sum:
mass: 1.9
volume: 2
capacity_a: 3
capacity_b: 1
capacity_c: 1
cargo_capacity_ratio:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
locations_limits_penalty: 0
soft_time_window_violations:
before:
demand_keys: []
count: 0
after:
demand_keys: []
count: 0
hard_time_window_violations:
before:
demand_keys: []
count: 0
after:
demand_keys: []
count: 0
task_statistics:
planning_horizon:
from: '2026-09-21T09:30:00+03:00'
to: '2026-09-21T19:45:00Z'
data_statistics:
locations: 958
orders: 1000
performers: 1000
transports: 1000
hardlinks: 0
trips: 0
facts: 1
external_routing: false
status: ACTIVE
edit_date: '2026-09-15T13:56:07.728Z'
creation_date: '2026-09-15T13:56:07.728Z'
TableWaveList:
summary: Список волн (таблица)
value:
essences:
- fields:
essence_key: wave1
specification_folder_key: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
counters:
overall:
total: 1
filter:
total: 1
ExperimentSettings:
summary: Настройки эксперимента
value:
plan_settings:
trips_settings:
configuration: default
assumptions:
disable_compatibility: false
disable_capacity: false
same_order_time_window: false
expand_shift_time_window: false
penalties:
compatibilities: []
geo_settings:
geo_provider: VRT
toll_roads: true
ferry_crossing: true
traffic_jams: true
flight_distance: false
calculation_settings:
max_calculation_time: PT20M
max_waiting_time: PT30M
result_ttl: PT20M
result_timezone: 0
treat_warnings_as_errors: false
precision: 2
actualize_settings:
current_time: '2026-09-07T22:30:00Z'
max_delay_duration: PT1H
replan_settings:
replan_strategy:
reorder: true
plan_new_orders: true
create_new_trips: true
UniversalData:
summary: Данные
value:
locations:
- key: location_client_1
geopoint:
latitude: 55.713699
longitude: 37.621839
- key: location_client_2
geopoint:
latitude: 55.630721
longitude: 37.62493
- key: location_client_3
geopoint:
latitude: 55.722801
longitude: 37.674984
- key: location_storage
geopoint:
latitude: 55.685853
longitude: 37.43181
orders:
- key: order_1
demands:
- key: demand_1_drop
demand_type: DROP
target_cargos:
- order_1_cargos
possible_events:
- key: demand_1_drop_event
location_key: location_client_1
duration: PT10M
hard_time_window:
from: '2026-09-08T05:00:00+00:00'
to: '2026-09-08T07:00:00+00:00'
- key: demand_1_pickup
demand_type: PICKUP
target_cargos:
- order_1_cargos
possible_events:
- key: demand_1_pickup_event
location_key: location_storage
duration: P0D
reward: 0
hard_time_window:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
cargos:
- key: order_1_cargos
capacity:
mass: 1
- key: order_2
demands:
- key: demand_2_drop
demand_type: DROP
target_cargos:
- order_2_cargos
possible_events:
- key: demand_2_drop_event
location_key: location_client_2
duration: PT10M
hard_time_window:
from: '2026-09-08T05:00:00+00:00'
to: '2026-09-08T07:00:00+00:00'
- key: demand_2_pickup
demand_type: PICKUP
target_cargos:
- order_2_cargos
possible_events:
- key: demand_2_pickup_event
location_key: location_storage
duration: P0D
reward: 0
hard_time_window:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
cargos:
- key: order_2_cargos
capacity:
mass: 1
- key: order_3
demands:
- key: demand_3_work
demand_type: WORK
possible_events:
- key: demand_3_work_event
location_key: location_client_3
duration: PT15M
hard_time_window:
from: '2026-09-08T05:00:00+00:00'
to: '2026-09-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
working_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
tariff:
cost_per_shift: 1000
constraints:
- stage_length: PT10H
cost_per_unit: 1
transports:
- key: transport_1
shifts:
- key: transport_1_shift
availability_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
tariff:
cost_per_shift: 1000
constraints:
- stage_length: 1000000
cost_per_unit: 0.01
transport_type: CAR
boxes:
- key: box_1
capacity:
mass: 300
trips:
- key: performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2026-09-08T04:38:34Z'
to: '2026-09-08T05:53:39Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2026-09-08T04:38:34Z'
to: '2026-09-08T05:53:39Z'
states:
- time: '2026-09-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2026-09-08T04:38:34Z'
flags:
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
order_key: order_2
demand_key: demand_2_pickup
event_key: demand_2_pickup_event
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2026-09-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T04:38:34Z'
flags:
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
order_key: order_1
demand_key: demand_1_pickup
event_key: demand_1_pickup_event
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T04:38:34Z'
flags:
- RELOCATING
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
order_key: order_2
demand_key: demand_2_drop
event_key: demand_2_drop_event
location_key: location_client_2
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- RELOCATING
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:20:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:20:52Z'
flags:
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
order_key: order_1
demand_key: demand_1_drop
event_key: demand_1_drop_event
location_key: location_client_1
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
attributes: []
- time: '2026-09-08T05:30:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2026-09-08T05:30:52Z'
flags:
- RELOCATING
cargo_actions: []
attributes: []
- time: '2026-09-08T05:38:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2026-09-08T05:38:39Z'
flags:
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
order_key: order_3
demand_key: demand_3_work
event_key: demand_3_work_event
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2026-09-08T05:53:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
waitlist: []
attributes: []
RawLocation:
summary: Пример локации
value:
key: performer_1_location
geopoint:
latitude: 55.720292
longitude: 37.625994
WebLocation:
summary: Web location
value:
location:
key: performer_1_location
geopoint:
latitude: 55.720292
longitude: 37.625994
fields:
essence_key: performer_1_location
enabled: true
EmptyTableList:
summary: Пустой табличный список
value:
essences: []
counters:
overall:
total: 0
filter:
total: 0
EssenceKeyList:
summary: Список ключей
value:
- essence_key_1
- essence_key_99
RawPerformer:
summary: Пример исполнителя
value:
key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
working_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
WebPerformer:
summary: Web performer
value:
performer:
key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
working_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
fields:
essence_key: performer_1
enabled: true
RawTransport:
summary: Пример транспорта
value:
key: transport_1
shifts:
- key: transport_1_shift
availability_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
transport_type: CAR
boxes:
- key: box_1
capacity:
mass: 300
WebTransport:
summary: Web transport
value:
transport:
key: transport_1
shifts:
- key: transport_1_shift
availability_time:
from: '2026-09-07T21:00:00+00:00'
to: '2026-09-08T20:59:59+00:00'
transport_type: CAR
boxes:
- key: box_1
capacity:
mass: 300
fields:
essence_key: transport_1
enabled: true
RawOrder:
summary: Пример заказа
value:
key: order_1
demands:
- key: demand_work
demand_type: WORK
possible_events:
- key: demand_work_event
location_key: location_client
duration: PT15M
hard_time_window:
from: '2026-09-08T05:00:00+00:00'
to: '2026-09-08T07:00:00+00:00'
WebOrder:
summary: Web order
value:
order:
key: order_1
demands:
- key: demand_work
demand_type: WORK
possible_events:
- key: demand_work_event
location_key: location_client
duration: PT15M
hard_time_window:
from: '2026-09-08T05:00:00+00:00'
to: '2026-09-08T07:00:00+00:00'
fields:
essence_key: order_1
enabled: true
OrderCargoInvoiceList:
summary: Список накладных грузов
value:
- order_key: order_1
cargo_key: order_1_cargo_1
invoice:
invoice_details:
- key: product-a1
full_name: Mango, 1 kg
unit_name: Mango
unit_price: 500
unit_quantity: 2
tax: VAT_20
honest_sign:
label: null
marking_required: false
payable: true
prepayment: 1000
- order_key: order_2
cargo_key: order_2_cargo_1
invoice:
invoice_details: []
payable: false
EmptyList:
summary: Пустой список
value: []
RawHardlink:
summary: Пример назначения
value:
key: hardlink_1
links:
- type: PERFORMER_SHIFT
entity_key: perf_1
- type: TRANSPORT_SHIFT
entity_key: transp_1
WebHardlink:
summary: Web hardlink
value:
hardlink:
key: hardlink_1
links:
- type: PERFORMER_SHIFT
entity_key: perf_1
- type: TRANSPORT_SHIFT
entity_key: transp_1
fields:
essence_key: hardlink_1
enabled: true
RawTrip:
summary: Пример рейса
value:
key: trip_1
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T05:53:49Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T05:53:49Z'
states:
- time: '2026-09-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_1
demand_key: demand_1_pickup
event_key: demand_1_pickup_event
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_2
demand_key: demand_2_pickup
event_key: demand_2_pickup_event
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- DEPARTURE
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- RELOCATING
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- ARRIVAL
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_2
demand_key: demand_2_drop
event_key: demand_2_drop_event
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: REMOVE
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- DEPARTURE
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- RELOCATING
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2026-09-08T05:20:56Z'
flags:
- ARRIVAL
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2026-09-08T05:20:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2026-09-08T05:20:56Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_1
demand_key: demand_1_drop
event_key: demand_1_drop_event
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2026-09-08T05:30:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: REMOVE
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2026-09-08T05:30:56Z'
flags:
- DEPARTURE
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2026-09-08T05:30:56Z'
flags:
- RELOCATING
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2026-09-08T05:38:49Z'
flags:
- ARRIVAL
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 5895.37
reward: 2000.2
attributes: []
- time: '2026-09-08T05:38:49Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 5895.37
reward: 2000.2
attributes: []
- time: '2026-09-08T05:38:49Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_3
demand_key: demand_3_work
event_key: demand_3_work_event
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 5895.37
reward: 2000.2
attributes: []
- time: '2026-09-08T05:53:49Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 6795.37
reward: 3000.3
attributes: []
name: 1-HVFB
waitlist: []
attributes: []
WebTrip:
summary: Web trip
value:
trip:
key: trip_1
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T05:53:49Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T05:53:49Z'
states:
- time: '2026-09-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_1
demand_key: demand_1_pickup
event_key: demand_1_pickup_event
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: ADD
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_2
demand_key: demand_2_pickup
event_key: demand_2_pickup_event
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- DEPARTURE
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T04:39:34Z'
flags:
- RELOCATING
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- ARRIVAL
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2026-09-08T05:00:00Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_2
demand_key: demand_2_drop
event_key: demand_2_drop_event
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: REMOVE
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- DEPARTURE
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2026-09-08T05:10:00Z'
flags:
- RELOCATING
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2026-09-08T05:20:56Z'
flags:
- ARRIVAL
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2026-09-08T05:20:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2026-09-08T05:20:56Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_1
demand_key: demand_1_drop
event_key: demand_1_drop_event
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2026-09-08T05:30:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions:
- box_key: box_1
cargo_key: order_1_cargos
cargo_action_type: REMOVE
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2026-09-08T05:30:56Z'
flags:
- DEPARTURE
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2026-09-08T05:30:56Z'
flags:
- RELOCATING
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2026-09-08T05:38:49Z'
flags:
- ARRIVAL
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 5895.37
reward: 2000.2
attributes: []
- time: '2026-09-08T05:38:49Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 5895.37
reward: 2000.2
attributes: []
- time: '2026-09-08T05:38:49Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- AROUND_LOCATION
order_key: order_3
demand_key: demand_3_work
event_key: demand_3_work_event
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 5895.37
reward: 2000.2
attributes: []
- time: '2026-09-08T05:53:49Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34037
cost: 6795.37
reward: 3000.3
attributes: []
name: 1-HVFB
waitlist: []
attributes: []
trip_statistics:
trip_key: trip_1
general_statistics:
cost: 6795.37
reward: 3000.3
profit: -3795.07
measurements:
time_window:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T05:53:49Z'
driving_time: PT39M15S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H14M15S
distance: 34037
trips_count: 1
performers_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
stops_count: 4
locations_count: 4
cargo_capacity_sum:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
cargo_capacity_ratio:
mass: 0.007
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.007
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
average_speed: 0
round_trips_count: 1
load_statistics:
total_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transfer_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
stop_statistics:
- location_key: location_storage
stop_demands:
- demand_key: demand_1_pickup
event_key: demand_1_pickup_event
demand_time_window:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T04:39:34Z'
- demand_key: demand_2_pickup
event_key: demand_2_pickup_event
demand_time_window:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T04:39:34Z'
stop_time_window:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T04:39:34Z'
measurements:
time_window:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T04:39:34Z'
driving_time: PT0S
waiting_time: PT0S
working_time: PT0S
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
upload:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
download:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
arrival_load:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
departure_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_2
stop_demands:
- demand_key: demand_2_drop
event_key: demand_2_drop_event
demand_time_window:
from: '2026-09-08T05:00:00Z'
to: '2026-09-08T05:10:00Z'
stop_time_window:
from: '2026-09-08T05:00:00Z'
to: '2026-09-08T05:10:00Z'
measurements:
time_window:
from: '2026-09-08T04:39:34Z'
to: '2026-09-08T05:10:00Z'
driving_time: PT20M26S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT30M26S
distance: 17110
upload:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
download:
count: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
arrival_load:
count: 2
capacity:
mass: 2
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
departure_load:
count: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_1
stop_demands:
- demand_key: demand_1_drop
event_key: demand_1_drop_event
demand_time_window:
from: '2026-09-08T05:20:56Z'
to: '2026-09-08T05:30:56Z'
stop_time_window:
from: '2026-09-08T05:20:56Z'
to: '2026-09-08T05:30:56Z'
measurements:
time_window:
from: '2026-09-08T05:10:00Z'
to: '2026-09-08T05:30:56Z'
driving_time: PT10M56S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT20M56S
distance: 9897
upload:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
download:
count: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_load:
count: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
arrival_load:
count: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
departure_load:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_3
stop_demands:
- demand_key: demand_3_work
event_key: demand_3_work_event
demand_time_window:
from: '2026-09-08T05:38:49Z'
to: '2026-09-08T05:53:49Z'
stop_time_window:
from: '2026-09-08T05:38:49Z'
to: '2026-09-08T05:53:49Z'
measurements:
time_window:
from: '2026-09-08T05:30:56Z'
to: '2026-09-08T05:53:49Z'
driving_time: PT7M53S
waiting_time: PT0S
working_time: PT15M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT22M53S
distance: 7030
upload:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
download:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_load:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
arrival_load:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
departure_load:
count: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
fields:
essence_key: trip_1
enabled: true
EmptyChartList:
summary: Пустой список графиков
value:
charts: []
counters:
overall:
total: 0
filter:
total: 0
TrackList:
summary: Треки для карты
value:
tracks:
- geotrack:
- latitude: 55.692789
longitude: 37.554554
time: '2026-09-21T09:30:00+03:00'
- latitude: 55.692788
longitude: 37.55467
time: '2026-09-21T09:35:00+03:00'
trip_key: trip_01
performer_key: performer_01
performer_shift_key: performer_shift_01
transport_key: transport_01
transport_shift_key: transport_shift_01
trip_name: X1-ABC
counters:
overall:
total: 1
filter:
total: 1
TrackListCustom:
summary: Пользовательские треки для загрузки
value:
tracks:
- geotrack:
- latitude: 55.692789
longitude: 37.554554
time: '2026-09-21T09:30:00+03:00'
- latitude: 55.692788
longitude: 37.55467
time: '2026-09-21T09:35:00+03:00'
trip_key: trip_01
performer_key: performer_01
performer_shift_key: performer_shift_01
transport_key: transport_01
transport_shift_key: transport_shift_01
trip_name: X1-ABC
RawFact:
summary: Факт обновления местонахождения
value:
key: fact_01
type: GEOTRACK_UPDATED
time: '2026-09-07T22:00:00Z'
trip_key: trip_for_performer_1
performer_key: performer_1
location_key: performer_1_current_location
WebFact:
summary: Web fact
value:
fact:
key: fact_01
type: GEOTRACK_UPDATED
time: '2026-09-07T22:00:00Z'
trip_key: trip_for_performer_1
performer_key: performer_1
location_key: performer_1_current_location
fields:
essence_key: fact_01
enabled: true
AnalyticsOverview:
summary: Аналитика за период
value:
charts:
- type: ORDERS_COUNT_TOTAL
metrics:
- wave_key: 11111111-1111-1111-1111-111111111111
wave_name: Wave 1
elements:
- time: '2026-09-03T08:00:00+03:00'
value: 200
type: HISTORY
- time: '2026-09-03T08:15:00+03:00'
value: 210
type: HISTORY
- time: '2026-09-03T08:30:00+03:00'
value: 220
type: HISTORY
- time: '2026-09-03T08:45:00+03:00'
value: 230
type: HISTORY
- time: '2026-09-03T09:00:00+03:00'
value: 240
type: HISTORY
- time: '2026-09-03T14:00:00+03:00'
value: 300
type: FORECAST
- time: '2026-09-03T14:15:00+03:00'
value: 310
type: FORECAST
- time: '2026-09-03T14:30:00+03:00'
value: 320
type: FORECAST
- time: '2026-09-03T14:45:00+03:00'
value: 330
type: FORECAST
- time: '2026-09-03T15:00:00+03:00'
value: 340
type: FORECAST
- wave_key: 22222222-2222-2222-2222-222222222222
wave_name: Wave 2
elements:
- time: '2026-09-03T08:00:00+03:00'
value: 200
type: HISTORY
- time: '2026-09-03T08:15:00+03:00'
value: 210
type: HISTORY
- time: '2026-09-03T08:30:00+03:00'
value: 220
type: HISTORY
- time: '2026-09-03T08:45:00+03:00'
value: 230
type: HISTORY
- time: '2026-09-03T09:00:00+03:00'
value: 240
type: HISTORY
- time: '2026-09-03T14:00:00+03:00'
value: 300
type: FORECAST
- time: '2026-09-03T14:15:00+03:00'
value: 310
type: FORECAST
- time: '2026-09-03T14:30:00+03:00'
value: 320
type: FORECAST
- time: '2026-09-03T14:45:00+03:00'
value: 330
type: FORECAST
- time: '2026-09-03T15:00:00+03:00'
value: 340
type: FORECAST
- wave_key: 33333333-3333-3333-3333-333333333333
wave_name: Wave 3
elements:
- time: '2026-09-03T08:00:00+03:00'
value: 200
type: HISTORY
- time: '2026-09-03T08:15:00+03:00'
value: 210
type: HISTORY
- time: '2026-09-03T08:30:00+03:00'
value: 220
type: HISTORY
- time: '2026-09-03T08:45:00+03:00'
value: 230
type: HISTORY
- time: '2026-09-03T09:00:00+03:00'
value: 240
type: HISTORY
- time: '2026-09-03T14:00:00+03:00'
value: 300
type: FORECAST
- time: '2026-09-03T14:15:00+03:00'
value: 310
type: FORECAST
- time: '2026-09-03T14:30:00+03:00'
value: 320
type: FORECAST
- time: '2026-09-03T14:45:00+03:00'
value: 330
type: FORECAST
- time: '2026-09-03T15:00:00+03:00'
value: 340
type: FORECAST
- type: ORDERS_COUNT_DELIVERED
metrics:
- wave_key: 11111111-1111-1111-1111-111111111111
wave_name: Wave 1
elements:
- time: '2026-09-03T08:00:00+03:00'
value: 200
type: HISTORY
- time: '2026-09-03T08:15:00+03:00'
value: 210
type: HISTORY
- time: '2026-09-03T08:30:00+03:00'
value: 220
type: HISTORY
- time: '2026-09-03T08:45:00+03:00'
value: 230
type: HISTORY
- time: '2026-09-03T09:00:00+03:00'
value: 240
type: HISTORY
- time: '2026-09-03T14:00:00+03:00'
value: 300
type: FORECAST
- time: '2026-09-03T14:15:00+03:00'
value: 310
type: FORECAST
- time: '2026-09-03T14:30:00+03:00'
value: 320
type: FORECAST
- time: '2026-09-03T14:45:00+03:00'
value: 330
type: FORECAST
- time: '2026-09-03T15:00:00+03:00'
value: 340
type: FORECAST
- wave_key: 22222222-2222-2222-2222-222222222222
wave_name: Wave 2
elements:
- time: '2026-09-03T08:00:00+03:00'
value: 200
type: HISTORY
- time: '2026-09-03T08:15:00+03:00'
value: 210
type: HISTORY
- time: '2026-09-03T08:30:00+03:00'
value: 220
type: HISTORY
- time: '2026-09-03T08:45:00+03:00'
value: 230
type: HISTORY
- time: '2026-09-03T09:00:00+03:00'
value: 240
type: HISTORY
- time: '2026-09-03T14:00:00+03:00'
value: 300
type: FORECAST
- time: '2026-09-03T14:15:00+03:00'
value: 310
type: FORECAST
- time: '2026-09-03T14:30:00+03:00'
value: 320
type: FORECAST
- time: '2026-09-03T14:45:00+03:00'
value: 330
type: FORECAST
- time: '2026-09-03T15:00:00+03:00'
value: 340
type: FORECAST
- wave_key: 33333333-3333-3333-3333-333333333333
wave_name: Wave 3
elements:
- time: '2026-09-03T08:00:00+03:00'
value: 200
type: HISTORY
- time: '2026-09-03T08:15:00+03:00'
value: 210
type: HISTORY
- time: '2026-09-03T08:30:00+03:00'
value: 220
type: HISTORY
- time: '2026-09-03T08:45:00+03:00'
value: 230
type: HISTORY
- time: '2026-09-03T09:00:00+03:00'
value: 240
type: HISTORY
- time: '2026-09-03T14:00:00+03:00'
value: 300
type: FORECAST
- time: '2026-09-03T14:15:00+03:00'
value: 310
type: FORECAST
- time: '2026-09-03T14:30:00+03:00'
value: 320
type: FORECAST
- time: '2026-09-03T14:45:00+03:00'
value: 330
type: FORECAST
- time: '2026-09-03T15:00:00+03:00'
value: 340
type: FORECAST
ScenarioSimple:
summary: Простой сценарий
value:
key: scenario_simple
jobs:
- key: stage-call
translations:
ru: Позвонить клиенту
en: Make call
group_key: group-call
depends_on:
- key01
- key: stage-docs
translations:
ru: Подписать документы
en: Make docs
group_key: group-docs
depends_on:
- stage-call
ScenarioComplex:
summary: Сложный сценарий
value:
key: scenario_complex
jobs:
- key: stage-call-before
translations:
ru: Предупредить клиента о прибытии
en: Notify the client about arrival
group_key: group-prepare
depends_on:
- key01
- key: stage-arrive
translations:
ru: Прибыть на адрес и отметить начало работы
en: Arrive at the address and mark the start of work
group_key: group-prepare
depends_on:
- stage-call-before
- key: stage-verify-id
translations:
ru: Проверить документ, удостоверяющий личность
en: Verify the identity document
group_key: group-verify
depends_on:
- stage-arrive
- key: stage-scan-qr
translations:
ru: Сканировать QR-код заявки
en: Scan the order QR code
group_key: group-verify
depends_on:
- stage-arrive
- key: stage-show-cargo
translations:
ru: Продемонстрировать груз клиенту
en: Show the cargo to the client
group_key: group-cargo
depends_on:
- stage-verify-id
- stage-scan-qr
- key: stage-unload
translations:
ru: Выгрузить груз
en: Unload the cargo
group_key: group-cargo
depends_on:
- stage-show-cargo
- key: stage-photo-cargo
translations:
ru: Сделать фотографию выгруженного груза
en: Take a photo of the unloaded cargo
group_key: group-cargo
depends_on:
- stage-unload
- key: stage-payment
translations:
ru: Принять оплату
en: Accept payment
group_key: group-payment
depends_on:
- stage-unload
- key: stage-docs
translations:
ru: Подписать сопроводительные документы
en: Sign the accompanying documents
group_key: group-docs
depends_on:
- stage-payment
- stage-photo-cargo
- key: stage-photo-docs
translations:
ru: Сфотографировать подписанные документы
en: Photograph the signed documents
group_key: group-docs
depends_on:
- stage-docs
- key: stage-feedback
translations:
ru: Запросить оценку обслуживания у клиента
en: Ask the client to rate the service
group_key: group-finalize
depends_on:
- stage-photo-docs
- key: stage-call-after
translations:
ru: Сообщить диспетчеру о завершении
en: Notify the dispatcher about completion
group_key: group-finalize
depends_on:
- stage-feedback
Customfields:
summary: Пользовательские поля
value:
rules:
- entity_type: LOCATION
source_attribute_key: max_trailer_weight
target_customfield: INT_1
translations:
ru: Максимальная масса прицепа (кг)
en: Maximum trailer weight (kg)
- entity_type: LOCATION
source_attribute_key: trailer_name
target_customfield: STRING_1
translations:
ru: Название стоянки прицепов
en: Trailer name
- entity_type: LOCATION
source_attribute_key: trailer_duration
target_customfield: DURATION_1
translations:
ru: Время расцепки прицепов
en: Trailer action duration
- entity_type: LOCATION
source_attribute_key: trailer_creation_date
target_customfield: DATETIME_1
translations:
ru: Дата основания
en: Creation Date
- entity_type: LOCATION
source_attribute_key: trailer_cost
target_customfield: FLOAT_1
translations:
ru: Стоимость хранения
en: Storage Cost
- entity_type: LOCATION
source_attribute_key: trailer_state
target_customfield: BOOL_1
translations:
ru: Наличие парковки для прицепа
en: Availability of trailer parking
x-tagGroups:
- name: Filesystem
tags:
- Explorer
- Backups
- name: Resources
tags:
- Crews
- Deals
- Store
- name: Datasets
tags:
- Waves
- Locations
- Orders
- Performers
- Transports
- Hardlinks
- Trips
- Facts
- name: Operational control
tags:
- Autopilot
- Tracker
- Analytics
- Reports
- name: Customization
tags:
- User
- CustomFields
- CustomIcons
- Scenarios
- name: Maintenance
tags:
- System