> 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 tabelas principais para análise SQL

Este esquema contém mais de 40 tabelas cuidadosamente selecionadas para abranger diversos 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 esquema 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 de negócios brutos.

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

```sql
Table "vehicle_service_tasks" {
  "record_added_at" timestamp [not null]
  "start_mileage" numérico
  "comment" "character varying(255)"
  "status" "character varying(10)" [not null]
  "completion_date" timestamp
  "start_engine_hours" numérico
  "service_task_id" inteiro [não nulo]
  "is_notification_push_enabled" boolean [not null]
  intervalo "date_notification_interval"
  "predicted_datetime" timestamp
  "cost" numérico [não nulo]
  "mileage_limit" numérico
  "notification_emails" texto
  "is_unplanned" boolean [not null]
  "is_repeat" boolean [not null]
  "completion_engine_hours" integer
  "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
  "descrição" "character varying(255)"
  "notification_sms_phone_numbers" texto
  "end_date" carimbo de data/hora
  "engine_hours_repeat_interval" integer
  "completion_mileage" inteiro
}

Table "garages" {
  "record_added_at" timestamp [not null]
  "garage_id" integer [not null]
  "longitude" numérico
  "mechanic_name" "character varying(255)"
  "radius" inteiro [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 [not null]
  "address" "character varying(255)"
  "updated_by" inteiro [não nulo]
  "object_id" inteiro
  "longitude" numérico
  "latitude" numérico
  "driver_history_id" integer [not null]
  "hardware_key" "character varying(64)"
  "new_employee_id" inteiro
  "changed_datetime" carimbo de data/hora
  "record_added_at" timestamp [not null]
  "old_employee_id" integer
}

Tabela "departments" {
  "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" inteiro [não nulo]
  "longitude" numérico
  "user_id" integer [not null]
}

Table "checkins" {
  "radius" inteiro [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 [not null]
  "user_id" integer [not null]
  "form_id" inteiro [não nulo]
  "address" "character varying(255)"
  "planned_datetime" timestamp [not null]
  "Objeto_id" inteiro [não nulo]
  "checkin_id" integer [not null]
  "comentário" texto
}

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

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

Table "places_text_fields" {
  "place_id" integer [not null]
  "record_added_at" timestamp [not null]
  "value" text [not null]
  "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]
  "Objeto_id" inteiro [não nulo]
}

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]
  "parâmetros" jsonb
  "custom_field_type" integer [not null]
  "descrição" texto
  "custom_field_id" integer [not null]
}

Tabela "places_decimal_fields" {
  "field_id" integer [not null]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
  "value" numeric [not null]
}

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

Table "tags" {
  "tag_label" "character varying(64)" [not null]
  "color" "character varying(6)"
  "user_id" integer [not null]
  "record_added_at" timestamp [not null]
  "tag_id" inteiro [não nulo]
}

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

Tabela "vehicle_trackers_history" {
  "vehicle_id" integer [not null]
  "record_added_at" timestamp [not null]
  "Objeto_id" inteiro [não nulo]
  "changed_datetime" timestamp [não nulo]
  "vehicle_tracker_history_id" integer [not null]
}

Table "groups" {
  "group_id" integer [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]
}

Tabela "sensor_description" {
  "record_added_at" timestamp [not null]
  "parâmetros" 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" integer [not null]
  "sensor_id" integer [not null]
  "device_id" integer [not null]
  "sensor_type" "character varying(45)" [not null]
  "group_type" inteiro [não nulo]
  "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" inteiro [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 [não nulo]
  "latitude" numeric [not null]
  "record_added_at" timestamp [not null]
  "longitude" numeric [not null]
}

Table "vehicles" {
  "vehicle_id" integer [not null]
  "payload_length" numérico
  "VIN" "character varying(20)"
  "free_Seguro_policy_number" "character varying(50)"
  "vehicle_label" "character varying(100)"
  "payload_width" numérico
  "color" "character varying(6)"
  "reboque" "character varying(255)"
  "object_id" inteiro
  "vehicle_status_id" inteiro
  "liability_insurance_valid_till" timestamp
  "manufacture_year" inteiro
  "fuel_grade" "character varying(16)"
  "custo_de_combustível" numeric
  "fuel_tank_volume" numérico
  "model" "character varying(100)"
  "garage_id" inteiro
  "payload_height" numérico
  "max_speed" numérico
  "registration_number" "character varying(32)"
  "tyre_size" "character varying(50)"
  "passenger_capacity" inteiro
  "record_added_at" timestamp [not null]
  "trailer_reg_number" "character varying(32)"
  "free_insurance_valid_till_date" timestamp
  "gross_weight" numérico
  "standard_fuel_consumption" numérico
  "fuel_type" inteiro
  "payload_weight" numérico
  "additional_info" texto
  "vehicle_subtype" "character varying(32)"
  "número_da_apólice_de_Seguro_de_responsabilidade_civil" "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" inteiro
  "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" inteiro [não nulo]
}

Table "rules" {
  "rule_id" integer [not null]
  "Objeto_id" inteiro [não nulo]
  "parâmetros" 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" inteiro [não nulo]
  "address" "character varying(255)"
  "latitude" numérico
  "record_added_at" timestamp [not null]
  "server_datetime" timestamp [not null]
  "changed_datetime" carimbo de data/hora
  "old_status_id" integer
}

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

Tabela "forms" {
  "Objeto_id" inteiro [não nulo]
  "descrição" texto
  "form_label" "character varying(255)" [not null]
  texto "campos"
  "created_at" timestamp [not null]
  "submission_address" "character varying(255)"
  "submission_latitude" numérico
  "form_id" inteiro [não nulo]
  "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" inteiro [não nulo]
  "Objeto_id" inteiro [não nulo]
  "record_added_at" timestamp [not null]
  "rule_id" integer [not null]
}

Table "tasks" {
  "time_from" carimbo de data/hora
  "stay_duration_minutes" intervalo
  "external_id" "character varying(100)"
  "object_id" inteiro
  "task_type" inteiro
  intervalo "arrival_duration_minutes"
  "status" inteiro
  "arrival_datetime" timestamp
  "record_added_at" timestamp [not null]
  "task_id" inteiro [não nulo]
  "user_id" integer
  "status_change_datetime" carimbo de data/hora
  "order_sort" inteiro
  "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" inteiro
  "description" text [not null]
  "radius" inteiro
  "latitude" numérico
  "stay_duration" integer
  "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]
}

Table "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]
  "id_do_proprietário" inteiro [não nulo]
  "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]
}

Table "employees" {
  "driver_license_valid_till" carimbo de data e 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" inteiro [não nulo]
  "longitude" numérico
}

Tabela "places_longtext_fields" {
  "field_id" integer [not null]
  "value" text [not null]
  "record_added_at" timestamp [not null]
  "place_id" integer [not null]
}

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

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

Tabela "device_settings" {
  "device_id" integer [not null]
  "key" "character varying" [não nulo]
  "value" 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" < "Departamentos"."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" < "tasks"."created_at"

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

Ref:\"description_parameters\".\"key\" < \"Veículos\".\"Combustível_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:\"Tarefas\".\"task_id\" < \"forms\".\"task_id\"

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

Ref:"Objeto"."object_id" < "Tarefas"."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" < "Locais"."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:"Locais"."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"

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" < "Tarefas"."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 esquema são sincronizados com o DB central. 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 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 tipo</td><td>Tipos de entidade padrão</td><td><code>vehicle_type: car, truck, bus</code></td></tr><tr><td>Códigos de status</td><td>Valores de status da Tarefa e do sistema</td><td><code>Tarefas_status: não atribuído, atribuído, concluído</code></td></tr><tr><td>Definições de unidades</td><td>Unidades de medida 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`** Os schemas são organizados em categorias funcionais para facilitar a navegação. A tabela abaixo resume as tabelas principais por sua finalidade de negócios:

