> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/ru/iot-query/schema-overview/bronze-layer/raw-business-data.md).

# схема raw\_business\_data

raw\_business\_data содержит более 40 таблиц, охватывающих пользователей, объекты, транспорт, задания и геозоны. Просмотрите определение схемы и описания основных таблиц для SQL-анализа

Эта схема содержит более 40 тщательно отобранных таблиц, охватывающих различные бизнес-аспекты и сценарии использования. Эти таблицы представляют ваши ключевые бизнес-сущности, организационную структуру и операционные данные.

{% hint style="info" %}
Интерактивная диаграмма схемы raw\_business\_data доступна на **dbdiagram.io**: <https://dbdiagram.io/d/V3-bronze-layer-68ecfd1c2e68d21b4131089a>
{% endhint %}

Ниже приведены сведения о схеме сырых бизнес-данных.

{% code title="схема raw\_business\_data" expandable="true" %}

```sql
Table "vehicle_service_tasks" {
  "record_added_at" timestamp [not null]
  "start_mileage" числовое
  "comment" "character varying(255)"
  "status" "character varying(10)" [not null]
  "completion_date" метка времени
  "start_engine_hours" числовой
  "service_task_id" integer [not null]
  "is_notification_push_enabled" булево значение [не null]
  "date_notification_interval" интервал
  "predicted_datetime" метка времени
  "cost" numeric [not null]
  "mileage_limit" числовой
  "notification_emails" текст
  "is_unplanned" boolean [not null]
  "is_repeat" boolean [not null]
  "completion_engine_hours" integer
  "engine_hours_limit" числовое
  "Прбег_repeat_interval" целое число
  "vehicle_id" integer [not null]
  "engine_hours_notification_interval" integer
  "start_date" timestamp
  "mileage_notification_interval" целое число
  "date_repeat_interval" интервал
  "description" "character varying(255)"
  "notification_sms_phone_numbers" текст
  "end_date" временная метка
  "engine_hours_repeat_interval" целое число
  "completion_mileage" целое число
}

Таблица "Гаражи" {
  "record_added_at" timestamp [not null]
  "garage_id" integer [not null]
  "longitude" числовой
  "mechanic_name" "character varying(255)"
  "radius" integer [not null]
  "latitude" числовой
  "organization_label" "character varying(255)"
  "user_id" integer [not null]
  "dispatcher_name" "character varying(255)"
  "address" "character varying(255)"
}

Таблица "driver_history" {
  "server_datetime" timestamp [not null]
  "address" "character varying(255)"
  "updated_by" integer [not null]
  "object_id" целое число
  "longitude" числовой
  "latitude" числовой
  "driver_history_id" integer [not null]
  "hardware_key" "character varying(64)"
  "new_employee_id" integer
  "changed_datetime" timestamp
  "record_added_at" timestamp [not null]
  "old_employee_id" integer
}

Таблица "Отделы" {
  "record_added_at" timestamp [not null]
  "department_label" "character varying(255)" [not null]
  "latitude" числовой
  "department_id" integer [not null]
  "address" "character varying(255)"
  "radius" integer [not null]
  "longitude" числовой
  "user_id" integer [not null]
}

Таблица "checkins" {
  "radius" integer [not null]
  "latitude" numeric [not null]
  "employee_id" integer [not null]
  "longitude" numeric [not null]
  "record_added_at" timestamp [not null]
  "actual_datetime" timestamp [not null]
  "user_id" integer [not null]
  "form_id" целое число [не равно null]
  "address" "character varying(255)"
  "planned_datetime" timestamp [not null]
  "object_id" integer [not null]
  "checkin_id" integer [not null]
  "комментарий" текст
}

Table "statuses" {
  "order_sort" integer [not null]
  "listing_id" integer [not null]
  "color" "character varying(6)" [not null]
  "status_id" integer [not null]
  "status_label" "character varying(200)" [not null]
  "record_added_at" timestamp [not null]
  "is_deleted" boolean [not null]
}

Table "places_linked_entity_fields" {
  "value" bigint [not null]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
  "field_id" integer [not null]
}

Таблица "places_text_fields" {
  "place_id" integer [not null]
  "record_added_at" timestamp [not null]
  "value" текст [not null]
  "field_id" integer [not null]
}

Table "users2zones" {
  "zone_id" integer [not null]
  "record_added_at" timestamp [not null]
  "user_id" integer [not null]
}

Table "objects" {
  "record_added_at" timestamp [not null]
  "create_datetime" timestamp [not null]
  "client_id" integer [not null]
  "group_id" целое число
  "object_label" "character varying(100)"
  "model" "character varying(64)"
  "is_clone" boolean [not null]
  "is_deleted" boolean [not null]
  "device_id" integer [not null]
  "object_id" integer [not null]
}

Table "device_output_name" {
  "device_id" integer [not null]
  "record_added_at" timestamp [not null]
  "label" "character varying(100)" [not null]
  "number" integer [not null]
}

Таблица "geofence_points" {
  "longitude" numeric [not null]
  "number" integer [not null]
  "zone_id" integer [not null]
  "record_added_at" timestamp [not null]
  "latitude" numeric [not null]
}

Table "custom_fields" {
  "record_added_at" timestamp [not null]
  "entity_id" integer [not null]
  "is_required" boolean [not null]
  "custom_field_label" text [not null]
  "parameters" jsonb
  "custom_field_type" integer [not null]
  "описание" текст
  "custom_field_id" integer [not null]
}

Таблица "places_decimal_fields" {
  "field_id" integer [not null]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
  "value" numeric [not null]
}

Таблица "task_history" {
  "task_id" целое [не допускает null]
  "activity" integer [not null]
  "task_history_id" целое число [не равно null]
  "record_added_at" timestamp [not null]
  "user_id" integer [not null]
  "event_datetime" timestamp [not null]
  "payload" текст
}

Таблица "теги" {
  "tag_label" "character varying(64)" [not null]
  "color" "character varying(6)"
  "user_id" integer [not null]
  "record_added_at" timestamp [not null]
  "tag_id" целое число [not null]
}

Table "places" {
  "описание" текст
  "custom_fields" jsonb
  "place_id" integer [not null]
  "external_id" "character varying(32)"
  "record_added_at" timestamp [not null]
  "user_id" целое число
  "latitude" числовой
  "radius" целое число
  "place_label" "character varying(256)"
  "assigned_datetime" timestamp
  "address" "character varying(256)"
  "longitude" числовой
}

Table "status_listings" {
  "user_id" integer [not null]
  "is_supervisor_controlled" boolean [not null]
  "is_deleted" boolean [not null]
  "status_listing_id" integer [not null]
  "is_employee_controlled" boolean [not null]
  "record_added_at" timestamp [not null]
  "status_listing_label" "character varying(200)" [not null]
}

Table "models" {
  "record_added_at" timestamp [not null]
  "model_id" integer [not null]
  "has_battery_level" boolean [not null]
  "alternative_label" "character varying(50)" [not null]
  "vendor" "character varying(30)" [not null]
  "is_clone" boolean
  "has_altitude" boolean [not null]
  "has_phone" boolean [not null]
  "type_output_control" "character varying(30)" [not null]
  "has_gsm_roaming" boolean [not null]
  "has_gsm_level" boolean [not null]
  "model" "character varying(255)" [not null]
  "type_special_control" "character varying(255)" [not null]
  "digital_amount" integer [not null]
  "has_detach_button" boolean [not null]
  "has_gsm_name" boolean [not null]
  "analog_amount" integer [not null]
  "outputs_amount" integer [not null]
}

Таблица "vehicle_trackers_history" {
  "vehicle_id" integer [not null]
  "record_added_at" timestamp [not null]
  "object_id" integer [not null]
  "changed_datetime" timestamp [not null]
  "vehicle_tracker_history_id" целое число [не равно null]
}

Table "groups" {
  "group_id" целое число [not null]
  "group_color" "character varying(6)" [not null]
  "group_label" "character varying(255)" [not null]
  "client_id" integer [not null]
  "record_added_at" timestamp [not null]
}

Table "sensor_description" {
  "record_added_at" timestamp [not null]
  "parameters" jsonb
  "input_id" integer [not null]
  "accuracy" numeric [not null]
  "sensor_units" "character varying(10)"
  "multiplier" doubleprecision [not null]
  "input_label" "character varying(64)"
  "sensor_label" "character varying(100)"
  "units_type" integer [not null]
  "divider" doubleprecision [not null]
  "group_id" целое число [not null]
  "sensor_id" integer [not null]
  "device_id" integer [not null]
  "sensor_type" "character varying(45)" [not null]
  "group_type" integer [not null]
  "calibration_data" jsonb
}

Table "entities" {
  "entity_label" jsonb
  "record_added_at" timestamp [not null]
  "entity_id" integer [not null]
  "builtin_type" integer [not null]
  "user_id" integer [not null]
}

Table "zones" {
  "address" "character varying(255)"
  "radius" integer [not null]
  "zone_id" integer [not null]
  "circle_center_latitude" numeric [not null]
  "client_id" integer [not null]
  "zone_label" "character varying(100)"
  "color" "character varying(6)" [not null]
  "zone_type" "character varying(20)" [not null]
  "circle_center_longitude" numeric [not null]
  "latitude" numeric [not null]
  "record_added_at" timestamp [not null]
  "longitude" numeric [not null]
}

Table "vehicles" {
  "vehicle_id" integer [not null]
  "payload_length" числовое
  "vin" "character varying(20)"
  "free_insurance_policy_number" "character varying(50)"
  "vehicle_label" "character varying(100)"
  "payload_width" числовой
  "color" "character varying(6)"
  "trailer" "character varying(255)"
  "object_id" целое число
  "vehicle_status_id" целое число
  "liability_insurance_valid_till" метка времени
  "manufacture_year" целое число
  "fuel_grade" "character varying(16)"
  "fuel_cost" числовой
  "fuel_tank_volume" числовое
  "model" "character varying(100)"
  "garage_id" целое число
  "payload_height" числовой
  "max_speed" numeric
  "registration_number" "character varying(32)"
  "tyre_size" "character varying(50)"
  "passenger_capacity" целое число
  "record_added_at" timestamp [not null]
  "trailer_reg_number" "character varying(32)"
  "free_insurance_valid_till_date" метка времени
  "gross_weight" числовой
  "standard_fuel_consumption" числовой
  "fuel_type" целое число
  "payload_weight" числовой
  "additional_info" текст
  "vehicle_subtype" "character varying(32)"
  "номер_полиса_страхования_ответственности" "изменяемый символ(50)"
  "frame_number" "character varying(32)"
  "user_id" integer [not null]
  "vehicle_type" integer [not null]
  "chassis_number" "character varying(32)"
  "tyres_number" integer
  "wheel_arrangement" "character varying(16)"
}

Таблица "tag_links" {
  "entity_id" integer [not null]
  "record_added_at" timestamp [not null]
  "entity_type" integer [not null]
  "ordinal" integer [not null]
  "tag_id" целое число [not null]
}

Таблица "rules" {
  "rule_id" integer [not null]
  "object_id" integer [not null]
  "parameters" jsonb
  "alert_phone" "character varying(210)" [not null]
  "event_type" "character varying(100)" [not null]
  "client_id" integer [not null]
  "is_push_enabled" boolean [not null]
  "event_comment1" "character varying(255)" [not null]
  "event_label" "character varying(255)" [not null]
  "description" "character varying(255)" [not null]
  "record_added_at" timestamp [not null]
  "alert_sms" текст [not null]
  "event_group" целое [not null]
  "created_at" timestamp [not null]
  "maximum" integer [not null]
  "is_deleted" boolean [not null]
  "alert_email" text [not null]
  "event_comment2" "character varying(255)" [not null]
}

Таблица "status_history" {
  "longitude" числовой
  "new_status_id" integer
  "status_history_id" integer [not null]
  "device_id" integer [not null]
  "updated_by" integer [not null]
  "address" "character varying(255)"
  "latitude" числовой
  "record_added_at" timestamp [not null]
  "server_datetime" timestamp [not null]
  "changed_datetime" timestamp
  "old_status_id" integer
}

Таблица "rules2zones" {
  "zone_id" integer [not null]
  "record_added_at" timestamp [not null]
  "rule_id" integer [not null]
}

Таблица "forms" {
  "object_id" integer [not null]
  "описание" текст
  "form_label" "character varying(255)" [not null]
  "fields" текст
  "created_at" timestamp [not null]
  "submission_address" "character varying(255)"
  "submission_latitude" числовой
  "form_id" целое число [не равно null]
  "submission_longitude" числовое
  "is_submission_in_zone" boolean [not null]
  "values" текст
  "record_added_at" timestamp [not null]
  "task_id" целое число
  метка времени "submitted_at"
}


Таблица "rules2objects" {
  "Объект_params" jsonb
  "param_group_number" целое число [не допускает NULL]
  "object_id" integer [not null]
  "record_added_at" timestamp [not null]
  "rule_id" integer [not null]
}

Таблица "Задания" {
  "time_from" метка времени
  "stay_duration_minutes" интервал
  "external_id" "character varying(100)"
  "object_id" целое число
  "task_type" целое число
  "arrival_duration_minutes" интервал
  "status" целое число
  "arrival_datetime" timestamp
  "record_added_at" timestamp [not null]
  "task_id" целое [не допускает null]
  "user_id" целое число
  "status_change_datetime" метка времени
  "order_sort" integer
  "time_to" метка времени
  "max_delay_minuts" целое число
  "is_stay_control_enabled" булево
  "address" "character varying(255)"
  "task_label" "character varying(200)" [not null]
  "longitude" числовой
  "created_by" целое число
  "description" text [not null]
  "radius" целое число
  "latitude" числовой
  "stay_duration" integer
  "created_at" timestamp [not null]
  "custom_fields" jsonb
  "parent_task_id" целое число
}

Таблица "places_bigint_fields" {
  "field_id" integer [not null]
  "value" bigint [not null]
  "place_id" integer [not null]
  "record_added_at" timestamp [not null]
}

Таблица "devices" {
  "is_sim_blocked" boolean [not null]
  "device_id" integer [not null]
  "device_imei" "character varying(64)" [not null]
  "network_label" "character varying(50)" [not null]
  "status_listing_id" integer [not null]
  "signal_level" numeric [not null]
  "phone" "character varying(32)" [not null]
  "has_roaming" boolean [not null]
  "created_at" timestamp [not null]
  "owner_id" целое число [не допускает значение null]
  "record_added_at" timestamp [not null]
}

Таблица "description_parameters" {
  "description" "character varying(150)"
  "record_added_at" timestamp [not null]
  "type" "character varying(100)" [not null]
  "key" integer [not null]
}

Table "users" {
  "company_label" "character varying(255)" [not null]
  "registration_datetime" timestamp
  "first_name" "character varying(100)" [not null]
  "master_id" integer
  "last_name" "character varying(100)" [not null]
  "birth_date" timestamp
  "timezone_label" "character varying(30)"
  "middle_name" "character varying(100)" [not null]
  "user_id" integer [not null]
  "locale" "character varying(10)" [not null]
  "record_added_at" timestamp [not null]
}

Таблица "counters" {
  "sensor_id" целое число
  "multiplier" numeric [not null]
  "counter_id" integer [not null]
  "device_id" integer [not null]
  "counter_type" integer [not null]
  "record_added_at" timestamp [not null]
}

Table "employees" {
  "driver_license_valid_till" временная метка
  "record_added_at" timestamp [not null]
  "last_name" "character varying(100)"
  "department_id" integer
  "citizen_id_number" "character varying(32)"
  "first_name" "character varying(100)"
  "driver_license_categories" "character varying(32)"
  "user_id" integer [not null]
  "phone_number" "character varying(32)"
  "object_id" целое число
  "is_deleted" boolean [not null]
  "driver_license_issue_date" логическое
  "hardware_key" "character varying(64)"
  "middle_name" "character varying(100)"
  "address" "character varying(255)"
  "latitude" числовой
  "employee_id" integer [not null]
  "personnel_number" "character varying(15)"
  "fuel_cost" doubleprecision
  "driver_license_number" "character varying(32)"
  "email" "character varying(100)"
  "fuel_consumption" doubleprecision
  "radius" integer [not null]
  "longitude" числовой
}

Table "places_longtext_fields" {
  "field_id" integer [not null]
  "value" текст [not null]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
}

Таблица "groups_objects" {
  "groups_client_id" integer
  "objects_client_id" целое число

  Индексы {
    (groups_client_id, objects_client_id) [pk]
  }
}

Table "device_settings" {
  "device_id" integer [not null]
  "key" "character varying" [not null]
  "value" текст

  Индексы {
    (device_id, key) [pk]
  }
}

Table "event_description" {
  "event_id" integer [not null, pk]
  "описание" текст
}

Ссылка:"employees"."employee_id" < "checkins"."employee_id"

Ref:"objects"."object_id" < "checkins"."object_id"

Ref:"forms"."form_id" < "checkins"."form_id"

Ref:"sensor_description"."sensor_id" < "counters"."sensor_id"

Ссылка:"devices"."device_id" < "counters"."device_id"

Ref:"entities"."entity_id" < "custom_fields"."entity_id"

Ref:"departments"."department_id" < "employees"."department_id"

Ref:"users"."user_id" < "Отделы"."user_id"

Ref:"description_parameters"."key" < "counters"."counter_type"

Ref:"description_parameters"."key" < "custom_fields"."custom_field_type"

Ref:"description_parameters"."key" < "driver_history"."updated_by"

Ref:"description_parameters"."key" < "entities"."builtin_type"

Ref:"description_parameters"."key" < "sensor_description"."units_type"

Ref:"description_parameters"."key" < "status_history"."updated_by"

Ref:"description_parameters"."key" < "Задания"."status"

Ref:"description_parameters"."key" < "tasks"."created_at"

Ref:"description_parameters"."key" < "tasks"."task_type"

Ref:"description_parameters"."key" < "vehicles"."fuel_type"

Ref:"description_parameters"."key" < "task_history"."activity"

Ref:"description_parameters"."key" < "sensor_description"."group_type"

Ref:"devices"."device_id" < "device_output_name"."device_id"

Ref:"status_listings"."status_listing_id" < "devices"."status_listing_id"

Ref:"employees"."employee_id" < "driver_history"."new_employee_id"

Ref:"employees"."employee_id" < "driver_history"."old_employee_id"

Ref:"objects"."object_id" < "driver_history"."object_id"

Ref:"objects"."object_id" < "employees"."object_id"

Ref:"users"."user_id" < "employees"."user_id"

Ref:"users"."user_id" < "entities"."user_id"

Ref:"tasks"."task_id" < "forms"."task_id"

Ref:"objects"."object_id" < "forms"."object_id"

Ref:"objects"."object_id" < "tasks"."object_id"

Ref:"users"."user_id" < "Гаражи"."user_id"

Ссылка:"groups"."client_id" < "groups_objects"."groups_client_id"

Ref:"objects"."client_id" < "groups_objects"."objects_client_id"

Ссылка:"models"."model" < "objects"."model"

Ссылка:"devices"."device_id" < "objects"."device_id"

Ref:"users"."user_id" < "places"."user_id"

Ref:"custom_fields"."custom_field_id" < "places_bigint_fields"."field_id"

Ref:"places"."place_id" < "places_bigint_fields"."place_id"

Ref:"custom_fields"."custom_field_id" < "places_decimal_fields"."field_id"

Ref:"places"."place_id" < "places_decimal_fields"."place_id"

Ref:"custom_fields"."custom_field_id" < "places_linked_entity_fields"."field_id"

Ref:"places"."place_id" < "places_linked_entity_fields"."place_id"

Ref:"custom_fields"."custom_field_id" < "places_longtext_fields"."field_id"

Ref:"places"."place_id" < "places_longtext_fields"."place_id"

Ref:"custom_fields"."custom_field_id" < "places_text_fields"."field_id"

Ref:"places"."place_id" < "places_text_fields"."place_id"

Ref:"rules"."rule_id" < "rules2zones"."rule_id"

Ref:"objects"."object_id" < "rules2objects"."object_id"

Ref:"rules"."rule_id" < "rules2objects"."object_id"

Ref:"zones"."zone_id" < "rules2zones"."zone_id"

Ref:"devices"."device_id" < "sensor_description"."device_id"

Ref:"statuses"."status_id" < "status_history"."new_status_id"

Ссылка:"statuses"."status_id" < "status_history"."old_status_id"

Ref:"devices"."device_id" < "status_history"."device_id"

Ref:"users"."user_id" < "status_listings"."user_id"

Ref:"status_listings"."status_listing_id" < "statuses"."listing_id"

Ref:"tags"."tag_id" < "tag_links"."tag_id"

Ref:"users"."user_id" < "Теги"."user_id"

Ref:"tasks"."task_id" < "task_history"."task_id"

Ref:"users"."user_id" < "task_history"."user_id"

Ref:"tasks"."parent_task_id" < "tasks"."task_id"

Ref:"users"."user_id" < "tasks"."user_id"

Ссылка:"users"."master_id" < "users"."user_id"

Ссылка:"users"."user_id" < "users2zones"."user_id"

Ref:"zones"."zone_id" < "users2zones"."zone_id"

Ref:"vehicles"."vehicle_id" < "vehicle_service_tasks"."vehicle_id"

Ref:"objects"."object_id" < "vehicle_trackers_history"."object_id"

Ref:"Транспорт"."vehicle_id" < "vehicle_trackers_history"."vehicle_id"

Ref:"garages"."garage_id" < "vehicles"."garage_id"

Ref:"objects"."object_id" < "vehicles"."object_id"

Ref:"users"."user_id" < "vehicles"."user_id"

Ref:"zones"."zone_id" < "geofence_points"."zone_id"

Ref:"users"."user_id" < "devices"."owner_id"

Ref:"users"."user_id" < "objects"."client_id"

```

