> 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/pt-br/iot-query/schema-overview/bronze-layer/raw-business-data.md).

# Esquema raw\_business\_data

raw\_business\_data contém mais de 40 tabelas que abrangem usuários, objetos, veículos, tarefas e geocercas. Navegue pela definição do esquema e pelas descrições das principais tabelas para análise SQL

Este esquema contém mais de 40 tabelas cuidadosamente selecionadas para abranger vários aspectos de negócios e casos de uso. Essas tabelas representam suas principais entidades de negócio, estrutura organizacional e dados operacionais.

{% hint style="info" %}
O diagrama interativo do schema raw\_business\_data está disponível em **dbdiagram.io**: <https://dbdiagram.io/d/V3-bronze-layer-68ecfd1c2e68d21b4131089a>
{% endhint %}

Encontre abaixo os detalhes do esquema de dados brutos de negócios.

{% code title="esquema raw\_business\_data" expandable="true" %}

```sql
Table "vehicle_service_tasks" {
  "record_added_at" timestamp [not null]
  "start_mileage" numeric
  "comment" "character varying(255)"
  "status" "character varying(10)" [not null]
  "completion_date" timestamp
  "start_engine_hours" numérico
  "service_task_id" integer [not null]
  "is_notification_push_enabled" boolean [not null]
  "date_notification_interval" intervalo
  "predicted_datetime" timestamp
  "cost" numeric [not null]
  "mileage_limit" numérico
  "notification_emails" texto
  "is_unplanned" boolean [not null]
  "is_repeat" boolean [not null]
  "completion_engine_hours" inteiro
  "engine_hours_limit" numérico
  "mileage_repeat_interval" inteiro
  "vehicle_id" integer [not null]
  "engine_hours_notification_interval" integer
  "start_date" timestamp
  "mileage_notification_interval" inteiro
  "date_repeat_interval" intervalo
  "description" "character varying(255)"
  "notification_sms_phone_numbers" texto
  "end_date" carimbo de data e hora
  "engine_hours_repeat_interval" integer
  "completion_mileage" inteiro
}

Tabela "garages" {
  "record_added_at" timestamp [not null]
  "garage_id" integer [not null]
  "longitude" numérico
  "mechanic_name" "character varying(255)"
  "radius" integer [não nulo]
  "latitude" numérico
  "organization_label" "character varying(255)"
  "user_id" integer [not null]
  "dispatcher_name" "character varying(255)"
  "address" "character varying(255)"
}

Tabela "driver_history" {
  "server_datetime" timestamp [não nulo]
  "address" "character varying(255)"
  "updated_by" integer [not null]
  "object_id" inteiro
  "longitude" numérico
  "latitude" numérico
  "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
}

Tabela "Departamentos" {
  "record_added_at" timestamp [not null]
  "department_label" "character varying(255)" [not null]
  "latitude" numérico
  "department_id" integer [not null]
  "address" "character varying(255)"
  "radius" integer [não nulo]
  "longitude" numérico
  "user_id" integer [not null]
}

Tabela "checkins" {
  "radius" integer [não nulo]
  "latitude" numeric [not null]
  "employee_id" integer [not null]
  "longitude" numeric [not null]
  "record_added_at" timestamp [not null]
  "actual_datetime" timestamp [não nulo]
  "user_id" integer [not null]
  "form_id" inteiro [not null]
  "address" "character varying(255)"
  "planned_datetime" timestamp [não nulo]
  "object_id" integer [not null]
  "checkin_id" integer [not null]
  "comentário" texto
}

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]
}

Tabela "places_text_fields" {
  "place_id" integer [not null]
  "record_added_at" timestamp [not null]
  "value" texto [não nulo]
  "field_id" integer [not null]
}

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

Tabela "objects" {
  "record_added_at" timestamp [not null]
  "create_datetime" timestamp [not null]
  "client_id" integer [not null]
  "group_id" inteiro
  "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]
}

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

Tabela "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]
  "descrição" texto
  "custom_field_id" integer [not null]
}

Table "places_decimal_fields" {
  "field_id" integer [not null]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
  "valor" numérico [not null]
}

Tabela "task_history" {
  "task_id" integer [not null]
  "activity" integer [not null]
  "task_history_id" integer [not null]
  "record_added_at" timestamp [not null]
  "user_id" integer [not null]
  "event_datetime" timestamp [not null]
  "payload" texto
}

Tabela "Etiquetas" {
  "tag_label" "character varying(64)" [not null]
  "color" "character varying(6)"
  "user_id" integer [not null]
  "record_added_at" timestamp [not null]
  "tag_id" integer [not null]
}

Table "locais" {
  "descrição" texto
  "custom_fields" jsonb
  "place_id" integer [not null]
  "external_id" "character varying(32)"
  "record_added_at" timestamp [not null]
  "user_id" inteiro
  "latitude" numérico
  "radius" inteiro
  "place_label" "character varying(256)"
  "assigned_datetime" timestamp
  "address" "character varying(256)"
  "longitude" numérico
}

Tabela "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]
}

Tabela "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]
}

Table "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" integer [not null]
}

Table "groups" {
  "group_id" inteiro [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" numérico [não nulo]
  "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" inteiro [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
}

Tabela "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 [não nulo]
  "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]
}

Tabela "vehicles" {
  "vehicle_id" integer [not null]
  "payload_length" numérico
  "vin" "character varying(20)"
  "free_insurance_policy_number" "character varying(50)"
  "vehicle_label" "character varying(100)"
  "payload_width" numérico
  "color" "character varying(6)"
  "trailer" "character varying(255)"
  "object_id" inteiro
  "vehicle_status_id" integer
  "liability_insurance_valid_till" carimbo de data/hora
  "manufacture_year" integer
  "fuel_grade" "character varying(16)"
  "fuel_cost" numérico
  "fuel_tank_volume" numeric
  "model" "character varying(100)"
  "garage_id" integer
  "payload_height" numérico
  "max_speed" numérico
  "registration_number" "character varying(32)"
  "tyre_size" "character varying(50)"
  "passenger_capacity" integer
  "record_added_at" timestamp [not null]
  "trailer_reg_number" "character varying(32)"
  "free_insurance_valid_till_date" carimbo de data/hora
  "gross_weight" numérico
  "standard_fuel_consumption" numérico
  "fuel_type" inteiro
  "payload_weight" numeric
  "additional_info" texto
  "vehicle_subtype" "character varying(32)"
  "liability_insurance_policy_number" "character varying(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)"
}

Tabela "tag_links" {
  "entity_id" integer [not null]
  "record_added_at" timestamp [not null]
  "entity_type" integer [not null]
  "ordinal" integer [not null]
  "tag_id" integer [not null]
}

Tabela "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" text [not null]
  "event_group" inteiro [não nulo]
  "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]
}

Tabela "status_history" {
  "longitude" numérico
  "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" numérico
  "record_added_at" timestamp [not null]
  "server_datetime" timestamp [não nulo]
  "changed_datetime" timestamp
  "old_status_id" integer
}

Tabela "rules2zones" {
  "zone_id" integer [not null]
  "record_added_at" timestamp [not null]
  "rule_id" integer [not null]
}

Tabela "forms" {
  "object_id" integer [not null]
  "descrição" texto
  "form_label" "character varying(255)" [not null]
  "campos" texto
  "created_at" timestamp [not null]
  "submission_address" "character varying(255)"
  "submission_latitude" numérico
  "form_id" inteiro [not null]
  "submission_longitude" numérico
  "is_submission_in_zone" boolean [not null]
  "valores" texto
  "record_added_at" timestamp [not null]
  "task_id" inteiro
  "submitted_at" carimbo de data/hora
}


Tabela "rules2objects" {
  "object_params" jsonb
  "param_group_number" integer [not null]
  "object_id" integer [not null]
  "record_added_at" timestamp [not null]
  "rule_id" integer [not null]
}

Tabela "tasks" {
  "time_from" timestamp
  "stay_duration_minutes" intervalo
  "external_id" "character varying(100)"
  "object_id" inteiro
  "task_type" inteiro
  "arrival_duration_minutes" intervalo
  "status" inteiro
  "arrival_datetime" carimbo de data e hora
  "record_added_at" timestamp [not null]
  "task_id" integer [not null]
  "user_id" inteiro
  "status_change_datetime" carimbo de data/hora
  "order_sort" integer
  "time_to" carimbo de data/hora
  "max_delay_minuts" integer
  "is_stay_control_enabled" boolean
  "address" "character varying(255)"
  "task_label" "character varying(200)" [not null]
  "longitude" numérico
  "created_by" integer
  "description" text [not null]
  "radius" inteiro
  "latitude" numérico
  "stay_duration" inteiro
  "created_at" timestamp [not null]
  "custom_fields" jsonb
  "parent_task_id" inteiro
}

Tabela "places_bigint_fields" {
  "field_id" integer [not null]
  "value" bigint [not null]
  "place_id" integer [not null]
  "record_added_at" timestamp [not null]
}

Tabela "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" integer [not null]
  "record_added_at" timestamp [not null]
}

Table "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]
}

Tabela "counters" {
  "sensor_id" inteiro
  "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]
}

Tabela "employees" {
  "driver_license_valid_till" carimbo de data/hora
  "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" inteiro
  "is_deleted" boolean [not null]
  "driver_license_issue_date" boolean
  "hardware_key" "character varying(64)"
  "middle_name" "character varying(100)"
  "address" "character varying(255)"
  "latitude" numérico
  "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 [não nulo]
  "longitude" numérico
}

Tabela "places_longtext_fields" {
  "field_id" integer [not null]
  "value" texto [não nulo]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
}

Table "groups_objects" {
  "groups_client_id" integer
  "objects_client_id" inteiro

  Índices {
    (groups_client_id, objects_client_id) [pk]
  }
}

Table "device_settings" {
  "device_id" integer [not null]
  "key" "character varying" [not null]
  "valor" texto

  Índices {
    (device_id, key) [pk]
  }
}

Table "event_description" {
  "event_id" integer [not null, pk]
  "descrição" texto
}

Ref:"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"

Ref:"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" < "departments"."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" < "tasks"."status"

Ref:"description_parameters"."key" < "Tarefas"."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" < "garages"."user_id"

Ref:"groups"."client_id" < "groups_objects"."groups_client_id"

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

Ref:"models"."model" < "objects"."model"

Ref:"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"

Referência:"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"

Ref:"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" < "Etiquetas"."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"

Ref:"users"."master_id" < "users"."user_id"

Ref:"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:"vehicles"."vehicle_id" < "vehicle_trackers_history"."vehicle_id"

Ref:"garages"."garage_id" < "Veículos"."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 %}

## Frequência de atualização

Os dados neste schema são sincronizados com o banco de dados principal. As atualizações ocorrem de forma incremental à medida que as alterações acontecem no banco de dados MySQL de origem, normalmente em menos de 5 minutos após a alteração na origem.

## `description_parameters`

O sistema inclui dados de referência para padronizar os valores em todo o banco de dados:

<table><thead><tr><th width="167.1817626953125">Tipo de referência</th><th width="173.9090576171875">Descrição</th><th>Valores de exemplo</th></tr></thead><tbody><tr><td>Definições de tipos</td><td>Tipos padrão de entidade</td><td><code>vehicle_type: car, truck, bus</code></td></tr><tr><td>Códigos de status</td><td>Tarefa e valores de status do sistema</td><td><code>tasks_status: unassigned, assigned, done</code></td></tr><tr><td>Definições de unidades</td><td>Unidades de medição para sensores</td><td><code>units_type: litro, galão, Celsius</code></td></tr><tr><td>Classificações de entidades</td><td>Categorias de entidades de negócio</td><td><code>entities_type: Lugar, Tarefa, cliente</code></td></tr></tbody></table>

## Principais tabelas por categoria

As tabelas no **`raw_business_data`** schema estão organizadas em categorias funcionais para facilitar a navegação. A tabela abaixo resume as tabelas principais por sua finalidade de negócio:

Entidades centrais de negócio

<details>

<summary><strong><code>users</code></strong></summary>

**Descrição**: Contas de usuário que contêm informações de perfil, vínculo com a empresa, configurações de localização (fuso horário, localidade) e relacionamentos hierárquicos via master\_id para estruturas de conta multinível

<table><thead><tr><th width="145">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>user_id</code> - Identificador único do usuário<br>- <code>company_label</code> - Nome da empresa associada ao usuário<br>- <code>first_name</code> - Nome de usuário<br>- <code>last_name</code> - Sobrenome do usuário<br>- <code>middle_name</code> - Nome do meio do usuário<br>- <code>locale</code> - Configurações de idioma do usuário<br>- <code>timezone_label</code> - Fuso horário no formato IANA<br>- <code>master_id</code> - ID do usuário principal (se o atual for um subordinado)<br>- <code>registration_datetime</code> - Data de registro no sistema<br>- <code>birth_date</code> - Data de nascimento do usuário</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Usuário pai via <code>master_id</code>, vinculado a <code>funcionários</code>, <code>Departamentos</code>, <code>Locais</code>, <code>Tarefas</code> por meio de <code>user_id</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Entidade central que conecta dados organizacionais; <code>master_id</code> permite hierarquias de usuários para estruturas de contas multinível</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>funcionários</code></strong></summary>

**Descrição**: Registros de funcionários e Motorista usados para representar pessoas que trabalham para a organização, incluindo informações pessoais, detalhes de licenciamento, atribuições de departamento, chaves de hardware para identificação por iButton/RFID e dados de localização com suporte a geocerca

<table><thead><tr><th width="143">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>employee_id</code> - Identificador da entidade de funcionário<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>department_id</code> - Um ID do departamento ao qual o funcionário foi atribuído<br>- <code>first_name</code> - O atributo first_name da tabela employees<br>- <code>last_name</code> - O atributo last_name da tabela employees<br>- <code>middle_name</code> - O atributo middle_name da tabela employees<br>- <code>número_da_carteira_de_motorista</code> - número da carteira de Motorista<br>- <code>driver_license_categories</code> - Categorias da carteira de Motorista<br>- <code>data_de_emissão_da_carteira_de_motorista</code> - Data de emissão da carteira de Motorista<br>- <code>driver_license_valid_till</code> - Data até a carteira de motorista válida<br>- <code>hardware_key</code> - Uma chave de hardware<br>- <code>email</code> - Email do funcionário<br>- <code>phone_number</code> - Número de telefone do funcionário sem sinal "+"<br>- <code>address</code> - Endereço do local<br>- <code>personnel_number</code> - Número de matrícula do funcionário/Motorista<br>- <code>citizen_id_number</code> - número de Segurança Social<br>- <code>latitude</code> - Local associado a este funcionário<br>- <code>longitude</code> - Local associado a este funcionário<br>- <code>raio</code> - Localização associada a este funcionário em metros<br>- <code>fuel_consumption</code> - O atributo fuel_consumption da tabela employees<br>- <code>custo_de_combustível</code> - O atributo fuel_cost da tabela employees<br>- <code>is_deleted</code> - O atributo is_deleted da tabela employees</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para <code>users</code>, <code>Departamentos</code>, <code>objetos</code> (rastreador atribuído), rastreado em <code>histórico_do_motorista</code> e <code>check-ins</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>A chave de hardware permite a identificação do motorista por meio de iButton ou RFID; oferece suporte a geofencing com <code>latitude</code>, <code>longitude</code>, <code>raio</code> campos</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Departamentos</code></strong></summary>

**Descrição**: Unidades organizacionais com dados de localização geográfica (latitude, longitude, raio) que permitem análises baseadas em Geocerca para relatórios em nível de departamento e associação da localização dos funcionários

<table><thead><tr><th width="156">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>department_id</code> - Identificador da entidade Department<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>department_label</code> - O atributo department_label da tabela Departamentos<br>- <code>latitude</code> - Localização associada a estes Departamentos<br>- <code>longitude</code> - Localização associada a estes Departamentos<br>- <code>raio</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - O atributo de endereço da tabela Departamentos</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Vincula os funcionários à estrutura organizacional por meio de <code>department_id</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Campos de localização oferecem suporte a análises baseadas em Geocerca para relatórios em nível de departamento</td></tr></tbody></table>

</details>

Monitor e monitoramento

<details>

<summary><strong><code>dispositivos</code></strong></summary>

**Descrição**: Registro físico de dispositivos Monitor com identificadores de hardware (IMEI), informações do cartão SIM, status de conectividade de rede (intensidade do sinal, roaming, operadora) e listagem de atribuições de status para o gerenciamento do ciclo de vida do dispositivo

<table><thead><tr><th width="138">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>device_id</code> - ID do dispositivo<br>- <code>owner_id</code> - ID do Proprietário do dispositivo em cuja conta o beacon foi adicionado<br>- <code>device_imei</code> - IMEI do dispositivo<br>- <code>telefone</code> - O número do cartão SIM do dispositivo<br>- <code>status_listing_id</code> - Status do dispositivo ID<br>- <code>network_label</code> - O nome da rede à qual o cartão SIM está conectado<br>- <code>signal_level</code> - Intensidade do sinal do dispositivo<br>- <code>has_roaming</code> - Indicador de disponibilidade de roaming<br>- <code>is_sim_blocked</code> - Indicador de bloqueio do cartão SIM<br>- <code>created_at</code> - Data e hora em que a entrada foi criada</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Entidade principal vinculada a <code>objetos</code>, <code>models</code>, <code>sensor_description</code>, <code>counters</code>; <code>owner_id</code> references <code>users.user_id</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Todos os dados telemáticos em <code>raw_telematics_data</code> o esquema referencia esta tabela via <code>device_id</code></td></tr></tbody></table>

</details>

<details>

<summary><strong><code>objetos</code></strong></summary>

**Descrição**: Registro central de entidades monitoradas (Veículos, ativos, pessoal) que vincula dispositivos físicos à estrutura organizacional por meio de client\_id e group\_id, representando a "unidade rastreável" com um Objeto ativo por dispositivo

<table><thead><tr><th width="148">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>client_id</code> - Identificador da entidade do cliente<br>- <code>device_id</code> - Identificador da entidade do dispositivo<br>- <code>rótulo_do_Objeto</code> - Nome do Objeto<br>- <code>modelo</code> - Modelo do dispositivo<br>- <code>group_id</code> - Grupo de ID da entidade<br>- <code>create_datetime</code> - Data e hora da criação de uma nova linha no servidor<br>- <code>is_deleted</code> - O atributo is_deleted da tabela objects<br>- <code>is_clone</code> - Sinal de clone</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Hub central que conecta dispositivos aos usuários (<code>client_id</code>), detalhes do veículo, histórico de Monitor, Tarefas e regras</td></tr><tr><td><strong>Observações especiais</strong></td><td>Representa a "unidade rastreável" no sistema; um Objeto por dispositivo em uso ativo</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>models</code></strong></summary>

**Descrição**: Registro central de entidades monitoradas (Veículos, ativos, pessoal) que vincula dispositivos físicos à estrutura organizacional por meio de client\_id e group\_id, representando a "unidade rastreável" com um Objeto ativo por dispositivo

<table><thead><tr><th width="135">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>model_id</code> - Identificador do modelo da entidade<br>- <code>modelo</code> - O atributo model da tabela models<br>- <code>vendor</code> - O nome da empresa que lançou o rastreador<br>- <code>alternative_label</code> - O atributo alternative_label da tabela models<br>- <code>analog_amount</code> - Número de entradas analógicas do rastreador<br>- <code>digital_amount</code> - Número de entradas discretas do rastreador<br>- <code>outputs_amount</code> - Número de saídas discretas do rastreador<br>- <code>has_battery_level</code> - Determina se o rastreador transmite leituras de carga da bateria<br>- <code>has_altitude</code> - Determina se o rastreador transmite altitude<br>- <code>has_phone</code> - Há um cartão SIM?<br>- <code>has_gsm_level</code> - Um rastreador pode transmitir a intensidade do sinal GSM?<br>- <code>has_gsm_name</code> - O rastreador pode transmitir o nome da rede GSM ou o código da operadora (MCC + MNC)?<br>- <code>has_gsm_roaming</code> - O rastreador pode transmitir o status de roaming?<br>- <code>has_detach_button</code> - O rastreador tem um sensor de remoção?<br>- <code>type_output_control</code> - Perfil de Controle de Saída do Rastreador<br>- <code>type_special_control</code> - Contém configurações especializadas e módulos funcionais para modelos individuais de dispositivo, como o modo de Condução perigosa (hbm_telfm) para equipamentos Teltonika<br>- <code>is_clone</code> - O modelo é um clone de outro modelo?</td></tr><tr><td><strong>Conteúdo</strong></td><td>Os sinalizadores booleanos de capacidade indicam quais campos de dados estão disponíveis para este tipo de dispositivo</td></tr><tr><td><strong>Observações especiais</strong></td><td>Use os sinalizadores de capacidade para determinar sensores e entradas válidos ao consultar dados telemáticos</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Configuração abrangente de sensores que vincula entradas do dispositivo à lógica de negócio, incluindo mapeamentos de entradas, unidades de medida, fatores de conversão (multiplicador/divisor), tabelas de calibração para sensores de Combustível, limites de precisão e lógica de agrupamento para leituras agregadas de sensores

<table><thead><tr><th width="142">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>sensor_id</code> - Identificador da entidade sensor<br>- <code>device_id</code> - Identificador da entidade do dispositivo<br>- <code>sensor_label</code> - Nome do sensor para a interface<br>- <code>input_label</code> - O nome do campo da mensagem (atributo) de onde os dados do sensor são obtidos. Se for igual a "input_status," é um Sensor discreto<br>- <code>sensor_type</code> - Tipo de sensor<br>- <code>units_type</code> - Unidades de medida<br>- <code>multiplier</code> - Multiplicador - o número pelo qual multiplicar o valor do campo. Apenas para Sensores de medida<br>- <code>divider</code> - Divisor - o número pelo qual dividir o valor do campo. Apenas para Sensores de medida<br>- <code>accuracy</code> - Uma porcentagem especificada para calcular o erro absoluto do volume do tanque. Esse erro é usado para determinar quando abastecimentos ou drenagens estão ocorrendo. Isso é usado apenas para sensores de Combustível<br>- <code>calibration_data</code> - O atributo calibration_data da tabela sensor_description<br>- <code>input_id</code> - Número de entrada para Sensor discreto<br>- <code>group_id</code> - Sensores do mesmo tipo com o mesmo group_id e source_id são considerados como pertencentes ao mesmo Grupo. Seus dados são somados ou calculados pela média, dependendo do valor de group_type. Isso é necessário para sensores agregados. É usado em sensores de medição<br>- <code>group_type</code> - 0 - somar os valores dos sensores dentro de um Grupo, 1 - média<br>- <code>sensor_units</code> - Nome da unidade inserido pelo usuário se units_type=0 (personalizado)<br>- <code>parâmetros</code> - Objeto opcional com parâmetros adicionais parent_ids - array opcional de parent_ids para sensor composto. volume - double. Opcional. Volume para sensor composto. parent_ids - opcional. Array int. Array de parent_ids para sensor composto. volume - opcional. Double. Volume para sensor composto. min - opcional. Double. Valor bruto mínimo aceitável para um sensor. max - opcional. Double. Valor bruto máximo aceitável para um sensor. max_lowering_by_time - opcional. Double. Redução máxima legal do valor por hora. max_lowering_by_mileage - opcional. Double. Redução máxima legal do valor por 100 km. ignore_drains_in_move - opcional. Boolean. O padrão é false. Se true, as drenagens de Combustível não serão detectadas durante o Movimento. ignore_refuels_in_move - opcional. Boolean. O padrão é false. Se true, os abastecimentos não serão detectados durante o Movimento. refuel_gap_minutes - opcional. Integer. O padrão é 5. O tempo em minutos após o início do Movimento durante o qual os abastecimentos serão detectados durante o Movimento. custom_field_name - opcional. Boolean. O padrão é false. O parâmetro determina se o campo input_name é um valor personalizado inserido pelo usuário. Isso só faz sentido se o modelo do rastreador tiver o recurso has_custom_fields</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Vincula as entradas do dispositivo (de <code>raw_telematics_data.inputs</code>) para a lógica de negócios por meio de <code>device_id</code> e <code>input_label</code> correspondência</td></tr><tr><td><strong>Observações especiais</strong></td><td><code>calibration_data</code> (JSONB) armazena tabelas de calibração específicas do sensor para sensores de nível de combustível; <code>multiplier</code> e <code>divider</code> converter valores brutos em unidades</td></tr></tbody></table>

</details>

Gestão de Ativo

<details>

<summary><strong><code>Veículos</code></strong></summary>

**Descrição**: Cadastro abrangente de veículos contendo especificações (dimensões, peso, capacidade), documentação (VIN, registro, Seguro), parâmetros operacionais (Consumo de combustível, volume do tanque) e atribuição atual do rastreador por meio de object\_id para Gestão de Frotas e Monitor de conformidade

<table><thead><tr><th width="144">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>vehicle_id</code> - Identificador da entidade do veículo<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>garage_id</code> - Identificador da entidade da garagem<br>- <code>vehicle_label</code> - O atributo vehicle_label da tabela Veículos<br>- <code>registration_number</code> - Número de registro/ Placa de um veículo<br>- <code>VIN</code> - O atributo VIN da tabela de Veículos<br>- <code>manufacture_year</code> - O atributo manufacture_year da tabela Veículos<br>- <code>fuel_type</code> - O atributo fuel_type da tabela vehicles<br>- <code>custo_de_combustível</code> - O atributo fuel_cost da tabela vehicles<br>- <code>fuel_tank_volume</code> - O atributo fuel_tank_volume da tabela vehicles<br>- <code>max_speed</code> - O atributo max_speed da tabela Veículos<br>- <code>modelo</code> - O atributo model da tabela Veículos<br>- <code>color</code> - O atributo color da tabela Veículos<br>- <code>trailer</code> - O atributo trailer da tabela Veículos<br>- <code>additional_info</code> - O atributo additional_info da tabela Veículos<br>- <code>vehicle_type</code> - O atributo vehicle_type da tabela Veículos<br>- <code>vehicle_subtype</code> - O atributo vehicle_subtype da tabela Veículos<br>- <code>vehicle_status_id</code> - Identificador da entidade status do veículo<br>- <code>chassis_number</code> - O atributo chassis_number da tabela Veículos<br>- <code>frame_number</code> - O atributo frame_number da tabela Veículos<br>- <code>trailer_reg_number</code> - O atributo trailer_reg_number da tabela Veículos<br>- <code>payload_weight</code> - O atributo payload_weight da tabela de Veículos<br>- <code>payload_height</code> - O atributo payload_height da tabela de Veículos<br>- <code>payload_length</code> - O atributo payload_length da tabela de Veículos<br>- <code>payload_width</code> - O atributo payload_width da tabela de Veículos<br>- <code>passenger_capacity</code> - Um número máximo de passageiros<br>- <code>gross_weight</code> - O atributo gross_weight da tabela Veículos<br>- <code>standard_fuel_consumption</code> - Consumo médio normal de combustível em litros por 100 km<br>- <code>fuel_grade</code> - O atributo fuel_grade da tabela vehicles<br>- <code>wheel_arrangement</code> - O atributo wheel_arrangement da tabela Veículos<br>- <code>tyre_size</code> - Tamanho do veículo: dimensões e tamanho das rodas<br>- <code>tyres_number</code> - Número de rodas<br>- <code>número_da_apólice_de_seguro_de_responsabilidade_civil</code> - O atributo liability_insurance_policy_number da tabela vehicles<br>- <code>liability_insurance_valid_till</code> - A data até a qual o Seguro de responsabilidade civil é válido<br>- <code>número_da_apólice_de_seguro_gratuita</code> - O atributo free_insurance_policy_number da tabela vehicles<br>- <code>data_de_validade_do_seguro_gratuito</code> - A data até a qual o Seguro gratuito é válido</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para <code>objetos</code> (rastreador atual), <code>garagens</code> (local de serviço), <code>vehicle_service_tasks</code>; rastreado em <code>vehicle_trackers_history</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Campos de dimensão física (<code>payload_length</code>, <code>payload_width</code>, <code>payload_height</code>, <code>gross_weight</code>) oferecem suporte a análises de planejamento de carga; datas de Seguro permitem o Monitor de conformidade</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>garagens</code></strong></summary>

**Descrição**: locais de instalações de serviço e Manutenção com coordenadas geográficas (latitude, longitude, raio), informações de contato de mecânicos e despachantes, permitindo detecção de visitas de serviço baseada em Geocerca e análise de proximidade

<table><thead><tr><th width="135">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>garage_id</code> - Identificador da entidade da garagem<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>latitude</code> - Objeto de localização<br>- <code>longitude</code> - Objeto de localização<br>- <code>raio</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - Objeto de localização<br>- <code>organization_label</code> - ID da Garagem<br>- <code>mechanic_name</code> - Nome do mecânico<br>- <code>dispatcher_name</code> - Nome do despachante</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciado por <code>Veículos.garage_id</code> para atribuição de local de serviço</td></tr><tr><td><strong>Observações especiais</strong></td><td>Os campos de localização permitem a detecção de visitas de serviço baseada em Geocerca e a análise de proximidade</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>vehicle_service_tasks</code></strong></summary>

**Descrição**: cronograma de Manutenção e Monitor do histórico de serviço com múltiplos tipos de gatilho (baseado em data, baseado em quilometragem, baseado em horas do motor), intervalos recorrentes da Tarefa, notificações multicanal (email, SMS, push) e distinção entre eventos de Manutenção planejados (is\_repeat) e não planejados

<table><thead><tr><th width="132">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>service_task_id</code> - Identificador da entidade de Tarefa de serviço<br>- <code>vehicle_id</code> - Identificador da entidade do veículo<br>- <code>descrição</code> - O atributo description da tabela vehicle_service_tasks<br>- <code>status</code> - O valor de status do atributo status<br>- <code>custo</code> - O atributo cost da tabela vehicle_service_tasks<br>- <code>start_date</code> - A data e hora associadas ao atributo start_date<br>- <code>end_date</code> - A data e a hora associadas ao atributo end_date<br>- <code>completion_date</code> - A data e a hora associadas ao atributo completion_date<br>- <code>predicted_datetime</code> - A data e hora associadas ao atributo predicted_datetime<br>- <code>limite_de_quilometragem</code> - O atributo mileage_limit da tabela vehicle_service_tasks<br>- <code>engine_hours_limit</code> - O atributo engine_hours_limit da tabela vehicle_service_tasks<br>- <code>start_mileage</code> - O atributo start_mileage da tabela vehicle_service_tasks<br>- <code>start_engine_hours</code> - O atributo start_engine_hours da tabela vehicle_service_tasks<br>- <code>mileage_notification_interval</code> - O atributo mileage_notification_interval da tabela vehicle_service_tasks<br>- <code>engine_hours_notification_interval</code> - O atributo engine_hours_notification_interval da tabela vehicle_service_tasks<br>- <code>date_notification_interval</code> - Convertendo um inteiro N em N dias<br>- <code>mileage_repeat_interval</code> - O atributo mileage_repeat_interval da tabela vehicle_service_tasks<br>- <code>engine_hours_repeat_interval</code> - O atributo engine_hours_repeat_interval da tabela vehicle_service_tasks<br>- <code>date_repeat_interval</code> - Convertendo um inteiro N em N dias<br>- <code>notification_emails</code> - O atributo notification_emails da tabela vehicle_service_tasks<br>- <code>notification_sms_phone_numbers</code> - O atributo notification_sms_phone_numbers da tabela vehicle_service_tasks<br>- <code>is_notification_push_enabled</code> - O atributo is_notification_push_enabled da tabela vehicle_service_tasks<br>- <code>conclusão_quilometragem</code> - O atributo completion_mileage da tabela vehicle_service_tasks<br>- <code>completion_engine_hours</code> - O atributo completion_engine_hours da tabela vehicle_service_tasks<br>- <code>is_repeat</code> - O atributo is_repeat da tabela vehicle_service_tasks<br>- <code>is_unplanned</code> - O atributo is_unplanned da tabela vehicle_service_tasks<br>- <code>comentário</code> - O atributo comment da tabela vehicle_service_tasks</td></tr><tr><td><strong>Conteúdo</strong></td><td>Oferece suporte a três tipos de gatilho: baseado em data, baseado em Quilometragem, baseado em horas do motor; configurações de notificação para email, SMS, push</td></tr><tr><td><strong>Observações especiais</strong></td><td><code>is_repeat</code> e campos de intervalo permitem cronogramas recorrentes de Manutenção; <code>is_unplanned</code> distingue a Manutenção programada vs. reativa</td></tr></tbody></table>

</details>

Localização e roteamento

<details>

<summary><strong><code>zonas</code></strong></summary>

**Descrição**: Áreas com geocerca que definem perímetros virtuais usando círculos ou polígonos para monitorar eventos de entrada e saída de veículo/Ativo, com suporte à automação baseada em regras e à análise de localização com codificação por cores para diferenciação visual

<table><thead><tr><th width="150">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>zone_id</code> - Identificador da entidade da zona<br>- <code>client_id</code> - Identificador da entidade do cliente<br>- <code>zone_label</code> - O atributo zone_label da tabela zones<br>- <code>zone_type</code> - O atributo zone_type da tabela zones<br>- <code>latitude</code> - Objeto opcional, a caixa delimitadora que pode conter totalmente o resultado retornado<br>- <code>longitude</code> - Objeto opcional, a caixa delimitadora que pode conter totalmente o resultado retornado<br>- <code>circle_center_latitude</code> - O atributo circle_center_latitude da tabela zones<br>- <code>circle_center_longitude</code> - O atributo circle_center_longitude da tabela zones<br>- <code>raio</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - O atributo address da tabela zones<br>- <code>color</code> - O atributo color da tabela zones</td></tr><tr><td><strong>Conteúdo</strong></td><td>Os tipos de zona incluem círculo, polígono (definido via <code>geofence_points</code>), e classificações de áreas especiais</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciado por <code>rules2zones</code>, <code>users2zones</code>; vértices do polígono armazenados em <code>geofence_points</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>As funções do PostGIS podem ser usadas para verificar se um ponto está dentro de um polígono para análise complexa de Geocerca</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Locais</code></strong></summary>

**Descrição**: Pontos de interesse com coordenadas geográficas, definições de raio e suporte extensível a campos personalizados para armazenar informações de contato do cliente e dados específicos do negócio, permitindo integração com CRM/ERP via external\_id e relatórios baseados em localização

<table><thead><tr><th width="129">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>place_id</code> - Lugar identificador da entidade<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>place_label</code> - O atributo place_label da tabela places<br>- <code>latitude</code> - Objeto de localização<br>- <code>longitude</code> - Objeto de localização<br>- <code>raio</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - O atributo address da tabela Locais<br>- <code>descrição</code> - O atributo description da tabela Locais<br>- <code>external_id</code> - ID para integração com sistemas externos (CRM)<br>- <code>custom_fields</code> - Campos adicionais<br>- <code>assigned_datetime</code> - Data e hora da atribuição do ponto de interesse ao usuário</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Estendido com valores de campos personalizados por meio de <code>places_text_fields</code>, <code>Locais_campos_decimais</code>, <code>places_bigint_fields</code>, <code>locais_campos_de_texto_longo</code>, <code>places_linked_entity_fields</code></td></tr><tr><td><strong>Observações especiais</strong></td><td><code>custom_fields</code> JSONB oferece acesso rápido; as tabelas relacionadas permitem filtrar e ordenar por atributos personalizados</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>geofence_points</code></strong></summary>

**Descrição**: Coordenadas ordenadas dos vértices (o campo numérico determina a sequência) que definem os limites do polígono para formas complexas de Geocerca, permitindo perímetros geográficos precisos além de zonas circulares simples, usado com PostGIS ST\_MakePolygon para operações geométricas

<table><thead><tr><th width="133">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>zone_id</code> - Um ID da zona à qual este Formulário está vinculado<br>- <code>número</code> - Número de série<br>- <code>latitude</code> - Localização<br>- <code>longitude</code> - Localização</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Vários registros por <code>zone_id</code> definem os limites do polígono; <code>número</code> o campo determina a ordem dos vértices</td></tr><tr><td><strong>Observações especiais</strong></td><td>Consultar com <code>ORDER BY number</code> para reconstruir o caminho do polígono; use com PostGIS ST_MakePolygon para operações geométricas</td></tr></tbody></table>

</details>

Gerenciamento de Tarefa e fluxo de trabalho

<details>

<summary><strong><code>Tarefas</code></strong></summary>

**Descrição**: Atribuições de ordens de serviço com validação de localização (latitude, longitude, raio), janelas de tempo (time\_from, time\_to), requisitos de duração da visita (stay\_duration\_minutes, arrival\_duration\_minutes), estrutura hierárquica via parent\_task\_id e Monitor de status para gerenciamento de Serviço de Campo e operações de entrega

<table><thead><tr><th width="130">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>task_id</code> - Identificador da entidade Tarefa<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>parent_task_id</code> - Identificador da entidade da tarefa pai<br>- <code>rótulo_da_Tarefa</code> - O atributo task_label da tabela tasks<br>- <code>status</code> - O valor de status do atributo status<br>- <code>task_type</code> - Tipo de Tarefa, Tarefa, Rota ou ponto de verificação<br>- <code>latitude</code> - O atributo latitude da tabela de Tarefas<br>- <code>longitude</code> - O atributo longitude da tabela Tarefas<br>- <code>raio</code> - Tamanho da geolocalização em metros<br>- <code>arrival_datetime</code> - Quando o rastreador chega na área da Tarefa. IGNORADO ao criar/atualizar<br>- <code>created_at</code> - O atributo created_at da tabela Tarefas<br>- <code>status_change_datetime</code> - Data e hora da atualização da Tarefa<br>- <code>time_from</code> - A data e a hora associadas ao atributo time_from<br>- <code>time_to</code> - A data e a hora associadas ao atributo time_to<br>- <code>stay_duration</code> - O atributo stay_duration da tabela de Tarefas<br>- <code>stay_duration_minutes</code> - Duração da visita. O tempo que um trabalhador móvel deve passar no local da atribuição para concluir a tarefa com sucesso. Várias visitas são cumulativas<br>- <code>arrival_duration_minutes</code> - Ignore visitas aleatórias mais curtas do que a duração especificada. Ao calcular a duração mínima, visitas mais curtas do que a duração especificada serão ignoradas<br>- <code>max_delay_minuts</code> - Atraso aceitável. A quantidade máxima de tempo que um funcionário pode se atrasar. Qualquer tarefa concluída durante esse período será marcada como "atrasada"<br>- <code>is_stay_control_enabled</code> - O atributo is_stay_control_enabled da tabela de Tarefas<br>- <code>address</code> - O atributo address da tabela de Tarefas<br>- <code>descrição</code> - O atributo Description da tabela de Tarefas<br>- <code>custom_fields</code> - O atributo custom_fields da tabela de Tarefas<br>- <code>external_id</code> - Identificador de entidade externa<br>- <code>order_sort</code> - O atributo order_sort da tabela de Tarefas<br>- <code>created_by</code> - Origem da Tarefa criada</td></tr><tr><td><strong>Conteúdo</strong></td><td>Oferece suporte a Tarefas hierárquicas via <code>parent_task_id</code>; janelas de tempo definidas por <code>time_from</code>/<code>time_to</code>; validação de Geocerca com localização e raio</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para <code>formulários</code> (coleta de dados), <code>histórico_da_Tarefa</code> (alterações de status), <code>objetos</code> (rastreador atribuído)</td></tr><tr><td><strong>Observações especiais</strong></td><td><code>stay_duration</code> e <code>arrival_duration_minutes</code> ativar o monitoramento de conformidade para tarefas de entrega e serviço</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>formulários</code></strong></summary>

**Descrição**: Formulários configuráveis de coleta de dados para capturar informações estruturadas durante a conclusão da Tarefa ou check-ins do aplicativo móvel, com campos e valores armazenados como JSON, validação de localização opcional (is\_submission\_in\_zone) e requisitos obrigatórios de envio quando anexados às Tarefas

<table><thead><tr><th width="141">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>form_id</code> - Identificador da entidade Formulário<br>- <code>task_id</code> - Um ID da tarefa à qual este formulário está anexado<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>form_label</code> - rótulo do Formulário definido pelo usuário<br>- <code>campos</code> - Se verdadeiro, o formulário pode ser enviado somente na zona de Tarefa<br>- <code>valores</code> - Um mapa com IDs de campo como chaves e objetos field_value como valores. Chave usada para vincular o campo e seu valor correspondente<br>- <code>submitted_at</code> - Data em que os valores do formulário foram enviados pela última vez<br>- <code>submission_latitude</code> - Local em que os valores do Formulário foram enviados pela última vez<br>- <code>submission_longitude</code> - Local em que os valores do Formulário foram enviados pela última vez<br>- <code>submission_address</code> - Local em que os valores do Formulário foram enviados pela última vez<br>- <code>is_submission_in_zone</code> - Se verdadeiro, o formulário pode ser enviado somente na zona de Tarefa<br>- <code>descrição</code> - Data em que este Formulário foi criado (ou anexado à Tarefa)<br>- <code>created_at</code> - Data em que este Formulário foi criado (ou anexado à Tarefa)</td></tr><tr><td><strong>Conteúdo</strong></td><td><code>campos</code> define a estrutura do Formulário (JSON); <code>valores</code> contém os dados enviados (JSON)</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para <code>Tarefas</code> (ordem de serviço associada), <code>objetos</code> (remetente), referenciado em <code>check-ins</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Sinalizador de validação de localização <code>is_submission_in_zone</code> permite regras de envio de formulário baseadas em Geocerca</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>check-ins</code></strong></summary>

**Descrição**: registros de presença e atividade baseados em localização enviados via aplicativo móvel, com rastreamento dos horários de chegada planejados versus reais (planned\_datetime vs actual\_datetime) com coordenadas geográficas e medições de precisão de localização (radius) para relatórios de pontualidade

<table><thead><tr><th width="129">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>checkin_id</code> - Identificador da entidade de check-in<br>- <code>employee_id</code> - O identificador da entidade de funcionário também é o identificador para Motoristas<br>- <code>object_id</code> - Dispositivo do funcionário<br>- <code>form_id</code> - Identificador da entidade Formulário<br>- <code>user_id</code> - Usuário do funcionário<br>- <code>planned_datetime</code> - Hora do dispositivo em que o check-in foi realizado<br>- <code>actual_datetime</code> - Horário do servidor em que a solicitação/mensagem foi processada<br>- <code>latitude</code> - Local em que os check-ins são enviados<br>- <code>longitude</code> - Local em que os check-ins são enviados<br>- <code>raio</code> - Erro de posicionamento em um ponto em metros<br>- <code>address</code> - Endereço de check-in<br>- <code>comentário</code> - O atributo comment da tabela checkins</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Conecta funcionários a formulários e locais; rastreia o desvio do cronograma planejado</td></tr><tr><td><strong>Observações especiais</strong></td><td>Variação de tempo entre <code>planned_datetime</code> e <code>actual_datetime</code> permite o relatório de pontualidade; o raio define a tolerância de localização aceitável</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>histórico_da_Tarefa</code></strong></summary>

**Descrição**: Trilha completa de auditoria dos eventos do ciclo de vida da Tarefa, registrando todas as alterações de status, atribuições, atualizações e modificações de campos com carimbos de data e hora (event\_datetime), atribuição de usuário e tipos de atividade (create, update, assign, status\_change) armazenados no campo payload para análise de conformidade e de fluxo de trabalho

<table><thead><tr><th width="137">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>task_history_id</code> - Identificador da entidade do histórico de tarefas<br>- <code>task_id</code> - Identificador da entidade Tarefa<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>atividade</code> - Operação que ocorreu. Pode ser "create", "update", "assign" ou "status_change"<br>- <code>event_datetime</code> - Data e hora do evento<br>- <code>payload</code> - Depende da operação. Normalmente, contém campos que foram alterados durante a operação</td></tr><tr><td><strong>Conteúdo</strong></td><td>Tipos de atividade definidos em <code>description_parameters</code>; <code>payload</code> armazena detalhes específicos do evento (texto)</td></tr><tr><td><strong>Observações especiais</strong></td><td>Essencial para a análise de conclusão de tarefas, relatórios de transição de status e rastreamento da atividade do usuário</td></tr></tbody></table>

</details>

Regras e automação

<details>

<summary><strong><code>regras</code></strong></summary>

**Descrição** : Regras de detecção de eventos com condições de disparo configuráveis (excesso de velocidade, violações de Geocerca, limiares de sensores, tempo de inatividade) armazenadas em parâmetros (JSONB), e configurações de notificação multicanal (alert\_email, alert\_sms, alert\_phone, is\_push\_enabled) para monitoramento e alertas automatizados com base nos dados do dispositivo e do servidor

<table><thead><tr><th width="131">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>rule_id</code> - Identificador da entidade de regra<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>client_id</code> - Identificador da entidade do cliente<br>- <code>event_type</code> - O atributo event_type da tabela de regras<br>- <code>event_label</code> - O atributo event_label da tabela de regras<br>- <code>event_group</code> - O atributo event_group da tabela rules<br>- <code>descrição</code> - Atributo de descrição da tabela de regras<br>- <code>parâmetros</code> - Parâmetros do evento. Para mais detalhes sobre os parâmetros disponíveis, consulte <a href="https://www.navixy.com/docs/navixy-api/user-api/resources/tracking/tracker/rules/rule_types/">documentação da API Navixy</a>.<br>- <code>alert_email</code> - E-mail para notificações<br>- <code>alert_sms</code> - Números de telefone para notificações por SMS<br>- <code>alert_phone</code> - Telefones para chamadas de voz<br>- <code>is_push_enabled</code> - Se true, as notificações push estão disponíveis<br>- <code>created_at</code> - O atributo created_at da tabela de regras<br>- <code>is_deleted</code> - O atributo is_deleted da tabela de regras<br>- <code>máximo</code> - Limites aplicados a várias regras. Por exemplo, para a regra de tempo ocioso com o motor em funcionamento, em minutos<br>- <code>event_comment1</code> - O atributo event_comment1 da tabela de regras<br>- <code>event_comment2</code> - O atributo event_comment2 da tabela de regras</td></tr><tr><td><strong>Conteúdo</strong></td><td>Parâmetros da regra (JSONB) definem as condições de disparo; oferece suporte a email, SMS, telefone e notificações push</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para objetos via <code>rules2objects</code>, zonas via <code>rules2zones</code></td></tr><tr><td><strong>Observações especiais</strong></td><td><code>event_type</code> define um cenário específico de monitoramento (excesso de velocidade, violação de Geocerca, limite do sensor); <code>máximo</code> o campo permite a agregação de eventos para alertas baseados em limiar</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Relação muitos-para-muitos que vincula regras a Objetos monitorados, com personalização de parâmetros por Objeto via object\_params (JSONB), permitindo diferentes valores de limite (por exemplo, limites de velocidade) para cada veículo ou Ativo dentro da mesma regra

<table><thead><tr><th width="140">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>rule_id</code> - Identificador da entidade de regra<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>param_group_number</code> - O atributo param_group_number da tabela rules2objects<br>- <code>object_params</code> - O atributo object_params da tabela rules2objects</td></tr><tr><td><strong>Conteúdo</strong></td><td><code>object_params</code> (JSONB) permite personalização de regras por Objeto (por exemplo, limites de velocidade diferentes por veículo)</td></tr><tr><td><strong>Observações especiais</strong></td><td>Relacionamento muitos-para-muitos permite que uma regra monitore vários objetos com diferentes parâmetros</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Relacionamento muitos para muitos que associa regras a zonas geocercadas, permitindo que uma única regra monitore eventos de entrada/saída em várias áreas geográficas para cenários complexos de monitoramento espacial

<table><thead><tr><th width="144">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>rule_id</code> - Identificador da entidade de regra<br>- <code>zone_id</code> - Identificador da entidade da zona</td></tr><tr><td><strong>Observações especiais</strong></td><td>A relação muitos-para-muitos permite monitoramento multizona para uma única regra (por exemplo, alerta ao entrar em qualquer uma de várias áreas restritas)</td></tr></tbody></table>

</details>

Status e categorização

<details>

<summary><strong><code>status</code></strong></summary>

**Descrição**: Definições de status personalizadas nas listas de status, incluindo propriedades de exibição (cor para exibição no site, order\_sort para posicionamento) usadas para representar estados de trabalho do dispositivo ou do funcionário com suporte a exclusão lógica via sinalizador is\_deleted

<table><thead><tr><th width="128">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>status_id</code> - Identificador da entidade status<br>- <code>listing_id</code> - Identificador da entidade listing<br>- <code>status_label</code> - Valor de status do atributo status_label<br>- <code>color</code> - Cor usada para exibição no site<br>- <code>order_sort</code> - Posição de ordenação dentro do status de listing<br>- <code>is_deleted</code> - O atributo is_deleted da tabela statuses</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Grupos de status organizados por <code>listing_id</code> (referências <code>status_listings</code>); usado em <code>status_history</code></td></tr><tr><td><strong>Observações especiais</strong></td><td><code>order_sort</code> define a sequência de exibição; a cor permite diferenciação visual nos relatórios</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Definições de conjunto de status que controlam quais valores de status estão disponíveis para dispositivos ou funcionários, com sinalizadores de permissão (is\_supervisor\_controlled, is\_employee\_controlled) determinando se supervisores, funcionários ou ambos podem alterar valores de status

<table><thead><tr><th width="144">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>status_listing_id</code> - Identificador da entidade de listagem de status<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>status_listing_label</code> - Valor de status do atributo status_listing_label<br>- <code>is_supervisor_controlled</code> - Se verdadeiro, supervisores podem alterar o status de trabalho, por exemplo, usando o aplicativo de monitoramento móvel<br>- <code>is_employee_controlled</code> - Se verdadeiro, os funcionários podem alterar seu próprio status de trabalho, por exemplo usando app de Monitor móvel<br>- <code>is_deleted</code> - O atributo is_deleted da tabela status_listings<br>-</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciado por <code>devices.status_listing_id</code> e <code>statuses.listing_id</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Os sinalizadores de controle determinam quem pode alterar os status: apenas supervisor, autoatendimento do funcionário ou ambos</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Trilha de auditoria de todas as transições de status do dispositivo com carimbos de data e hora (changed\_datetime no dispositivo, server\_datetime no servidor), atribuição de usuário (updated\_by) e captura de localização (latitude, longitude, address), permitindo análise geográfica das alterações de status e relatórios de localização de início/fim da jornada de trabalho

<table><thead><tr><th width="143">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>status_history_id</code> - Identificador de entidade do histórico de status<br>- <code>device_id</code> - Identificador da entidade do dispositivo<br>- <code>old_status_id</code> - Identificador da entidade do status antigo<br>- <code>new_status_id</code> - Identificador da entidade do status novo<br>- <code>updated_by</code> - A data e a hora associadas ao atributo updated_by<br>- <code>changed_datetime</code> - Data e hora da atribuição de um novo status no dispositivo<br>- <code>server_datetime</code> - Data e hora da atribuição do novo status do servidor<br>- <code>latitude</code> - Localização de dispositivos durante mudanças de status<br>- <code>longitude</code> - Localização de dispositivos durante mudanças de status<br>- <code>address</code> - Localizando dispositivos durante mudanças de status</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para <code>dispositivos</code>, <code>status</code> (antigo e novo), <code>description_parameters</code> (para <code>updated_by</code> função)</td></tr><tr><td><strong>Observações especiais</strong></td><td>A captura de localização permite a análise geográfica das transições de status; útil para relatórios de localização de início/fim da jornada de trabalho</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Etiquetas</code></strong></summary>

**Descrição**: Etiquetas de categorização definidas pelo usuário com codificação por cores que permitem filtragem e busca rápidas em vários tipos de entidades (Locais, geocercas, funcionários, Tarefas, rastreadores, Veículos) para uma organização flexível

<table><thead><tr><th width="149">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>tag_id</code> - Etiqueta de ID da entidade<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>tag_label</code> - O atributo tag_label da tabela de Etiquetas<br>- <code>color</code> - O atributo de cor da tabela de Etiquetas</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Aplicado às entidades por meio de <code>tag_links</code>; escopo definido pelo usuário</td></tr><tr><td><strong>Observações especiais</strong></td><td>Sistema de categorização flexível que oferece suporte a múltiplas Etiquetas por entidade</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>tag_links</code></strong></summary>

**Descrição**: Tabela de relacionamento polimórfico associando Etiquetas a qualquer tipo de entidade via entity\_type e entity\_id, com campo ordinal para gerenciamento da ordem de exibição, permitindo marcação flexível de múltiplas entidades

<table><thead><tr><th width="127">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>tag_id</code> - Etiqueta de ID da entidade<br>- <code>entity_type</code> - O atributo entity_type da tabela tag_links<br>- <code>entity_id</code> - Identificador da entidade<br>- <code>ordinal</code> - O atributo ordinal da tabela tag_links</td></tr><tr><td><strong>Conteúdo</strong></td><td><code>entity_type</code> identifica a tabela (veículo, funcionário, Tarefa, etc.); <code>ordinal</code> define a ordem de exibição</td></tr><tr><td><strong>Observações especiais</strong></td><td>Relacionamento polimórfico permite marcar diferentes tipos de entidades</td></tr></tbody></table>

</details>

Grupos e hierarquia

<details>

<summary><strong><code>grupos</code></strong></summary>

**Descrição**: Estrutura de agrupamento organizacional para rastreadores, que permite a organização visual na interface do usuário com cores personalizáveis (group\_color) e gerenciamento hierárquico semelhante ao de pastas, servindo atualmente a uma função puramente visual

<table><thead><tr><th width="148">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>group_id</code> - Grupo de rastreadores (vinculado por objects.group_id). A divisão em grupos pode ser vista na lista de beacons, por exemplo<br>- <code>client_id</code> - Identificador da entidade do cliente<br>- <code>rótulo do grupo</code> - Título de grupo especificado pelo usuário, de 1 a 60 caracteres imprimíveis, por exemplo "Funcionários"<br>- <code>group_color</code> - Cor do Grupo em formato web (sem #), por exemplo, "FF6DDC". Determina a cor dos marcadores do rastreador no mapa</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciado por <code>objects.group_id</code>; propriedade do cliente via <code>client_id</code> (referências <code>users</code>)</td></tr><tr><td><strong>Observações especiais</strong></td><td>Permite a organização semelhante à de pastas das entidades de monitoramento para relatórios e permissões</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Relacionamento muitos-para-muitos entre grupos e objetos usando chave primária composta (groups\_client\_id, objects\_client\_id), permitindo que objetos pertençam a vários grupos simultaneamente para estruturas organizacionais flexíveis

<table><thead><tr><th width="135">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>groups_client_id</code> - Identificador da entidade cliente para grupos<br>- <code>objects_client_id</code> - Identificador da entidade cliente para objetos</td></tr><tr><td><strong>Observações especiais</strong></td><td>Permite que objetos pertençam a vários grupos simultaneamente; consulte com ambos <code>client_id</code> valores para associação ao Grupo</td></tr></tbody></table>

</details>

Campos customizados e entidades

<details>

<summary><strong><code>entidades</code></strong></summary>

**Descrição**: Registro de tipo de entidade que define quais entidades de negócio oferecem suporte a Campos customizados e sua estrutura de layout dos campos (sections, field\_order) armazenada em entity\_label (JSONB), permitindo a extensão dinâmica do esquema em Locais, Tarefas e outras entidades sem alterações no banco de dados

<table><thead><tr><th width="141">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>entity_id</code> - Identificador da entidade<br>- <code>user_id</code> - Identificador da entidade de usuário<br>- <code>entity_label</code> - id - int. Identificador da entidade. type - enum. Atualmente, apenas "Lugar" é suportado. layout - Objeto descreve o layout dos campos da entidade. sections - array de objetos. Cada seção pode conter um ou mais campos. Pelo menos uma seção deve existir em um layout. label - string. Nome da seção. field_order - string array. Campos integrados e IDs de Campos customizados (como strings)<br>- <code>builtin_type</code> - O atributo builtin_type da tabela entities</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciado por <code>custom_fields</code> para definir quais Campos customizados se aplicam a quais tipos de entidade</td></tr><tr><td><strong>Observações especiais</strong></td><td><code>builtin_type</code> se vincula a <code>description_parameters</code> para classificações de entidades definidas pelo sistema</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Definições de Campos customizados que permitem a extensão dinâmica do esquema para tipos de entidade, com tipos de campo configuráveis (custom\_field\_type), regras de validação e opções em parameters (JSONB), e sinalizadores de obrigatoriedade (is\_required) para captura flexível de dados em Locais, Tarefas e outras entidades

<table><thead><tr><th width="146">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>custom_field_id</code> - Identificador da entidade do Campo customizado<br>- <code>entity_id</code> - Identificador da entidade<br>- <code>custom_field_label</code> - Nome do campo<br>- <code>custom_field_type</code> - Tipo de dado no campo<br>- <code>descrição</code> - Descrição do campo<br>- <code>is_required</code> - É obrigatório ou não?<br>- <code>parâmetros</code> - Parâmetros do campo</td></tr><tr><td><strong>Conteúdo</strong></td><td><code>parâmetros</code> (JSONB) armazena a configuração específica do tipo de campo (regras de validação, opções de lista suspensa etc.)</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Define os atributos personalizados disponíveis para entidades; o tipo de campo se vincula a <code>description_parameters</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Permite a extensão dinâmica do esquema sem alterações no banco de dados; usado amplamente em <code>Locais</code> e <code>Tarefas</code></td></tr></tbody></table>

</details>

Monitor histórico

<details>

<summary><strong><code>histórico_do_motorista</code></strong></summary>

**Descrição**: Trilha de auditoria completa de atribuições de funcionário para veículo ao longo do tempo, com Monitor de transições de old\_employee\_id para new\_employee\_id com timestamps (changed\_datetime, server\_datetime), dados de localização (latitude, longitude, address), informações da chave de hardware e atribuição do usuário (updated\_by), permitindo análises específicas por Motorista quando Motoristas trocam entre Veículos

<table><thead><tr><th width="146">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>Motorista_history_id</code> - Identificador da entidade de histórico do Motorista<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>old_employee_id</code> - Identificador da entidade de funcionário antigo<br>- <code>new_employee_id</code> - Identificador da entidade de funcionário<br>- <code>hardware_key</code> - O atributo hardware_key da tabela driver_history<br>- <code>changed_datetime</code> - Foram feitas alterações de data e hora no dispositivo<br>- <code>server_datetime</code> - Data e hora das alterações feitas no servidor<br>- <code>updated_by</code> - A data e a hora associadas ao atributo updated_by<br>- <code>latitude</code> - O atributo latitude da tabela driver_history<br>- <code>longitude</code> - O atributo de longitude da tabela driver_history<br>- <code>address</code> - O atributo de endereço da tabela driver_history</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Acompanha as atribuições do Motorista aos Veículos ao longo do tempo; vincula a <code>funcionários</code> e <code>objetos</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Essencial para relatórios específicos por Motorista quando Motoristas trocam de Veículos; a captura de localização permite a análise de localização da alteração de atribuição</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Trilha de auditoria do rastreamento que registra quais dispositivos GPS (object\_id) foram instalados em quais Veículos (vehicle\_id) ao longo do tempo, com os carimbos de data e hora das alterações (changed\_datetime), permitindo a atribuição precisa de dados históricos e o cálculo da Quilometragem quando os rastreadores são movidos entre Veículos

<table><thead><tr><th width="144">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>vehicle_tracker_history_id</code> - Identificador da entidade de histórico do rastreador do veículo<br>- <code>vehicle_id</code> - Identificador da entidade do veículo<br>- <code>object_id</code> - Objeto identificador de entidade<br>- <code>changed_datetime</code> - A data e a hora associadas ao atributo changed_datetime</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Rastreia qual dispositivo GPS foi instalado em qual veículo ao longo do tempo</td></tr><tr><td><strong>Observações especiais</strong></td><td>Crítico para a análise de dados históricos quando os rastreadores são movidos entre Veículos; permite a atribuição precisa de Quilometragem e de uso</td></tr></tbody></table>

</details>

Dados de referência e consulta

<details>

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

**Descrição**: Dados de referência de todo o sistema que fornecem rótulos legíveis por humanos (descrição) para valores inteiros enumerados (chave) usados em todo o banco de dados, organizados pelo campo type (por exemplo, task\_status, fuel\_type, counter\_type, entity\_classification) para garantir a tradução consistente dos valores em relatórios e na interface do usuário

<table><thead><tr><th width="146">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>chave</code> - Valor possível no atributo<br>- <code>tipo</code> - Um atributo composto que consiste no nome da tabela seguido por um sublinhado e pelo nome de um atributo na tabela<br>- <code>descrição</code> - Valor implícito de um atributo</td></tr><tr><td><strong>Conteúdo</strong></td><td>Fornece rótulos legíveis para valores codificados em todo o banco de dados (status da Tarefa, tipos de Combustível, tipos de contador, etc.)</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciado por meio de chaves estrangeiras de várias tabelas para categorização padronizada</td></tr><tr><td><strong>Observações especiais</strong></td><td>Essencial para traduzir códigos inteiros em valores legíveis em relatórios; <code>tipo</code> enumerações relacionadas a grupos de campos</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>counters</code></strong></summary>

**Descrição**: configurações do Odômetro e do contador de horas do motor que vinculam as leituras de sensor do dispositivo (sensor\_id) a medições de distância ou tempo com coeficientes multiplicadores para conversão de unidades (km, milhas, horas) e counter\_type de description\_parameters definindo o tipo de medição

<table><thead><tr><th width="140">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>counter_id</code> - ID interno<br>- <code>device_id</code> - Identificador da entidade do dispositivo<br>- <code>counter_type</code> - Tipo de contador<br>- <code>sensor_id</code> - Identificador da entidade sensor<br>- <code>multiplier</code> - Coeficiente para converter valores em uma das métricas (km, l, etc.)</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Vincula dispositivos a leituras de sensor que representam contadores de distância ou tempo</td></tr><tr><td><strong>Observações especiais</strong></td><td><code>multiplier</code> converte pulsos do sensor em unidades reais (km, milhas, horas); <code>counter_type</code> de <code>description_parameters</code> define o tipo de medição</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Rótulos personalizados para canais de saída do dispositivo, que mapeiam identificadores numéricos de saída (number) para nomes definidos pelo usuário (label), como "Trava da porta" ou "Bloqueio do motor", para relatórios e análises legíveis dos comandos e estados de saída do dispositivo

<table><thead><tr><th width="140">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>device_id</code> - Identificador da entidade do dispositivo<br>- <code>número</code> - O atributo number da tabela device_output_name<br>- <code>label</code> - O atributo label da tabela device_output_name</td></tr><tr><td><strong>Conteúdo</strong></td><td>Mapeia números de canais de saída para nomes definidos pelo usuário (por exemplo, "Trava da porta", "Bloqueio do motor")</td></tr><tr><td><strong>Observações especiais</strong></td><td>Permite relatórios legíveis ao analisar comandos e estados de saída do dispositivo</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Pares chave-valor de configuração do dispositivo sincronizados da plataforma de origem. Cada linha armazena uma configuração para um dispositivo específico.

<table><thead><tr><th width="140">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>device_id</code> - Identificador da entidade do dispositivo<br>- <code>chave</code> - Nome da configuração<br>- <code>valor</code> - Valor da configuração</td></tr><tr><td><strong>Chave primária</strong></td><td>Composta: <code>(device_id, key)</code></td></tr><tr><td><strong>Observações especiais</strong></td><td>Preenchida durante a sincronização completa do cliente. Use esta tabela para ler valores de configuração em nível de dispositivo juntamente com dados telemáticos ou de negócios.</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Tabela de referência de códigos de eventos do rastreador com descrições legíveis. Contém 134 entradas que abrangem eventos comuns do rastreador, como SOS, Modo de repouso, Ignição e alterações de entrada/saída digital.

<table><thead><tr><th width="140">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td>- <code>event_id</code> - Código do evento (chave primária)<br>- <code>descrição</code> - Nome de evento legível por humanos</td></tr><tr><td><strong>Observações especiais</strong></td><td>Junte-se a <code>raw_telematics_data.tracking_data_core</code> ligado <code>event_id</code> para exibir nomes de eventos em Relatórios e painéis em vez de códigos numéricos.</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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