Entidades principais de negócios

<details>

<summary><strong><code>usuários</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 exclusivo 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> - Patronímico 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 cadastro 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>Notas especiais</strong></td><td>Entidade central que conecta dados organizacionais; <code>master_id</code> permite hierarquias de usuários para estruturas de conta multinível</td></tr></tbody></table>

</details>

<details>

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

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

<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 do usuário<br>- <code>Objeto_id</code> - Objeto identificador da 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>categorias_da_carteira_de_motorista</code> - categorias de carteira de Motorista<br>- <code>data_de_emissão_da_carteira_de_motorista</code> - Data de emissão de uma carteira de motorista<br>- <code>carteira_de_motorista_valida_ate</code> - Data até uma carteira de Motorista válida<br>- <code>hardware_key</code> - Uma chave de hardware<br>- <code>e-mail</code> - E-mail do funcionário<br>- <code>phone_number</code> - Telefone do funcionário sem o sinal "+"<br>- <code>address</code> - Endereço do local<br>- <code>personnel_number</code> - Número pessoal do funcionário/motorista<br>- <code>citizen_id_number</code> - Número de Seguro Social<br>- <code>latitude</code> - Local associado a este funcionário<br>- <code>longitude</code> - Local associado a este funcionário<br>- <code>radius</code> - Local associado a este funcionário em metros<br>- <code>consumo_de_Combustível</code> - O atributo fuel_consumption da tabela de funcionários<br>- <code>custo_de_Combustível</code> - O atributo fuel_cost da tabela de funcionários<br>- <code>is_deleted</code> - O atributo is_deleted da tabela employees</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Links para <code>usuários</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>Notas especiais</strong></td><td>A chave de hardware permite a identificação do Motorista via iButton ou RFID; oferece suporte a geocercas com <code>latitude</code>, <code>longitude</code>, <code>radius</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 do funcionário