{% endcode %}

## Частота обновления

Данные в этой схеме синхронизируются с core DB. Обновления выполняются инкрементально по мере изменений в исходной базе данных MySQL, обычно в течение менее 5 минут после изменения в источнике.

## `description_parameters`

Система включает справочные данные для стандартизации значений по всей базе данных:

<table><thead><tr><th width="167.1817626953125">Тип справочных данных</th><th width="173.9090576171875">Описание</th><th>Пример значений</th></tr></thead><tbody><tr><td>Определения типов</td><td>Стандартные типы сущностей</td><td><code>vehicle_type: car, truck, bus</code></td></tr><tr><td>Коды статусов</td><td>Значения статусов задания и системы</td><td><code>tasks_status: не назначено, назначено, выполнено</code></td></tr><tr><td>Определения единиц</td><td>Единицы измерения для датчиков</td><td><code>units_type: литр, галлон, Цельсий</code></td></tr><tr><td>Классификации сущностей</td><td>Категории бизнес-сущностей</td><td><code>entities_type: Место, Задание, клиент</code></td></tr></tbody></table>

## Основные таблицы по категориям

Таблицы в **`raw_business_data`** схемы организованы по функциональным категориям для более удобной навигации. В таблице ниже приведены основные таблицы по их бизнес-назначению:

Основные бизнес-сущности

<details>

<summary><strong><code>пользователи</code></strong></summary>

**Описание**: Учетные записи пользователей, содержащие информацию профиля, привязку к компании, настройки локализации (часовой пояс, локаль) и иерархические связи через master\_id для многоуровневых структур учетных записей

<table><thead><tr><th width="145">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>user_id</code> - Уникальный идентификатор пользователя<br>- <code>company_label</code> - Название компании, связанной с пользователем<br>- <code>first_name</code> - Имя пользователя<br>- <code>last_name</code> - Фамилия пользователя<br>- <code>middle_name</code> - Отчество пользователя<br>- <code>locale</code> - Языковые настройки пользователя<br>- <code>timezone_label</code> - Часовой пояс в формате IANA<br>- <code>master_id</code> - ID основного пользователя (если текущий является подчиненным)<br>- <code>registration_datetime</code> - Дата регистрации в системе<br>- <code>birth_date</code> - Дата рождения пользователя</td></tr><tr><td><strong>Связи</strong></td><td>Родительский пользователь через <code>master_id</code>, связанный с <code>сотрудники</code>, <code>отделы</code>, <code>места</code>, <code>задания</code> через <code>user_id</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Центральная сущность, связывающая организационные данные; <code>master_id</code> обеспечивает иерархии пользователей для многоуровневых структур учетных записей</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>сотрудники</code></strong></summary>

**Описание**: Записи сотрудников и водителей, используемые для представления людей, работающих в организации, включая личную информацию, данные водительских удостоверений, назначения в отделы, аппаратные ключи для идентификации с помощью iButton/RFID и данные о местоположении с поддержкой геозонирования

<table><thead><tr><th width="143">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>employee_id</code> - Идентификатор сущности сотрудника<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>department_id</code> - Идентификатор отдела, к которому назначен сотрудник<br>- <code>first_name</code> - атрибут first_name таблицы employees<br>- <code>last_name</code> - Атрибут last_name таблицы employees<br>- <code>middle_name</code> - Атрибут middle_name таблицы employees<br>- <code>номер_водительского_удостоверения</code> - Номер Водительского удостоверения<br>- <code>категории_водительских_прав</code> - категории водительских прав<br>- <code>дата_выдачи_водительского_удостоверения</code> - Дата выдачи Водительского удостоверения<br>- <code>driver_license_valid_till</code> - Дата, до которой действительно Водительское удостоверение<br>- <code>hardware_key</code> - Аппаратный ключ<br>- <code>электронная почта</code> - Электронная почта сотрудника<br>- <code>phone_number</code> - Телефон сотрудника без знака "+"<br>- <code>address</code> - Адрес местоположения<br>- <code>personnel_number</code> - Табельный номер сотрудника/Водитель<br>- <code>citizen_id_number</code> - Номер социального страхования<br>- <code>latitude</code> - Локация, связанная с этим сотрудником<br>- <code>longitude</code> - Локация, связанная с этим сотрудником<br>- <code>radius</code> - Местоположение, связанное с этим сотрудником, в метрах<br>- <code>расход_топлива</code> - Атрибут fuel_consumption таблицы employees<br>- <code>стоимость_топлива</code> - Атрибут fuel_cost таблицы employees<br>- <code>is_deleted</code> - Атрибут is_deleted таблицы employees</td></tr><tr><td><strong>Связи</strong></td><td>Ссылки на <code>пользователи</code>, <code>отделы</code>, <code>объекты</code> (назначенный трекер), отслеживается в <code>driver_history</code> и <code>чекины</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Аппаратный ключ обеспечивает идентификацию водителя через iButton или RFID; поддерживает геозонирование с <code>latitude</code>, <code>longitude</code>, <code>radius</code> поля</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>отделы</code></strong></summary>

**Описание**: Организационные единицы с данными о географическом местоположении (широта, долгота, радиус), обеспечивающие аналитику на основе зон для отчетности на уровне отдела и привязки местоположения сотрудника

<table><thead><tr><th width="156">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>department_id</code> - Идентификатор сущности отдела<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>department_label</code> - Атрибут department_label таблицы Отделы<br>- <code>latitude</code> - Местоположение, связанное с этими Отделами<br>- <code>longitude</code> - Местоположение, связанное с этими Отделами<br>- <code>radius</code> - Размер геозоны в метрах<br>- <code>address</code> - Атрибут address таблицы Отделы</td></tr><tr><td><strong>Связи</strong></td><td>Связывает сотрудников с организационной структурой через <code>department_id</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Поля местоположения поддерживают аналитику на основе Зона для отчетности на уровне подразделений</td></tr></tbody></table>

</details>

Мониторинг и мониторинг

<details>

<summary><strong><code>устройства</code></strong></summary>

**Описание**: Реестр физических устройств для Мониторинг с аппаратными идентификаторами (IMEI), информацией о SIM-карте, статусом сетевого подключения (уровень сигнала, роуминг, оператор) и назначениями в списке статусов для управления жизненным циклом устройства

<table><thead><tr><th width="138">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>device_id</code> - ID устройства<br>- <code>owner_id</code> - ID владельца устройства, в учетную запись которого было добавлено устройство<br>- <code>device_imei</code> - IMEI устройства<br>- <code>телефон</code> - Номер SIM-карты устройства<br>- <code>status_listing_id</code> - Идентификатор статуса работы устройств<br>- <code>network_label</code> - Имя сети, к которой подключена SIM-карта<br>- <code>signal_level</code> - Уровень сигнала устройства<br>- <code>has_roaming</code> - Флаг доступности роуминга<br>- <code>is_sim_blocked</code> - Флаг блокировки SIM-карты<br>- <code>created_at</code> - Дата и время создания записи</td></tr><tr><td><strong>Связи</strong></td><td>Основная сущность, связанная с <code>объекты</code>, <code>модели</code>, <code>sensor_description</code>, <code>счетчики</code>; <code>owner_id</code> Ссылки <code>users.user_id</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Все телематические данные в <code>raw_telematics_data</code> схема ссылается на эту таблицу через <code>device_id</code></td></tr></tbody></table>

</details>

<details>