<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 do 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>radius</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - O atributo address 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>Notas especiais</strong></td><td>Os campos de localização oferecem suporte a análises baseadas em Geocerca para relatórios no nível de departamento</td></tr></tbody></table>

</details>

Monitor e monitoramento

<details>

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

**Descrição**: Registro de dispositivos de rastreamento físico com identificadores de hardware (IMEI), informações do cartão SIM, status de conectividade de rede (intensidade do sinal, itinerância, operadora) e atribuições de listagem 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>id_do_Proprietário</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> - ID do Status do dispositivo<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>modelos</code>, <code>sensor_description</code>, <code>contadores</code>; <code>id_do_Proprietário</code> referências <code>users.user_id</code></td></tr><tr><td><strong>Notas especiais</strong></td><td>Todos os dados telemáticos em <code>raw_telematics_data</code> o esquema faz referência a esta tabela por meio de <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>Objeto_id</code> - Objeto identificador da entidade<br>- <code>client_id</code> - identificador da entidade 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 de entidade<br>- <code>create_datetime</code> - Data e hora de 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 conectando dispositivos a usuários (<code>client_id</code>), detalhes do veículo, histórico de rastreamento, tarefas e regras</td></tr><tr><td><strong>Notas 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>modelos</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 das saídas 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>Sinalizadores booleanos de capacidade indicam quais campos de dados estão disponíveis para este tipo de dispositivo</td></tr><tr><td><strong>Notas especiais</strong></td><td>Use os sinalizadores de capacidade para determinar os 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 as 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 do 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) do qual 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 estão ocorrendo abastecimentos ou drenagens. 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 da 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 pertencendo ao mesmo Grupo. Os dados deles são somados ou em média, dependendo do valor do group_type. Isso é necessário para sensores agregados. É usado em sensores de medição<br>- <code>tipo_do_Grupo</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 - opcional array de parent_ids para sensor composto. volume - double. Opcional. Volume para sensor composto. parent_ids - opcional array de 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. Valor máximo legal de redução por hora. max_lowering_by_mileage - opcional. Double. Valor máximo legal de redução 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, 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 faz sentido somente se o modelo do rastreador tiver o recurso has_custom_fields</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Vincula 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> correspondente</td></tr><tr><td><strong>Notas 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>

Gerenciamento de Ativo

<details>

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