<summary><strong><code>объекты</code></strong></summary>

**Описание**: Центральный реестр отслеживаемых сущностей (vehicles, assets, персонал), связывающий физические устройства с организационной структурой через client\_id и group\_id, представляющий "trackable unit" с по одному активному объекту на устройство

<table><thead><tr><th width="148">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>client_id</code> - Идентификатор сущности клиента<br>- <code>device_id</code> - Идентификатор сущности устройства<br>- <code>Объект_лейбл</code> - Имя объекта<br>- <code>модель</code> - Модель устройства<br>- <code>group_id</code> - Группа ID сущности<br>- <code>create_datetime</code> - Дата и время создания новой строки на сервере<br>- <code>is_deleted</code> - атрибут is_deleted таблицы objects<br>- <code>is_clone</code> - Признак клона</td></tr><tr><td><strong>Связи</strong></td><td>Центральный узел, соединяющий устройства с пользователями (<code>client_id</code>), сведения о транспортном средстве, история мониторинга, задания и правила</td></tr><tr><td><strong>Особые примечания</strong></td><td>Представляет в системе "trackable unit"; по одному объекту на каждое устройство, находящееся в активном использовании</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>модели</code></strong></summary>

**Описание**: Центральный реестр отслеживаемых сущностей (vehicles, assets, персонал), связывающий физические устройства с организационной структурой через client\_id и group\_id, представляющий "trackable unit" с по одному активному объекту на устройство

<table><thead><tr><th width="135">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>model_id</code> - Идентификатор модели сущности<br>- <code>модель</code> - Атрибут model таблицы models<br>- <code>vendor</code> - Название компании, выпустившей трекер<br>- <code>alternative_label</code> - Атрибут alternative_label таблицы models<br>- <code>analog_amount</code> - Количество аналоговых входов трекера<br>- <code>digital_amount</code> - Количество дискретных входов трекера<br>- <code>outputs_amount</code> - Количество дискретных выходов трекера<br>- <code>has_battery_level</code> - Определяет, передает ли трекер показания заряда батареи<br>- <code>has_altitude</code> - Определяет, передает ли трекер высоту<br>- <code>has_phone</code> - Есть ли SIM-карта?<br>- <code>has_gsm_level</code> - Может ли трекер передавать уровень сигнала GSM?<br>- <code>has_gsm_name</code> - Может ли трекер передавать название сети GSM или код оператора (MCC + MNC)?<br>- <code>has_gsm_roaming</code> - Может ли трекер передавать статус роуминга?<br>- <code>has_detach_button</code> - Есть ли у трекера датчик отсоединения?<br>- <code>type_output_control</code> - Профиль управления выходами трекера<br>- <code>type_special_control</code> - Содержит специализированные настройки и функциональные модули для отдельных моделей устройств, например режим опасного вождения (hbm_telfm) для оборудования Teltonika<br>- <code>is_clone</code> - Является ли модель клоном другой модели?</td></tr><tr><td><strong>Содержимое</strong></td><td>Булевы флаги возможностей указывают, какие поля данных доступны для этого типа устройства</td></tr><tr><td><strong>Особые примечания</strong></td><td>Используйте флаги возможностей, чтобы определить допустимые датчики и входы при запросе телематических данных</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>sensor_description</code></strong></summary>

**Описание**: Полная конфигурация датчиков, связывающая входы устройства с бизнес-логикой, включая сопоставления входов, единицы измерения, коэффициенты преобразования (multiplier/divider), таблицы калибровки для датчиков уровня топлива, пороги точности и логику группировки для агрегированных показаний датчиков

<table><thead><tr><th width="142">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>sensor_id</code> - Идентификатор сущности датчика<br>- <code>device_id</code> - Идентификатор сущности устройства<br>- <code>sensor_label</code> - Имя датчика для UI<br>- <code>input_label</code> - Название поля сообщения (атрибута), из которого берутся данные датчиков. Если оно равно "input_status," это дискретный датчик<br>- <code>sensor_type</code> - Тип датчика<br>- <code>units_type</code> - Единицы измерения<br>- <code>multiplier</code> - Множитель - число, на которое умножается значение поля. Только для измерительных датчиков<br>- <code>divider</code> - Делитель - число, на которое делится значение поля. Только для измерительных датчиков<br>- <code>accuracy</code> - Заданный процент для расчета абсолютной погрешности объема бака. Эта погрешность используется для определения моментов заправки или слива. Это используется только для датчиков уровня топлива<br>- <code>calibration_data</code> - Атрибут calibration_data таблицы sensor_description<br>- <code>input_id</code> - Номер входа для дискретного датчика<br>- <code>group_id</code> - Датчики одного типа с одинаковыми group_id и source_id считаются принадлежащими одной Группа. Их данные суммируются или усредняются в зависимости от значения group_type. Это необходимо для агрегированных датчиков. Используется в измерительных датчиках<br>- <code>тип группы</code> - 0 - суммировать значения датчиков внутри Группа, 1 - среднее<br>- <code>sensor_units</code> - Название единицы, введенное пользователем, если units_type=0 (пользовательский)<br>- <code>параметры</code> - Необязательный объект с дополнительными параметрами parent_ids — необязательный массив parent_ids для составного датчика. volume — double. Необязательный. Объем для составного датчика. parent_ids — необязательный массив int. Массив parent_ids для составного датчика. volume — необязательный. Double. Объем для составного датчика. min — необязательный. Double. Минимально допустимое сырое значение для датчика. max — необязательный. Double. Максимально допустимое сырое значение для датчика. max_lowering_by_time - необязательный. Double. Максимально допустимое снижение за час. max_lowering_by_mileage - необязательный. Double. Максимально допустимое снижение на 100 км. ignore_drains_in_move - необязательный. Boolean. По умолчанию false. Если true, то утечки топлива не будут обнаруживаться во время движения. ignore_refuels_in_move - необязательный. Boolean. По умолчанию false. Если true, то дозаправки не будут обнаруживаться во время движения. refuel_gap_minutes - необязательный. Integer. По умолчанию 5. Время в минутах после начала движения, в течение которого дозаправки будут обнаруживаться во время движения. custom_field_name - необязательный. Boolean. По умолчанию false. Параметр определяет, является ли поле input_name пользовательским значением, введенным пользователем. Это имеет смысл только если у модели трекера есть функция has_custom_fields</td></tr><tr><td><strong>Связи</strong></td><td>Связывает входы устройства (из <code>raw_telematics_data.inputs</code>) к бизнес-логике через <code>device_id</code> и <code>input_label</code> совпадение</td></tr><tr><td><strong>Особые примечания</strong></td><td><code>calibration_data</code> (JSONB) хранит таблицы калибровки, специфичные для датчиков «Уровень топлива»; <code>multiplier</code> и <code>divider</code> преобразовать необработанные значения в единицы</td></tr></tbody></table>

</details>

Управление активами

<details>

<summary><strong><code>Транспорт</code></strong></summary>

**Описание**: Комплексный реестр транспортных средств, содержащий спецификации (размеры, вес, вместимость), документацию (VIN, регистрация, Страховка), эксплуатационные параметры (Норма расхода, объем бака) и текущее назначение Трекера через object\_id для Управление транспортом и Мониторинг соответствия

<table><thead><tr><th width="144">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>vehicle_id</code> - Идентификатор сущности транспортного средства<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>garage_id</code> - Идентификатор сущности гаража<br>- <code>vehicle_label</code> - Атрибут vehicle_label таблицы Транспорт<br>- <code>registration_number</code> - Рег. номер/ Гос. номер автомобиля<br>- <code>VIN</code> - атрибут VIN таблицы Транспорт<br>- <code>manufacture_year</code> - Атрибут manufacture_year таблицы Транспорт<br>- <code>тип топлива</code> - Атрибут fuel_type таблицы Транспорт<br>- <code>стоимость_топлива</code> - Атрибут fuel_cost таблицы vehicles<br>- <code>fuel_tank_volume</code> - Атрибут fuel_tank_volume таблицы Транспорт<br>- <code>max_speed</code> - Атрибут max_speed таблицы Транспорт<br>- <code>модель</code> - Атрибут model таблицы Транспорт<br>- <code>цвет</code> - Атрибут color таблицы Транспорт<br>- <code>прицеп</code> - Атрибут прицепа таблицы Транспорт<br>- <code>additional_info</code> - Атрибут additional_info таблицы Транспорт<br>- <code>vehicle_type</code> - Атрибут vehicle_type таблицы Транспорт<br>- <code>vehicle_subtype</code> - Атрибут vehicle_subtype таблицы Транспорт<br>- <code>vehicle_status_id</code> - Идентификатор сущности статус транспортного средства<br>- <code>chassis_number</code> - атрибут chassis_number таблицы Транспорт<br>- <code>frame_number</code> - Атрибут frame_number таблицы Транспорт<br>- <code>trailer_reg_number</code> - Атрибут trailer_reg_number таблицы Транспорт<br>- <code>payload_weight</code> - Атрибут payload_weight таблицы Транспорт<br>- <code>payload_height</code> - Атрибут payload_height таблицы Транспорт<br>- <code>payload_length</code> - Атрибут payload_length таблицы Транспорт<br>- <code>payload_width</code> - Атрибут payload_width таблицы Транспорт<br>- <code>passenger_capacity</code> - Максимальное количество пассажиров<br>- <code>gross_weight</code> - Атрибут gross_weight таблицы Транспорт<br>- <code>стандартное потребление топлива</code> - Нормальная средняя Норма расхода в литрах на 100 км<br>- <code>марка топлива</code> - Атрибут fuel_grade таблицы vehicles<br>- <code>wheel_arrangement</code> - Атрибут wheel_arrangement таблицы Транспорт<br>- <code>tyre_size</code> - Размер транспортного средства: габариты и размер колес<br>- <code>tyres_number</code> - Количество колес<br>- <code>liability_insurance_policy_number</code> - Атрибут liability_insurance_policy_number таблицы vehicles<br>- <code>liability_insurance_valid_till</code> - Дата, до которой действительна Страховка гражданской ответственности<br>- <code>free_Страховка_номер_полиса</code> - Атрибут free_insurance_policy_number таблицы Транспорт<br>- <code>free_Страховка_valid_till_date</code> - Дата, до которой действует бесплатная Страховка</td></tr><tr><td><strong>Связи</strong></td><td>Ссылки на <code>объекты</code> (текущий трекер), <code>гаражи</code> (место обслуживания), <code>vehicle_service_Задания</code>; отслеживается в <code>vehicle_trackers_history</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Поля физических измерений (<code>payload_length</code>, <code>payload_width</code>, <code>payload_height</code>, <code>gross_weight</code>) поддерживают аналитику планирования загрузки; даты Страховка обеспечивают Мониторинг соответствия</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>гаражи</code></strong></summary>