**Descrição**: Registro abrangente de veículos que contém especificações (dimensões, peso, capacidade), documentação (VIN, registro, Seguro), parâmetros operacionais (Consumo de combustível, volume do tanque) e a atribuição atual do rastreador via 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 do usuário<br>- <code>Objeto_id</code> - Objeto identificador da 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 Veículos<br>- <code>manufacture_year</code> - O atributo manufacture_year da tabela de Veículos<br>- <code>tipo_de_Combustível</code> - O atributo fuel_type da tabela Veículos<br>- <code>custo_de_Combustível</code> - O atributo fuel_cost da tabela Veículos<br>- <code>volume_tanque_de_Combustível</code> - O atributo fuel_tank_volume da tabela Veículos<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>cor</code> - O atributo color da tabela de Veículos<br>- <code>reboque</code> - O atributo trailer da tabela de Veículos<br>- <code>additional_info</code> - O atributo additional_info da tabela de 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 de 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 Veículos<br>- <code>payload_height</code> - O atributo payload_height da tabela Veículos<br>- <code>payload_length</code> - O atributo payload_length da tabela Veículos<br>- <code>payload_width</code> - O atributo payload_width da tabela 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>consumo padrão de Combustível</code> - Consumo de combustível médio normal em litros por 100 km<br>- <code>grau_de_combustível</code> - O atributo fuel_grade da tabela Veículos<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>responsabilidade_Seguro_válido_até</code> - A data até a qual o Seguro de responsabilidade civil é válido<br>- <code>numero_da_apolice_de_seguro_gratis</code> - O atributo free_insurance_policy_number da tabela de Veículos<br>- <code>free_Seguro_valid_till_date</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>tarefas_de_serviço_de_veículos</code>; rastreado em <code>vehicle_trackers_history</code></td></tr><tr><td><strong>Notas especiais</strong></td><td>Campos de dimensões físicas (<code>payload_length</code>, <code>payload_width</code>, <code>payload_height</code>, <code>gross_weight</code>) oferece suporte a análises de planejamento de carga; as datas de Seguro permitem 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 do usuário<br>- <code>latitude</code> - Objeto de localização<br>- <code>longitude</code> - Objeto de localização<br>- <code>radius</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - Objeto de localização<br>- <code>organization_label</code> - Garagem ID<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>Notas 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>tarefas_de_serviço_de_veículos</code></strong></summary>