**Описание**: Места расположения сервисных и Техобслуживание объектов с географическими координатами (широта, долгота, радиус), контактной информацией для механиков и диспетчеров, предназначенные для обнаружения визитов в сервис с использованием Зона и анализа близости

<table><thead><tr><th width="135">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>garage_id</code> - Идентификатор сущности гаража<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>latitude</code> - Объект местоположения<br>- <code>longitude</code> - Объект местоположения<br>- <code>radius</code> - Размер геозоны в метрах<br>- <code>address</code> - Объект местоположения<br>- <code>organization_label</code> - ID Гараж<br>- <code>mechanic_name</code> - Имя механика<br>- <code>dispatcher_name</code> - Имя диспетчера</td></tr><tr><td><strong>Связи</strong></td><td>На него ссылаются <code>Транспорт.garage_id</code> для назначения места обслуживания</td></tr><tr><td><strong>Особые примечания</strong></td><td>Поля местоположения обеспечивают определение посещений сервиса на основе Зоны и анализ близости</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>vehicle_service_Задания</code></strong></summary>

**Описание**: график Техобслуживание и Мониторинг истории обслуживания с несколькими типами триггеров (по дате, по Пробег, по моточасам), повторяющимися интервалами Задание, многоканальными уведомлениями (email, SMS, push) и различием между плановыми (is\_repeat) и внеплановыми событиями Техобслуживание

<table><thead><tr><th width="132">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>service_task_id</code> - Идентификатор сущности задания обслуживания<br>- <code>vehicle_id</code> - Идентификатор сущности транспортного средства<br>- <code>описание</code> - Атрибут description таблицы vehicle_service_tasks<br>- <code>статус</code> - Значение статуса атрибута status<br>- <code>стоимость</code> - Атрибут cost таблицы vehicle_service_tasks<br>- <code>start_date</code> - Дата и время, связанные с атрибутом start_date<br>- <code>end_date</code> - Дата и время, связанные с атрибутом end_date<br>- <code>completion_date</code> - Дата и время, связанные с атрибутом completion_date<br>- <code>predicted_datetime</code> - Дата и время, связанные с атрибутом predicted_datetime<br>- <code>ограничение_пробега</code> - Атрибут mileage_limit таблицы vehicle_service_tasks<br>- <code>engine_hours_limit</code> - Атрибут engine_hours_limit таблицы vehicle_service_tasks<br>- <code>start_Пробег</code> - Атрибут start_mileage таблицы vehicle_service_tasks<br>- <code>start_engine_hours</code> - Атрибут start_engine_hours таблицы vehicle_service_tasks<br>- <code>Пробег_notification_interval</code> - Атрибут mileage_notification_interval таблицы vehicle_service_tasks<br>- <code>engine_hours_notification_interval</code> - атрибут engine_hours_notification_interval таблицы vehicle_service_tasks<br>- <code>date_notification_interval</code> - Преобразование целого числа N в N дней<br>- <code>Пробег_repeat_interval</code> - Атрибут mileage_repeat_interval таблицы vehicle_service_tasks<br>- <code>engine_hours_repeat_interval</code> - атрибут engine_hours_repeat_interval таблицы vehicle_service_tasks<br>- <code>date_repeat_interval</code> - Преобразование целого числа N в N дней<br>- <code>notification_emails</code> - Атрибут `notification_emails` таблицы `vehicle_service_tasks`<br>- <code>notification_sms_phone_numbers</code> - Атрибут notification_sms_phone_numbers таблицы vehicle_service_tasks<br>- <code>is_notification_push_enabled</code> - Атрибут is_notification_push_enabled таблицы vehicle_service_tasks<br>- <code>completion_Пробег</code> - Атрибут completion_mileage таблицы vehicle_service_tasks<br>- <code>completion_engine_hours</code> - Атрибут completion_engine_hours в таблице vehicle_service_tasks<br>- <code>is_repeat</code> - Атрибут is_repeat таблицы vehicle_service_tasks<br>- <code>is_unplanned</code> - Атрибут is_unplanned таблицы vehicle_service_tasks<br>- <code>комментарий</code> - Атрибут комментария таблицы vehicle_service_tasks</td></tr><tr><td><strong>Содержимое</strong></td><td>Поддерживает три типа триггеров: по дате, по пробегу, по моточасам; настройки уведомлений для email, SMS, push</td></tr><tr><td><strong>Особые примечания</strong></td><td><code>is_repeat</code> и поля интервала позволяют создавать повторяющиеся графики Техобслуживание; <code>is_unplanned</code> различает плановое и реактивное Техобслуживание</td></tr></tbody></table>

</details>

Местоположение и маршрутизация

<details>

<summary><strong><code>зоны</code></strong></summary>

**Описание**: Геозоны, определяющие виртуальные периметры с использованием кругов или полигонов для мониторинга событий въезда и выезда транспортного средства/Актив, поддерживающие автоматизацию на основе правил и аналитику местоположения с цветовой кодировкой для визуального различения

<table><thead><tr><th width="150">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>zone_id</code> - Идентификатор сущности зоны<br>- <code>client_id</code> - Идентификатор сущности клиента<br>- <code>zone_label</code> - Атрибут zone_label таблицы zones<br>- <code>zone_type</code> - Атрибут zone_type таблицы zones<br>- <code>latitude</code> - Необязательный объект, ограничивающий прямоугольник, который может полностью содержать возвращаемый результат<br>- <code>longitude</code> - Необязательный объект, ограничивающий прямоугольник, который может полностью содержать возвращаемый результат<br>- <code>circle_center_latitude</code> - Атрибут circle_center_latitude таблицы zones<br>- <code>circle_center_longitude</code> - Атрибут circle_center_longitude таблицы zones<br>- <code>radius</code> - Размер геозоны в метрах<br>- <code>address</code> - Атрибут address таблицы zones<br>- <code>цвет</code> - Атрибут color таблицы zones</td></tr><tr><td><strong>Содержимое</strong></td><td>Типы зон включают круг, полигон (определяется с помощью <code>Зона_points</code>), и специальные классификации зон</td></tr><tr><td><strong>Связи</strong></td><td>На него ссылаются <code>rules2zones</code>, <code>users2zones</code>; вершины полигона, хранящиеся в <code>Зона_points</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Функции PostGIS можно использовать для проверки попадания точки в полигон при сложном анализе геозон</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>места</code></strong></summary>

**Описание**: Точки интереса с географическими координатами, определениями радиуса и поддержкой настраиваемых пользовательских полей для хранения контактной информации клиентов и данных, специфичных для бизнеса, что обеспечивает интеграцию с CRM/ERP через external\_id и отчетность на основе местоположения

<table><thead><tr><th width="129">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>place_id</code> - Идентификатор сущности Место<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>место_лейбл</code> - Атрибут place_label таблицы Места<br>- <code>latitude</code> - Объект местоположения<br>- <code>longitude</code> - Объект местоположения<br>- <code>radius</code> - Размер геозоны в метрах<br>- <code>address</code> - Атрибут address таблицы Места<br>- <code>описание</code> - Атрибут description таблицы Места<br>- <code>external_id</code> - ID для интеграции с внешними системами (CRM)<br>- <code>custom_fields</code> - Дополнительные поля<br>- <code>assigned_datetime</code> - Дата и время назначения точки интереса пользователю</td></tr><tr><td><strong>Связи</strong></td><td>Расширено значениями пользовательских полей через <code>Места_текстовые_поля</code>, <code>places_decimal_fields</code>, <code>places_bigint_fields</code>, <code>Места_longtext_fields</code>, <code>Места_связанных_сущностей_поля</code></td></tr><tr><td><strong>Особые примечания</strong></td><td><code>custom_fields</code> JSONB обеспечивает быстрый доступ; связанные таблицы позволяют фильтровать и сортировать по пользовательским атрибутам</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Зона_points</code></strong></summary>

**Описание**: Упорядоченные координаты вершин (поле number определяет последовательность), задающие границы полигона для сложных геозон, обеспечивающие точные географические границы за пределами простых круговых зон, используются с PostGIS ST\_MakePolygon для геометрических операций

<table><thead><tr><th width="133">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>zone_id</code> - Идентификатор зоны, к которой привязана эта Форма<br>- <code>number</code> - Серийный номер<br>- <code>latitude</code> - Местоположение<br>- <code>longitude</code> - Местоположение</td></tr><tr><td><strong>Связи</strong></td><td>Несколько записей на <code>zone_id</code> определяют границы полигона; <code>number</code> поле определяет порядок вершин</td></tr><tr><td><strong>Особые примечания</strong></td><td>Запрос с <code>ORDER BY number</code> для восстановления контура полигона; используйте вместе с PostGIS ST_MakePolygon для геометрических операций</td></tr></tbody></table>

</details>

Управление заданиями и рабочими процессами

<details>

<summary><strong><code>задания</code></strong></summary>

**Описание**: Назначения работ с проверкой местоположения (latitude, longitude, radius), окнами времени (time\_from, time\_to), требованиями к длительности визита (stay\_duration\_minutes, arrival\_duration\_minutes), иерархической структурой через parent\_task\_id, а также Мониторинг статуса для Управление сотрудниками и операций по доставке

<table><thead><tr><th width="130">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>Задание_id</code> - идентификатор сущности Задание<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>parent_task_id</code> - Идентификатор сущности родительского задания<br>- <code>задание_label</code> - Атрибут task_label таблицы Задания<br>- <code>статус</code> - Значение статуса атрибута status<br>- <code>тип задания</code> - тип задания, задание, маршрут или контрольная точка<br>- <code>latitude</code> - Атрибут широты таблицы Задания<br>- <code>longitude</code> - Атрибут долготы таблицы Задания<br>- <code>radius</code> - Размер геозоны в метрах<br>- <code>arrival_datetime</code> - Когда Трекер прибывает в область Задание. ИГНОРИРУЕТСЯ при создании/обновлении<br>- <code>created_at</code> - Атрибут created_at таблицы Задания<br>- <code>status_change_datetime</code> - Дата и время обновления задания<br>- <code>time_from</code> - Дата и время, связанные с атрибутом time_from<br>- <code>time_to</code> - Дата и время, связанные с атрибутом time_to<br>- <code>stay_duration</code> - Атрибут stay_duration таблицы заданий<br>- <code>stay_duration_minutes</code> - Продолжительность посещения. Время, которое мобильный сотрудник должен провести на месте выполнения задания, чтобы успешно завершить задание. Несколько посещений суммируются<br>- <code>arrival_duration_minutes</code> - Игнорировать случайные посещения короче указанной продолжительности. При расчете минимальной продолжительности посещения короче указанной продолжительности будут игнорироваться<br>- <code>max_delay_minuts</code> - Допустимое опоздание. Максимальное время, на которое сотрудник может опоздать. Любое Задание, выполненное в течение этого времени, будет помечено как "опоздавшее"<br>- <code>is_stay_control_enabled</code> - Атрибут is_stay_control_enabled таблицы Задания<br>- <code>address</code> - Атрибут address таблицы Задания<br>- <code>описание</code> - Атрибут Description таблицы Задания<br>- <code>custom_fields</code> - Атрибут custom_fields таблицы Задания<br>- <code>external_id</code> - Идентификатор внешней сущности<br>- <code>order_sort</code> - Атрибут order_sort таблицы Задания<br>- <code>created_by</code> - Источник созданного задания</td></tr><tr><td><strong>Содержимое</strong></td><td>Поддерживает иерархические задания через <code>parent_task_id</code>; временные окна, определяемые <code>time_from</code>/<code>time_to</code>; проверка Зоны по местоположению и радиусу</td></tr><tr><td><strong>Связи</strong></td><td>Ссылки на <code>формы</code> (сбор данных), <code>Задание_история</code> (изменения статуса), <code>объекты</code> (назначенный Трекер)</td></tr><tr><td><strong>Особые примечания</strong></td><td><code>stay_duration</code> и <code>arrival_duration_minutes</code> включить контроль соблюдения для заданий по доставке и обслуживанию</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>формы</code></strong></summary>

**Описание**: Настраиваемые формы сбора данных для захвата структурированной информации при выполнении Задания или мобильных Отметках в приложении, с полями и значениями, хранящимися в JSON, необязательной проверкой местоположения (is\_submission\_in\_zone) и обязательными требованиями к отправке, когда они прикреплены к Заданиям

<table><thead><tr><th width="141">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>Форма_id</code> - Идентификатор сущности Форма<br>- <code>Задание_id</code> - Идентификатор Задание, к которому прикреплена эта Форма<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>Форма_метка</code> - Пользовательская метка формы<br>- <code>поля</code> - Если true, форма может быть отправлена только в зоне задания<br>- <code>значения</code> - Карта с идентификаторами полей в качестве ключей и объектами field_value в качестве значений. Ключ, используемый для связывания поля и его соответствующего значения<br>- <code>submitted_at</code> - Дата последней отправки значений Форма<br>- <code>submission_latitude</code> - Местоположение, в котором значения Форма были отправлены в последний раз<br>- <code>submission_longitude</code> - Местоположение, в котором значения Форма были отправлены в последний раз<br>- <code>submission_address</code> - Местоположение, в котором значения Форма были отправлены в последний раз<br>- <code>is_submission_in_zone</code> - Если true, форма может быть отправлена только в зоне задания<br>- <code>описание</code> - Дата создания этой Форма (или прикрепления к Задание)<br>- <code>created_at</code> - Дата создания этой Форма (или прикрепления к Задание)</td></tr><tr><td><strong>Содержимое</strong></td><td><code>поля</code> определяет структуру Форма (JSON); <code>значения</code> содержит отправленные данные (JSON)</td></tr><tr><td><strong>Связи</strong></td><td>Ссылки на <code>задания</code> (связанное рабочее задание), <code>объекты</code> (отправитель), упоминается в <code>чекины</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Флаг проверки местоположения <code>is_submission_in_zone</code> включает правила отправки Формы на основе Зоны</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>чекины</code></strong></summary>

**Описание**: Записи посещаемости и активности по местоположению, отправляемые через мобильное приложение, с отслеживанием запланированного и фактического времени прибытия (planned\_datetime vs actual\_datetime) с географическими координатами и измерениями точности местоположения (radius) для отчетности о пунктуальности

<table><thead><tr><th width="129">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>checkin_id</code> - Идентификатор сущности Checkin<br>- <code>employee_id</code> - Идентификатор сущности сотрудника также является идентификатором Водители<br>- <code>object_id</code> - Устройство сотрудника<br>- <code>Форма_id</code> - Идентификатор сущности Форма<br>- <code>user_id</code> - Пользователь сотрудника<br>- <code>planned_datetime</code> - Время устройства на момент выполнения Отметки<br>- <code>actual_datetime</code> - Время сервера на момент обработки запроса/сообщения<br>- <code>latitude</code> - Местоположение, в котором были отправлены отметки<br>- <code>longitude</code> - Местоположение, в котором были отправлены отметки<br>- <code>radius</code> - Погрешность позиционирования в точке в метрах<br>- <code>address</code> - Адрес отметки<br>- <code>комментарий</code> - Атрибут comment таблицы checkins</td></tr><tr><td><strong>Связи</strong></td><td>Связывает сотрудников с формами и местоположениями; отслеживает отклонение от запланированного графика</td></tr><tr><td><strong>Особые примечания</strong></td><td>Разница во времени между <code>planned_datetime</code> и <code>actual_datetime</code> обеспечивает отчетность по пунктуальности; радиус определяет допустимую погрешность местоположения</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Задание_история</code></strong></summary>

**Описание**: Полная аудиторская запись событий жизненного цикла задания, фиксирующая все изменения статуса, назначения, обновления и изменения полей с временными метками (event\_datetime), привязкой к пользователю и типами активности (create, update, assign, status\_change), хранящимися в поле payload для обеспечения соответствия и анализа рабочих процессов

<table><thead><tr><th width="137">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>task_history_id</code> - Идентификатор сущности истории задания<br>- <code>Задание_id</code> - идентификатор сущности Задание<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>активность</code> - Операция, которая произошла. Может быть "create", "update", "assign" или "status_change"<br>- <code>event_datetime</code> - Дата и время события<br>- <code>полезная нагрузка</code> - Зависит от операции. Обычно содержит поля, которые были изменены во время операции</td></tr><tr><td><strong>Содержимое</strong></td><td>Типы активности, определенные в <code>description_parameters</code>; <code>полезная нагрузка</code> сохраняет данные, специфичные для события (text)</td></tr><tr><td><strong>Особые примечания</strong></td><td>Необходимо для анализа завершения Задания, отчетности по переходам статусов и Мониторинга активности пользователей</td></tr></tbody></table>

</details>

Правила и автоматизация

<details>

<summary><strong><code>правила</code></strong></summary>

**Описание**: Правила обнаружения событий с настраиваемыми условиями срабатывания (превышение скорости, нарушения в Зонах, пороги датчиков, время простоя), хранящимися в параметрах (JSONB), и настройками многоканальных уведомлений (alert\_email, alert\_sms, alert\_phone, is\_push\_enabled) для автоматического Мониторинга и оповещения на основе данных устройства и сервера

<table><thead><tr><th width="131">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>rule_id</code> - Идентификатор сущности правила<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>client_id</code> - Идентификатор сущности клиента<br>- <code>event_type</code> - Атрибут event_type таблицы rules<br>- <code>event_label</code> - Атрибут event_label таблицы правил<br>- <code>группа событий</code> - Атрибут event_group таблицы правил<br>- <code>описание</code> - атрибут Description таблицы правил<br>- <code>параметры</code> - Параметры события. Для получения более подробной информации о доступных параметрах см. <a href="https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/tracker/rules/rule_types/">Документация API Navixy</a>.<br>- <code>alert_email</code> - Почта для уведомлений<br>- <code>alert_sms</code> - Номера телефонов для SMS-уведомлений<br>- <code>alert_phone</code> - Телефоны для голосовых вызовов<br>- <code>is_push_enabled</code> - Если true, push-уведомления доступны<br>- <code>created_at</code> - Атрибут created_at таблицы rules<br>- <code>is_deleted</code> - Атрибут is_deleted таблицы rules<br>- <code>максимум</code> - Лимиты, применяемые к различным правилам. Например, для правила времени простоя при работающем двигателе в минутах<br>- <code>event_comment1</code> - Атрибут event_comment1 таблицы rules<br>- <code>event_comment2</code> - Атрибут event_comment2 таблицы rules</td></tr><tr><td><strong>Содержимое</strong></td><td>Параметры правила (JSONB) определяют условия срабатывания; поддерживаются уведомления по email, SMS, телефону и push-уведомления</td></tr><tr><td><strong>Связи</strong></td><td>Связи с объектами через <code>rules2objects</code>, зоны через <code>rules2zones</code></td></tr><tr><td><strong>Особые примечания</strong></td><td><code>event_type</code> определяет конкретный сценарий мониторинга (превышение скорости, нарушение Зоны, порог датчика); <code>максимум</code> поле позволяет агрегировать события для оповещений по пороговым значениям</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>rules2objects</code></strong></summary>