**Descrição**: cronograma de Manutenção e Monitor do histórico de serviços com vários tipos de gatilho (baseados em data, baseados em Quilometragem, baseados em horas do motor), intervalos recorrentes de 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 de custo da tabela vehicle_service_tasks<br>- <code>start_date</code> - A data e a hora associadas ao atributo start_date<br>- <code>end_date</code> - A data e 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 a 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_Quilometragem</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>intervalo_de_notificação_de_Quilometragem</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 para N dias<br>- <code>Quilometragem_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 para 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>completion_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 de comentário da tabela vehicle_service_tasks</td></tr><tr><td><strong>Conteúdo</strong></td><td>Oferece suporte a três tipos de gatilho: baseados em data, baseados em Quilometragem, baseados em horas de motor; configurações de notificação para email, SMS, push</td></tr><tr><td><strong>Notas especiais</strong></td><td><code>is_repeat</code> e os campos de intervalo permitem agendamentos recorrentes de Manutenção; <code>is_unplanned</code> distingue 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 geocercadas que definem perímetros virtuais usando círculos ou polígonos para monitorar eventos de entrada e saída de veículo/Ativo, oferecendo 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 zona<br>- <code>client_id</code> - identificador da entidade 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>radius</code> - Tamanho da geolocalização em metros<br>- <code>address</code> - O atributo address da tabela zones<br>- <code>cor</code> - O atributo de cor da tabela de zonas</td></tr><tr><td><strong>Conteúdo</strong></td><td>Os tipos de zona incluem círculo, polígono (definido via <code>Geocerca_pontos</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>Geocerca_pontos</code></td></tr><tr><td><strong>Notas especiais</strong></td><td>Funções do PostGIS podem ser usadas para verificar ponto em polígono em análises complexas 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 com base na 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 de entidade<br>- <code>user_id</code> - Identificador da entidade do usuário<br>- <code>lugar_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>radius</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 de 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>locais_campos_de_texto</code>, <code>Locais_decimal_fields</code>, <code>Locais_bigint_fields</code>, <code>Locais_longtext_fields</code>, <code>Locais_campos_de_entidades_vinculadas</code></td></tr><tr><td><strong>Notas especiais</strong></td><td><code>custom_fields</code> JSONB fornece acesso rápido; tabelas relacionadas permitem filtrar e classificar por atributos personalizados</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Geocerca_pontos</code></strong></summary>

**Descrição**: Coordenadas ordenadas dos vértices (o campo number determina a sequência) definindo 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á anexado<br>- <code>number</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>number</code> o campo determina a ordem dos vértices</td></tr><tr><td><strong>Notas 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, radius), 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>Tarefa_id</code> - identificador da entidade Tarefa<br>- <code>user_id</code> - Identificador da entidade do usuário<br>- <code>Objeto_id</code> - Objeto identificador da 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 Tarefas<br>- <code>status</code> - O valor de status do atributo status<br>- <code>tipo de tarefa</code> - Tipo de Tarefa, Tarefa, Rota ou ponto de controle<br>- <code>latitude</code> - O atributo de latitude da tabela Tarefas<br>- <code>longitude</code> - O atributo longitude da tabela de tarefas<br>- <code>radius</code> - Tamanho da geolocalização em metros<br>- <code>arrival_datetime</code> - Quando o rastreador chegar 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 hora associadas ao atributo time_from<br>- <code>time_to</code> - A data e hora associadas ao atributo time_to<br>- <code>stay_duration</code> - O atributo stay_duration da tabela 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 êxito. 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. O tempo máximo 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 da entidade externa<br>- <code>order_sort</code> - O atributo order_sort da tabela de Tarefas<br>- <code>created_by</code> - Fonte 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>Tarefa_history</code> (alterações de status), <code>objetos</code> (rastreador atribuído)</td></tr><tr><td><strong>Notas especiais</strong></td><td><code>stay_duration</code> e <code>arrival_duration_minutes</code> habilite 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 no aplicativo móvel, com campos e valores armazenados como JSON, validação opcional de localização (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 do Formulário<br>- <code>Tarefa_id</code> - Um ID da Tarefa à qual este Formulário está anexado<br>- <code>Objeto_id</code> - Objeto identificador da entidade<br>- <code>formulário_label</code> - Rótulo de formulário definido pelo usuário<br>- <code>campos</code> - Se verdadeiro, Formulário pode ser enviado apenas na zona da Tarefa<br>- <code>valores</code> - Um mapa com IDs dos campos 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, Formulário pode ser enviado apenas na zona da 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>Notas 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 na localização enviados por meio do 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 (raio) 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 Checkin<br>- <code>employee_id</code> - O identificador da entidade funcionário também é o identificador dos Motoristas<br>- <code>Objeto_id</code> - Dispositivo do funcionário<br>- <code>form_id</code> - Identificador da entidade do Formulário<br>- <code>user_id</code> - Usuário do funcionário<br>- <code>planned_datetime</code> - Hora do dispositivo quando o check-in foi realizado<br>- <code>actual_datetime</code> - Hora do servidor quando a solicitação/mensagem foi processada<br>- <code>latitude</code> - Local em que os check-ins foram enviados<br>- <code>longitude</code> - Local em que os check-ins foram enviados<br>- <code>radius</code> - Erro de posicionamento em um ponto em metros<br>- <code>address</code> - Endereço do 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>Notas 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>Tarefa_history</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 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 Tarefa<br>- <code>Tarefa_id</code> - identificador da entidade Tarefa<br>- <code>user_id</code> - Identificador da entidade do 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>carga útil</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>carga útil</code> armazena detalhes específicos do evento (texto)</td></tr><tr><td><strong>Notas especiais</strong></td><td>Essencial para a análise da conclusão de Tarefa, 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 acionamento configuráveis (excesso de velocidade, violações de Geocerca, limites de sensor, tempo ocioso) armazenadas em parâmetros (JSONB), e configurações de notificação multicanal (alert\_email, alert\_sms, alert\_phone, is\_push\_enabled) para monitoramento automatizado e alertas 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 da regra<br>- <code>Objeto_id</code> - Objeto identificador da entidade<br>- <code>client_id</code> - identificador da entidade cliente<br>- <code>event_type</code> - O atributo event_type da tabela rules<br>- <code>event_label</code> - O atributo event_label da tabela rules<br>- <code>grupo_de_evento</code> - O atributo event_group da tabela de regras<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, veja <a href="https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/tracker/rules/rule_types/">Documentação da API da 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 verdadeiro, as notificações por 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>maximum</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>Os parâmetros da regra (JSONB) definem as condições de disparo; oferece suporte a e-mail, 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>Notas especiais</strong></td><td><code>event_type</code> define cenário específico de monitoramento (excesso de velocidade, violação de Geocerca, limite do sensor); <code>maximum</code> campo habilita 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**: relacionamento muitos-para-muitos que vincula regras a Objeto monitorado com personalização de parâmetros por Objeto via object\_params (JSONB), permitindo valores de limite diferentes (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 da regra<br>- <code>Objeto_id</code> - Objeto identificador da entidade<br>- <code>param_group_number</code> - O atributo param_group_number da tabela rules2objects<br>- <code>objeto_params</code> - O atributo object_params da tabela rules2objects</td></tr><tr><td><strong>Conteúdo</strong></td><td><code>objeto_params</code> (JSONB) permite a personalização de regras por Objeto (por exemplo, limites de velocidade diferentes por veículo)</td></tr><tr><td><strong>Notas especiais</strong></td><td>Relação muitos-para-muitos permite que uma regra monitore vários objetos com parâmetros diferentes</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: relação muitos-para-muitos que associa regras a zonas de geocerca, 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 da regra<br>- <code>zone_id</code> - Identificador da entidade de zona</td></tr><tr><td><strong>Notas especiais</strong></td><td>O relacionamento 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 personalizadas de status nas listagens 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 por meio do 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 de status<br>- <code>listing_id</code> - Identificador da entidade da listagem<br>- <code>status_label</code> - Valor de status do atributo status_label<br>- <code>cor</code> - Cor usada para exibição no site<br>- <code>order_sort</code> - Posição de ordenação dentro da listagem de status<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>Notas especiais</strong></td><td><code>order_sort</code> define a sequência de exibição; a cor permite diferenciação visual em relatórios</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Definições dos conjuntos 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 os 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 do usuário<br>- <code>status_listing_label</code> - Valor do 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 o aplicativo móvel de Monitor<br>- <code>is_deleted</code> - O atributo is_deleted da tabela status_listings</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>Notas especiais</strong></td><td>As flags de controle determinam quem pode alterar os status: somente 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 geração de 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 da 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 novo status<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> - Localização de 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>Notas especiais</strong></td><td>A captura de localização permite análise geográfica das transições de status; útil para relatórios de localização de início/fim do expediente</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Rótulos de categorização definidos pelo usuário com codificação por cor que permitem filtragem e busca rápidas entre vários tipos de entidades (Locais, geocercas, funcionários, Tarefas, rastreadores, Veículos) para 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 do usuário<br>- <code>etiqueta_label</code> - O atributo tag_label da tabela tags<br>- <code>cor</code> - O atributo de cor da tabela de Etiquetas</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Aplicado às entidades via <code>etiqueta_links</code>; escopo definido pelo usuário</td></tr><tr><td><strong>Notas especiais</strong></td><td>Sistema flexível de categorização que oferece suporte a várias Etiquetas por entidade</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>etiqueta_links</code></strong></summary>

**Descrição**: Tabela de relacionamento polimórfico que associa Etiquetas a qualquer tipo de entidade por meio de entity\_type e entity\_id, com campo ordinal para gerenciamento da ordem de exibição, permitindo etiquetagem 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>Notas especiais</strong></td><td>Relacionamento polimórfico permite a marcação entre diferentes tipos de entidade</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 a pastas, atualmente com 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 do rastreador (vinculado por objects.group_id). A divisão em grupos pode ser vista na lista de balizas, por exemplo<br>- <code>client_id</code> - identificador da entidade cliente<br>- <code>grupo_label</code> - Título do Grupo especificado pelo usuário, de 1 a 60 caracteres imprimíveis, por exemplo, "Employees"<br>- <code>cor_do_grupo</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>usuários</code>)</td></tr><tr><td><strong>Notas especiais</strong></td><td>Permite a organização semelhante a pastas de 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**: Relação muitos-para-muitos entre grupos e objetos usando chave primária composta (groups\_client\_id, objects\_client\_id), permitindo que objetos pertençam a múltiplos 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>Notas especiais</strong></td><td>Permite que objetos pertençam a múltiplos grupos simultaneamente; consulte com ambos <code>client_id</code> valores para associação a grupos</td></tr></tbody></table>

</details>

Campos customizados e entidades

<details>

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

**Descrição**: Registro de tipos 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 do 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 - array de strings. 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>Notas especiais</strong></td><td><code>builtin_type</code> links para <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 personalizados 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 personalizado<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> - Isto é 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>Notas especiais</strong></td><td>Permite a extensão dinâmica do esquema sem alterações no banco de dados; usado extensivamente 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 completa de auditoria das atribuições de funcionário para Veículos ao longo do tempo Monitorando transições de old\_employee\_id para new\_employee\_id com carimbos de data e hora (changed\_datetime, server\_datetime), dados de localização (latitude, longitude, address), informações de chave de hardware e atribuição de usuário (updated\_by), permitindo análises específicas do Motorista quando Motoristas alternam 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>id_historico_do_motorista</code> - Identificador da entidade de histórico do Motorista<br>- <code>Objeto_id</code> - Objeto identificador da entidade<br>- <code>old_employee_id</code> - Identificador da entidade de funcionário anterior<br>- <code>new_employee_id</code> - Identificador da entidade de novo funcionário<br>- <code>hardware_key</code> - O atributo hardware_key da tabela driver_history<br>- <code>changed_datetime</code> - Alterações de data e hora foram feitas 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>Rastreia as atribuições de Motorista aos Veículos ao longo do tempo; vincula-se a <code>funcionários</code> e <code>objetos</code></td></tr><tr><td><strong>Notas especiais</strong></td><td>Essencial para relatórios específicos de Motoristas quando os Motoristas trocam de Veículos; a captura de localização permite a análise de localização da mudança de atribuição</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Monitor do registro de auditoria de quais dispositivos GPS (object\_id) foram instalados em quais Veículos (vehicle\_id) ao longo do tempo com carimbos de data e hora de alteração (changed\_datetime), permitindo atribuição precisa de dados históricos e cálculo de 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 do histórico do rastreador do veículo<br>- <code>vehicle_id</code> - Identificador da entidade do veículo<br>- <code>Objeto_id</code> - Objeto identificador da 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>Registra qual dispositivo GPS foi instalado em qual veículo ao longo do tempo</td></tr><tr><td><strong>Notas especiais</strong></td><td>Crítico para a análise de dados históricos quando rastreadores são movidos entre Veículos; permite 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 globais 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 uma tradução consistente dos valores em relatórios e na exibição da IU

<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 consistente no nome da tabela seguido de um sublinhado e do 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 por humanos para valores codificados em todo o banco de dados (status de tarefa, tipos de combustível, tipos de contador, etc.)</td></tr><tr><td><strong>Relacionamentos</strong></td><td>Referenciada por chaves estrangeiras de várias tabelas para categorização padronizada</td></tr><tr><td><strong>Notas especiais</strong></td><td>Essencial para traduzir códigos inteiros em valores legíveis em relatórios; <code>tipo</code> agrupamentos de campos de enumerações relacionadas</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>contadores</code></strong></summary>

**Descrição**: Configurações de contador de Odômetro e horas de motor que vinculam leituras de sensores 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 que define 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 do 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 sensores que representam contadores de distância ou tempo</td></tr><tr><td><strong>Notas 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 de 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>number</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" ou "Bloqueio do motor")</td></tr><tr><td><strong>Notas 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 de 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>Composto: <code>(device_id, key)</code></td></tr><tr><td><strong>Notas especiais</strong></td><td>Preenchida durante a sincronização completa do cliente. Use esta tabela para ler valores de configuração no nível do dispositivo junto com dados de telemetria ou de negócios.</td></tr></tbody></table>

</details>

<details>

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

**Descrição**: Tabela de referência dos códigos de eventos do rastreador com descrições legíveis por humanos. 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 do evento legível por humanos</td></tr><tr><td><strong>Notas especiais</strong></td><td>Associe a <code>raw_telematics_data.rastreamento_data_core</code> em <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 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/pt-br/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.