**Описание**: Связь «многие-ко-многим», связывающая правила с отслеживаемыми Объектами с индивидуальной настройкой параметров для каждого Объекта через object\_params (JSONB), позволяющая задавать разные пороговые значения (например, ограничения скорости) для каждого транспортного средства или Актив в рамках одного и того же правила

<table><thead><tr><th width="140">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>rule_id</code> - Идентификатор сущности правила<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>param_group_number</code> - Атрибут param_group_number в таблице rules2objects<br>- <code>объект_params</code> - Атрибут object_params таблицы rules2objects</td></tr><tr><td><strong>Содержимое</strong></td><td><code>объект_params</code> (JSONB) позволяет настраивать правила для каждого Объект (например, разные ограничения скорости для каждого транспортного средства)</td></tr><tr><td><strong>Особые примечания</strong></td><td>Связь многие ко многим позволяет одному правилу контролировать несколько объектов с разными параметрами</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>rules2zones</code></strong></summary>

**Описание**: связь многие-ко-многим, связывающая правила с геозонами, что позволяет одному правилу отслеживать события въезда/выезда в нескольких географических областях для сложных сценариев пространственного мониторинга

<table><thead><tr><th width="144">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>rule_id</code> - Идентификатор сущности правила<br>- <code>zone_id</code> - Идентификатор сущности зоны</td></tr><tr><td><strong>Особые примечания</strong></td><td>Отношение многие-ко-многим позволяет осуществлять мониторинг нескольких зон для одного правила (например, оповещение при въезде в любую из нескольких запрещенных зон)</td></tr></tbody></table>

</details>

Статус и категоризация

<details>

<summary><strong><code>статусы</code></strong></summary>

**Описание**: Определения пользовательских статусов в списках статусов, включая свойства отображения (цвет для отображения на сайте, order\_sort для позиционирования), используемые для представления состояний работы устройства или сотрудника с поддержкой мягкого удаления через флаг is\_deleted

<table><thead><tr><th width="128">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>status_id</code> - Идентификатор сущности статуса<br>- <code>listing_id</code> - Идентификатор сущности списка<br>- <code>status_label</code> - Значение статуса атрибута status_label<br>- <code>цвет</code> - Цвет, используемый для отображения на сайте<br>- <code>order_sort</code> - Позиция сортировки внутри статуса списка<br>- <code>is_deleted</code> - Атрибут is_deleted таблицы statuses</td></tr><tr><td><strong>Связи</strong></td><td>Группы статусов, организованные по <code>listing_id</code> (ссылается на <code>status_listings</code>); используется в <code>status_history</code></td></tr><tr><td><strong>Особые примечания</strong></td><td><code>order_sort</code> задает последовательность отображения; цвет обеспечивает визуальное различение в отчетности</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>status_listings</code></strong></summary>

**Описание**: Определения наборов статусов, определяющие, какие значения статуса доступны для устройств или сотрудников, а флаги разрешений (is\_supervisor\_controlled, is\_employee\_controlled) определяют, могут ли руководители, сотрудники или и те и другие изменять значения статуса

<table><thead><tr><th width="144">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>status_listing_id</code> - Идентификатор сущности списка статусов<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>status_listing_label</code> - Значение статуса атрибута status_listing_label<br>- <code>is_supervisor_controlled</code> - Если true, руководители могут изменять рабочий статус, например, с помощью мобильного приложения для мониторинга<br>- <code>is_employee_controlled</code> - Если true, сотрудники могут изменять свой рабочий статус, например, с помощью мобильного приложения для мониторинга<br>- <code>is_deleted</code> - Атрибут is_deleted таблицы status_listings</td></tr><tr><td><strong>Связи</strong></td><td>На него ссылаются <code>devices.status_listing_id</code> и <code>statuses.listing_id</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Флаги управления определяют, кто может изменять статусы: только руководитель, сам сотрудник или оба</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>status_history</code></strong></summary>

**Описание**: Журнал аудита всех переходов статуса работы устройств (Статус работы устройств) с временными метками (changed\_datetime на устройстве, server\_datetime на сервере), указанием пользователя (updated\_by) и фиксацией местоположения (latitude, longitude, address), что позволяет проводить географический анализ изменений статуса и формировать отчеты о местоположении начала и окончания рабочего дня

<table><thead><tr><th width="143">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>status_history_id</code> - Идентификатор сущности истории статусов<br>- <code>device_id</code> - Идентификатор сущности устройства<br>- <code>old_status_id</code> - Идентификатор сущности старого статуса<br>- <code>new_status_id</code> - Идентификатор сущности нового статуса<br>- <code>updated_by</code> - Дата и время, связанные с атрибутом updated_by<br>- <code>changed_datetime</code> - Дата и время назначения нового статуса на устройстве<br>- <code>server_datetime</code> - Дата и время назначения нового статуса сервера<br>- <code>latitude</code> - Определение местоположения устройств во время смены статуса<br>- <code>longitude</code> - Определение местоположения устройств во время смены статуса<br>- <code>address</code> - Определение местоположения устройств во время смены статуса</td></tr><tr><td><strong>Связи</strong></td><td>Ссылки на <code>устройства</code>, <code>статусы</code> (старого и нового), <code>description_parameters</code> (для <code>updated_by</code> Роль)</td></tr><tr><td><strong>Особые примечания</strong></td><td>Определение местоположения позволяет проводить географический анализ переходов статуса; полезно для отчетов о местоположении начала и окончания рабочего дня</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Теги</code></strong></summary>

**Описание**: Пользовательские метки категоризации с цветовой кодировкой, которые позволяют быстро фильтровать и искать среди нескольких типов сущностей (Места, геозоны, сотрудники, Задания, трекеры, Транспорт) для гибкой организации

<table><thead><tr><th width="149">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>id_тега</code> - Тег ID сущности<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>Тег_label</code> - Атрибут tag_label таблицы Теги<br>- <code>цвет</code> - Атрибут color таблицы Теги</td></tr><tr><td><strong>Связи</strong></td><td>Применяется к сущностям через <code>ссылки_тегов</code>; область, определенная пользователем</td></tr><tr><td><strong>Особые примечания</strong></td><td>Гибкая система категоризации, поддерживающая несколько Теги на сущность</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>ссылки_тегов</code></strong></summary>

**Описание**: Таблица полиморфной связи, связывающая Теги с любым типом сущности через entity\_type и entity\_id, с полем ordinal для управления порядком отображения, обеспечивающая гибкое тегирование нескольких сущностей

<table><thead><tr><th width="127">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>id_тега</code> - Тег ID сущности<br>- <code>entity_type</code> - Атрибут entity_type таблицы tag_links<br>- <code>entity_id</code> - Идентификатор сущности<br>- <code>порядковый</code> - Порядковый атрибут таблицы tag_links</td></tr><tr><td><strong>Содержимое</strong></td><td><code>entity_type</code> идентифицирует таблицу (транспортное средство, сотрудник, Задание и т. д.); <code>порядковый</code> определяет порядок отображения</td></tr><tr><td><strong>Особые примечания</strong></td><td>Полиморфная связь позволяет назначать теги для различных типов сущностей</td></tr></tbody></table>

</details>

Группы и иерархия

<details>

<summary><strong><code>группы</code></strong></summary>

**Описание**: Организационная структура группировки трекеров для визуальной организации в пользовательском интерфейсе с настраиваемыми цветами (group\_color) и иерархическим управлением по принципу папок; в настоящее время функция носит исключительно визуальный характер

<table><thead><tr><th width="148">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>group_id</code> - Трекер Группа (связано объектами objects.group_id). Разделение на группы можно увидеть в списке маяков, например<br>- <code>client_id</code> - Идентификатор сущности клиента<br>- <code>метка группы</code> - Заголовок Группы, заданный пользователем, от 1 до 60 печатаемых символов, напр. "Сотрудники"<br>- <code>group_color</code> - Цвет Группа в веб-формате (без #), например "FF6DDC". Определяет цвет маркеров Трекер на карте</td></tr><tr><td><strong>Связи</strong></td><td>На него ссылаются <code>objects.group_id</code>; владение клиентом через <code>client_id</code> (ссылается на <code>пользователи</code>)</td></tr><tr><td><strong>Особые примечания</strong></td><td>Позволяет организовать объекты мониторинга по принципу папок для отчетности и прав доступа</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>groups_objects</code></strong></summary>

**Описание**: связь многие-ко-многим между группами и объектами с использованием составного первичного ключа (groups\_client\_id, objects\_client\_id), позволяющая объектам одновременно принадлежать нескольким группам для гибких организационных структур

<table><thead><tr><th width="135">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>groups_client_id</code> - Идентификатор клиентской сущности для групп<br>- <code>objects_client_id</code> - Идентификатор клиентской сущности для объектов</td></tr><tr><td><strong>Особые примечания</strong></td><td>Позволяет объектам одновременно принадлежать нескольким группам; запрос с обоими <code>client_id</code> значения для членства в группе</td></tr></tbody></table>

</details>

Настраиваемые поля и сущности

<details>

<summary><strong><code>сущности</code></strong></summary>

**Описание**: реестр типов сущностей, определяющий, какие бизнес-сущности поддерживают Настраиваемые поля и структуру расположения полей (sections, field\_order), хранящуюся в entity\_label (JSONB), что позволяет динамически расширять схему, включая Места, Задания и другие сущности, без изменений в базе данных

<table><thead><tr><th width="141">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>entity_id</code> - Идентификатор сущности<br>- <code>user_id</code> - Идентификатор сущности пользователя<br>- <code>entity_label</code> - id - int. Идентификатор сущности. type - enum. В настоящее время поддерживается только "Место". layout - Объект описывает структуру полей для сущности. sections - массив объектов. Каждый раздел может содержать одно или несколько полей. В layout должен существовать хотя бы один раздел. label - string. Название раздела. field_order - массив строк. Встроенные поля и ID настраиваемых полей (в виде строк)<br>- <code>builtin_type</code> - Атрибут builtin_type таблицы entities</td></tr><tr><td><strong>Связи</strong></td><td>На него ссылаются <code>custom_fields</code> определить, какие Настраиваемые поля применяются к каким типам сущностей</td></tr><tr><td><strong>Особые примечания</strong></td><td><code>builtin_type</code> ссылки на <code>description_parameters</code> для классификаций сущностей, определенных системой</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>custom_fields</code></strong></summary>

**Описание**: определения пользовательских полей, обеспечивающие динамическое расширение схемы для типов сущностей, с настраиваемыми типами полей (custom\_field\_type), правилами валидации и параметрами в parameters (JSONB), а также флагами обязательности (is\_required) для гибкого сбора данных по Места, Задания и другим сущностям

<table><thead><tr><th width="146">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>custom_field_id</code> - Идентификатор сущности пользовательского поля<br>- <code>entity_id</code> - Идентификатор сущности<br>- <code>custom_field_label</code> - Название поля<br>- <code>custom_field_type</code> - Тип данных в поле<br>- <code>описание</code> - Описание поля<br>- <code>is_required</code> - Это обязательно или нет?<br>- <code>параметры</code> - Параметры поля</td></tr><tr><td><strong>Содержимое</strong></td><td><code>параметры</code> (JSONB) хранит конфигурацию, специфичную для типа поля (правила валидации, варианты выпадающего списка и т. д.)</td></tr><tr><td><strong>Связи</strong></td><td>Определяет доступные пользовательские атрибуты для объектов; тип поля ссылается на <code>description_parameters</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Обеспечивает динамическое расширение схемы без изменений в базе данных; широко используется в <code>места</code> и <code>задания</code></td></tr></tbody></table>

</details>

Исторический мониторинг

<details>

<summary><strong><code>driver_history</code></strong></summary>

**Описание**: Полный журнал аудита назначений сотрудника на Транспорт во времени, Мониторинг переходов old\_employee\_id к new\_employee\_id с временными метками (changed\_datetime, server\_datetime), данными о местоположении (latitude, longitude, address), информацией о аппаратном ключе и атрибуцией пользователя (updated\_by), что позволяет выполнять аналитику, специфичную для Водитель, когда Водители переключаются между Транспорт

<table><thead><tr><th width="146">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>Водитель_history_id</code> - Идентификатор сущности истории водителя<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>old_employee_id</code> - Идентификатор сущности старого сотрудника<br>- <code>new_employee_id</code> - Идентификатор новой сущности сотрудника<br>- <code>hardware_key</code> - Атрибут hardware_key таблицы driver_history<br>- <code>changed_datetime</code> - Были внесены изменения даты и времени на устройстве<br>- <code>server_datetime</code> - Дата и время изменений, внесенных на сервере<br>- <code>updated_by</code> - Дата и время, связанные с атрибутом updated_by<br>- <code>latitude</code> - Атрибут широты таблицы driver_history<br>- <code>longitude</code> - Атрибут долготы таблицы driver_history<br>- <code>address</code> - Атрибут адреса таблицы driver_history</td></tr><tr><td><strong>Связи</strong></td><td>Отслеживает назначения Водитель на Транспорт со временем; связывает с <code>сотрудники</code> и <code>объекты</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Необходимо для отчетности по Водителям, когда Водители меняют Транспорт; сбор местоположения позволяет анализировать местоположение смены назначения</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>vehicle_trackers_history</code></strong></summary>

**Описание**: Мониторинг следа аудита, который показывает, какие GPS-объекты (object\_id) были установлены в какой Транспорт (vehicle\_id) со временем с отметками изменений (changed\_datetime), обеспечивая точную атрибуцию исторических данных и вычисление Пробег при перемещении трекеров между транспортными средствами

<table><thead><tr><th width="144">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>vehicle_tracker_history_id</code> - Идентификатор сущности истории Трекер транспортного средства<br>- <code>vehicle_id</code> - Идентификатор сущности транспортного средства<br>- <code>object_id</code> - Объект идентификатора сущности<br>- <code>changed_datetime</code> - Дата и время, связанные с атрибутом changed_datetime</td></tr><tr><td><strong>Связи</strong></td><td>Отслеживает, какое GPS-устройство было установлено в каком транспортном средстве с течением времени</td></tr><tr><td><strong>Особые примечания</strong></td><td>Критически важно для анализа исторических данных, когда трекеры перемещаются между Транспортом; обеспечивает точное распределение Пробега и использования</td></tr></tbody></table>

</details>

Справочные и данные подстановки

<details>

<summary><strong><code>description_parameters</code></strong></summary>

**Описание**: Системные справочные данные, предоставляющие человекочитаемые метки (описание) для перечисляемых целочисленных значений (ключ), используемых по всей базе данных. Данные структурированы по полю type (например, task\_status, fuel\_type, counter\_type, entity\_classification) для единообразного перевода значений в отчетности и при отображении в интерфейсе

<table><thead><tr><th width="146">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>ключ</code> - Возможное значение в атрибуте<br>- <code>тип</code> - Составной атрибут, состоящий из имени таблицы, за которым следует знак подчеркивания и имя атрибута в таблице<br>- <code>описание</code> - Неявное значение атрибута</td></tr><tr><td><strong>Содержимое</strong></td><td>Обеспечивает человекочитаемые метки для закодированных значений во всей базе данных (статус задания, типы топлива, типы счетчиков и т. д.)</td></tr><tr><td><strong>Связи</strong></td><td>На них ссылаются через внешние ключи из нескольких таблиц для стандартизированной категоризации</td></tr><tr><td><strong>Особые примечания</strong></td><td>Необходимы для перевода целочисленных кодов в читаемые значения в отчетах; <code>тип</code> связанные с группами полей перечисления</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>счетчики</code></strong></summary>

**Описание**: конфигурации счетчиков одометра и моточасов, связывающие показания датчиков устройства (sensor\_id) с измерениями расстояния или времени с коэффициентами-множителями для преобразования единиц (km, miles, hours) и counter\_type из description\_parameters, определяющий тип измерения

<table><thead><tr><th width="140">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>counter_id</code> - Внутренний ID<br>- <code>device_id</code> - Идентификатор сущности устройства<br>- <code>counter_type</code> - Тип счетчика<br>- <code>sensor_id</code> - Идентификатор сущности датчика<br>- <code>multiplier</code> - Коэффициент для преобразования значений в одну из метрик (km, l и т. д.)</td></tr><tr><td><strong>Связи</strong></td><td>Связывает устройства с показаниями датчиков, которые представляют счетчики расстояния или времени</td></tr><tr><td><strong>Особые примечания</strong></td><td><code>multiplier</code> преобразует импульсы датчика в фактические единицы (km, miles, hours); <code>counter_type</code> из <code>description_parameters</code> определяет тип измерения</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>device_output_name</code></strong></summary>

**Описание**: Пользовательские метки для каналов вывода устройства, сопоставляющие числовые идентификаторы выходов (number) с заданными пользователем именами (label), такими как "Door Lock" или "Engine Block", для читаемой отчетности и анализа команд и состояний выходов устройства

<table><thead><tr><th width="140">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>device_id</code> - Идентификатор сущности устройства<br>- <code>number</code> - Атрибут number таблицы device_output_name<br>- <code>label</code> - Атрибут label таблицы device_output_name</td></tr><tr><td><strong>Содержимое</strong></td><td>Сопоставляет номера каналов вывода с заданными пользователем именами (например, "Door Lock", "Engine Block")</td></tr><tr><td><strong>Особые примечания</strong></td><td>Обеспечивает читаемую отчетность при анализе команд и состояний выходов устройства</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>device_settings</code></strong></summary>

**Описание**: Пары ключ-значение конфигурации устройства, синхронизированные из исходной платформы. Каждая строка хранит один параметр конфигурации для конкретного устройства.

<table><thead><tr><th width="140">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>device_id</code> - Идентификатор сущности устройства<br>- <code>ключ</code> - Имя параметра<br>- <code>value</code> - Значение параметра</td></tr><tr><td><strong>Первичный ключ</strong></td><td>Составной ключ: <code>(device_id, key)</code></td></tr><tr><td><strong>Особые примечания</strong></td><td>Заполняется во время полной синхронизации клиента. Используйте эту таблицу, чтобы читать значения конфигурации на уровне устройства вместе с телематическими или бизнес-данными.</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>event_description</code></strong></summary>

**Описание**: Справочная таблица кодов событий трекера с человекочитаемыми описаниями. Содержит 134 записи, охватывающие распространенные события трекера, такие как SOS, режим сна, зажигание и изменения цифровых входов/выходов.

<table><thead><tr><th width="140">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td>- <code>event_id</code> - Код события (primary key)<br>- <code>описание</code> - Человекочитаемое имя события</td></tr><tr><td><strong>Особые примечания</strong></td><td>Соедините с <code>raw_telematics_data.tracking_data_core</code> по <code>event_id</code> чтобы отображать названия событий в отчетах и на панелях мониторинга вместо числовых кодов.</td></tr></tbody></table>

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/analytics/ru/iot-query/schema-overview/bronze-layer/raw-business-data.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
