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

# Esquema de raw\_business\_data

raw\_business\_data contiene más de 40 tablas que abarcan usuarios, objetos, vehículos, tareas y geocercas. Explore la definición del esquema y las descripciones clave de las tablas para el análisis SQL

Este esquema contiene 40+ tablas cuidadosamente seleccionadas para cubrir diversos aspectos del negocio y casos de uso. Estas tablas representan sus entidades comerciales principales, la estructura organizacional y los datos operativos.

{% hint style="info" %}
El diagrama interactivo del esquema raw\_business\_data está disponible en **dbdiagram.io**: <https://dbdiagram.io/d/V3-bronze-layer-68ecfd1c2e68d21b4131089a>
{% endhint %}

Encuentre a continuación los detalles del esquema de datos empresariales sin procesar.

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

```sql
Tabla "vehicle_service_tasks" {
  "record_added_at" marca de tiempo [no nulo]
  "start_mileage" numérico
  "comentario" "character varying(255)"
  "status" "character varying(10)" [no nulo]
  "completion_date" marca de tiempo
  "start_engine_hours" numérico
  "service_tarea_id" entero [no nulo]
  "is_notification_push_enabled" boolean [no nulo]
  "date_notification_interval" intervalo
  "predicted_datetime" marca de tiempo
  "costo" numérico [no nulo]
  "mileage_limit" numérico
  "notification_emails" texto
  "is_unplanned" booleano [no nulo]
  "is_repeat" booleano [no nulo]
  "completion_engine_hours" entero
  "engine_hours_limit" numérico
  "Kilometraje_repeat_interval" entero
  "vehicle_id" entero [no nulo]
  "engine_hours_notification_interval" entero
  "start_date" marca de tiempo
  "Kilometraje_notification_interval" entero
  "date_repeat_interval" intervalo
  "descripción" "character varying(255)"
  "números_de_teléfono_para_notificaciones_sms" text
  "fecha_de_fin" timestamp
  "intervalo_de_repetición_de_horas_del_motor" integer
  "Kilometraje_de_finalización" integer
}

Tabla "Garajes" {
  "record_added_at" marca de tiempo [no nulo]
  "id_de_garaje" integer [not null]
  "longitud" numeric
  "nombre_del_mecánico" "character varying(255)"
  "radio" integer [not null]
  "latitud" numérico
  "etiqueta_de_organización" "carácter variable(255)"
  "id_de_usuario" entero [no nulo]
  "nombre_del_despachador" "carácter variable(255)"
  "dirección" "carácter variable(255)"
}

Tabla "historial_de_Conductor" {
  "fecha_hora_del_servidor" marca de tiempo [no nulo]
  "dirección" "carácter variable(255)"
  "actualizado_por" entero [no nulo]
  "id_de_Objeto" entero
  "longitud" numeric
  "latitud" numérico
  "id_de_historial_de_Conductor" entero [no nulo]
  "clave_hardware" "character varying(64)"
  "nuevo_empleado_id" integer
  "fecha_hora_cambio" timestamp
  "record_added_at" marca de tiempo [no nulo]
  "empleado_anterior_id" integer
}

Tabla "Departamentos" {
  "record_added_at" marca de tiempo [no nulo]
  "etiqueta_departamento" "character varying(255)" [not null]
  "latitud" numérico
  "departamento_id" integer [not null]
  "dirección" "carácter variable(255)"
  "radio" integer [not null]
  "longitud" numeric
  "id_de_usuario" entero [no nulo]
}

Tabla "checkins" {
  "radio" integer [not null]
  "latitud" numeric [not null]
  "empleado_id" integer [not null]
  "longitud" numeric [not null]
  "record_added_at" marca de tiempo [no nulo]
  "fecha_hora_real" timestamp [not null]
  "id_de_usuario" entero [no nulo]
  "Formulario_id" integer [not null]
  "dirección" "carácter variable(255)"
  "fecha_hora_programada" timestamp [not null]
  "Objeto_id" integer [not null]
  "checkin_id" integer [not null]
  "comentario" text
}

Tabla "estados" {
  "orden" integer [not null]
  "id_listado" integer [not null]
  "color" "character varying(6)" [not null]
  "estado_id" integer [not null]
  "etiqueta_estado" "character varying(200)" [not null]
  "record_added_at" marca de tiempo [no nulo]
  "eliminado" boolean [not null]
}

Tabla "Lugares_linked_entity_fields" {
  "valor" bigint [not null]
  "record_added_at" marca de tiempo [no nulo]
  "Ubicación_id" integer [not null]
  "campo_id" integer [not null]
}

Tabla "Lugares_text_fields" {
  "Ubicación_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "valor" text [not null]
  "campo_id" integer [not null]
}

Tabla "usuarios2zonas" {
  "zona_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_de_usuario" entero [no nulo]
}

Tabla "Objetos" {
  "record_added_at" marca de tiempo [no nulo]
  "fecha_hora_creacion" timestamp [not null]
  "cliente_id" integer [not null]
  "grupo_id" integer
  "etiqueta_objeto" "character varying(100)"
  "modelo" "character varying(64)"
  "es_clon" boolean [not null]
  "eliminado" boolean [not null]
  "dispositivo_id" integer [not null]
  "Objeto_id" integer [not null]
}

Tabla "nombre_salida_dispositivo" {
  "dispositivo_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "etiqueta" "character varying(100)" [not null]
  "número" integer [not null]
}

Tabla "puntos_de_zona" {
  "longitud" numeric [not null]
  "número" integer [not null]
  "zona_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "latitud" numeric [not null]
}

Tabla "campos_personalizados" {
  "record_added_at" marca de tiempo [no nulo]
  "id_entidad" integer [not null]
  "es_obligatorio" boolean [not null]
  "etiqueta_campo_personalizado" text [not null]
  "parámetros" jsonb
  "tipo_campo_personalizado" integer [not null]
  "descripción" texto
  "custom_field_id" integer [no nulo]
}

Tabla "lugares_decimal_fields" {
  "campo_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "Ubicación_id" integer [not null]
  "value" numérico [no nulo]
}

Tabla "task_history" {
  "task_id" entero [no nulo]
  "actividad" entero [no nulo]
  "task_history_id" entero [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "id_de_usuario" entero [no nulo]
  "event_datetime" timestamp [not null]
  texto de «payload»
}

Tabla "Etiquetas" {
  "tag_label" "carácter variable(64)" [no nulo]
  "color" "character varying(6)"
  "id_de_usuario" entero [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "tag_id" entero [no nulo]
}

Tabla "Lugares" {
  "descripción" texto
  "custom_fields" jsonb
  "Ubicación_id" integer [not null]
  "external_id" "character varying(32)"
  "record_added_at" marca de tiempo [no nulo]
  "user_id" entero
  "latitud" numérico
  entero "radio"
  "ubicación_label" "character varying(256)"
  "assigned_datetime" timestamp
  "address" "character varying(256)"
  "longitud" numeric
}

Tabla "status_listings" {
  "id_de_usuario" entero [no nulo]
  "is_supervisor_controlled" boolean [not null]
  "eliminado" boolean [not null]
  "status_listing_id" integer [not null]
  "is_employee_controlled" boolean [not null]
  "record_added_at" marca de tiempo [no nulo]
  "status_listing_label" "character varying(200)" [not null]
}

Tabla "models" {
  "record_added_at" marca de tiempo [no nulo]
  "model_id" integer [not null]
  "has_battery_level" boolean [not null]
  "alternative_label" "character varying(50)" [no nulo]
  "vendor" "character varying(30)" [no nulo]
  "is_clone" boolean
  "has_altitude" boolean [no nulo]
  "has_phone" boolean [no nulo]
  "type_output_control" "character varying(30)" [no nulo]
  "has_gsm_roaming" boolean [no nulo]
  "has_gsm_level" boolean [no nulo]
  "model" "character varying(255)" [no nulo]
  "type_special_control" "character varying(255)" [no nulo]
  "digital_amount" entero [not null]
  "has_detach_button" boolean [no nulo]
  "has_gsm_name" boolean [no nulo]
  "analog_amount" integer [no nulo]
  "outputs_amount" entero [no nulo]
}

Tabla "vehicle_trackers_history" {
  "vehicle_id" entero [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "Objeto_id" integer [not null]
  "changed_datetime" marca de tiempo [no nulo]
  "vehicle_tracker_history_id" entero [no nulo]
}

Tabla "groups" {
  "group_id" entero [no nulo]
  "Grupo_color" "character varying(6)" [no nulo]
  "group_label" "character varying(255)" [no nulo]
  "cliente_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "sensor_description" {
  "record_added_at" marca de tiempo [no nulo]
  "parámetros" jsonb
  "input_id" entero [no nulo]
  "accuracy" numérico [no nulo]
  "sensor_units" "character varying(10)"
  "multiplier" doubleprecision [no nulo]
  "input_label" "character varying(64)"
  "sensor_label" "character varying(100)"
  "units_type" entero [no nulo]
  "divider" doubleprecision [not null]
  "group_id" entero [no nulo]
  "sensor_id" entero [no nulo]
  "dispositivo_id" integer [not null]
  "sensor_type" "character varying(45)" [not null]
  "group_type" entero [no nulo]
  "calibration_data" jsonb
}

Tabla "entities" {
  "entity_label" jsonb
  "record_added_at" marca de tiempo [no nulo]
  "id_entidad" integer [not null]
  "builtin_type" entero [no nulo]
  "id_de_usuario" entero [no nulo]
}

Tabla "zones" {
  "dirección" "carácter variable(255)"
  "radio" integer [not null]
  "zona_id" integer [not null]
  "circle_center_latitude" numérico [no nulo]
  "cliente_id" integer [not null]
  "zone_label" "character varying(100)"
  "color" "character varying(6)" [not null]
  "zone_type" "character varying(20)" [no nulo]
  "circle_center_longitude" numeric [no nulo]
  "latitud" numeric [not null]
  "record_added_at" marca de tiempo [no nulo]
  "longitud" numeric [not null]
}

Tabla "Gestión de vehículos" {
  "vehicle_id" entero [no nulo]
  "payload_length" numeric
  "vin" "character varying(20)"
  "free_Seguro_policy_number" "character varying(50)"
  "vehicle_label" "character varying(100)"
  "payload_width" numeric
  "color" "character varying(6)"
  "trailer" "character varying(255)"
  "id_de_Objeto" entero
  "vehicle_status_id" entero
  "liability_seguro_valid_till" marca de tiempo
  "manufacture_year" entero
  ""fuel_grade"" ""character varying(16)""
  "fuel_cost" numérico
  "fuel_tank_volume" numérico
  "model" "character varying(100)"
  "garage_id" entero
  "payload_height" numérico
  "max_speed" numérico
  "número_de_registro" "character varying(32)"
  "tamaño_de_llanta" "character varying(50)"
  "capacidad_de_pasajeros" integer
  "record_added_at" marca de tiempo [no nulo]
  "número_de_registro_del_remolque" "character varying(32)"
  "free_Seguro_valid_till_date" timestamp
  "peso_bruto" numeric
  "consumo_estándar_de_Combustible" numeric
  "tipo_de_Combustible" integer
  "peso_de_carga" numeric
  "información_adicional" text
  "subtipo_de_vehiculo" "character varying(32)"
  "numero_de_poliza_de_seguro_de_responsabilidad_civil" "character varying(50)"
  "numero_de_bastidor" "character varying(32)"
  "id_de_usuario" entero [no nulo]
  "tipo_de_vehiculo" integer [not null]
  "numero_de_chasis" "character varying(32)"
  "numero_de_llantas" integer
  "disposicion_de_ruedas" "character varying(16)"
}

Tabla "enlaces_de_etiquetas" {
  "id_entidad" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "tipo_de_entidad" integer [not null]
  "orden" integer [not null]
  "tag_id" entero [no nulo]
}

Tabla "reglas" {
  "id_de_regla" integer [not null]
  "Objeto_id" integer [not null]
  "parámetros" jsonb
  "telefono_de_alerta" "character varying(210)" [not null]
  "tipo_de_evento" "character varying(100)" [not null]
  "cliente_id" integer [not null]
  "push_activado" boolean [not null]
  "comentario_del_evento1" "character varying(255)" [not null]
  "etiqueta_del_evento" "character varying(255)" [not null]
  "descripcion" "character varying(255)" [not null]
  "record_added_at" marca de tiempo [no nulo]
  "sms_de_alerta" text [not null]
  "grupo_del_evento" integer [not null]
  "creado_el" timestamp [not null]
  "maximo" integer [not null]
  "eliminado" boolean [not null]
  "correo_electronico_de_alerta" text [not null]
  "comentario_del_evento2" "character varying(255)" [not null]
}

Tabla "historial_de_estados" {
  "longitud" numeric
  "id_del_nuevo_estado" integer
  "id_del_historial_de_estados" integer [not null]
  "dispositivo_id" integer [not null]
  "actualizado_por" entero [no nulo]
  "dirección" "carácter variable(255)"
  "latitud" numérico
  "record_added_at" marca de tiempo [no nulo]
  "fecha_hora_del_servidor" marca de tiempo [no nulo]
  "fecha_hora_cambio" timestamp
  "id_del_estado_anterior" integer
}

Tabla "reglas2zonas" {
  "zona_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_de_regla" integer [not null]
}

Tabla "formularios" {
  "Objeto_id" integer [not null]
  "descripción" texto
  "etiqueta_del_formulario" "character varying(255)" [not null]
  "campos" text
  "creado_el" timestamp [not null]
  "direccion_de_envio" "character varying(255)"
  "latitud_de_envio" numeric
  "Formulario_id" integer [not null]
  "longitud_de_envio" numeric
  "is_envio_en_zona" boolean [not null]
  "valores" text
  "record_added_at" marca de tiempo [no nulo]
  "id_de_tarea" integer
  "enviado_el" timestamp
}


Tabla "reglas2objetos" {
  "parametros_del_objeto" jsonb
  "numero_de_grupo_de_parametros" integer [not null]
  "Objeto_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_de_regla" integer [not null]
}

Tabla "tareas" {
  "hora_desde" timestamp
  "duracion_de_estadia_minutos" interval
  "id_externo" "character varying(100)"
  "id_de_Objeto" entero
  "tipo_de_tarea" integer
  "duracion_de_llegada_minutos" interval
  "estado" integer
  "fecha_hora_de_llegada" timestamp
  "record_added_at" marca de tiempo [no nulo]
  "task_id" entero [no nulo]
  "user_id" entero
  "fecha_hora_de_cambio_de_estado" timestamp
  "orden_de_ordenamiento" integer
  "hora_hasta" timestamp
  "retraso_maximo_minuts" integer
  "is_control_de_estadia_activado" boolean
  "dirección" "carácter variable(255)"
  "etiqueta_de_la_tarea" "character varying(200)" [not null]
  "longitud" numeric
  "creado_por" integer
  "descripcion" text [not null]
  entero "radio"
  "latitud" numérico
  "duracion_de_estadia" integer
  "creado_el" timestamp [not null]
  "custom_fields" jsonb
  "id_de_tarea_padre" integer
}

Tabla "campos_bigint_de_lugares" {
  "campo_id" integer [not null]
  "valor" bigint [not null]
  "Ubicación_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "dispositivos" {
  "is_sim_bloqueada" boolean [not null]
  "dispositivo_id" integer [not null]
  "imei_del_dispositivo" "character varying(64)" [not null]
  "etiqueta_de_red" "character varying(50)" [not null]
  "status_listing_id" integer [not null]
  "nivel_de_senal" numeric [not null]
  "telefono" "character varying(32)" [not null]
  "tiene_roaming" boolean [not null]
  "creado_el" timestamp [not null]
  "id_del_propietario" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "parametros_de_descripcion" {
  "descripcion" "character varying(150)"
  "record_added_at" marca de tiempo [no nulo]
  "tipo" "character varying(100)" [not null]
  "clave" integer [not null]
}

Tabla "usuarios" {
  "etiqueta_de_la_empresa" "character varying(255)" [not null]
  "fecha_hora_de_registro" timestamp
  "nombre" "character varying(100)" [not null]
  "id_principal" integer
  "apellido" "character varying(100)" [not null]
  "fecha_de_nacimiento" timestamp
  "etiqueta_de_zona_horaria" "character varying(30)"
  "segundo_nombre" "character varying(100)" [not null]
  "id_de_usuario" entero [no nulo]
  "configuracion_regional" "character varying(10)" [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "contadores" {
  "id_del_sensor" integer
  "multiplicador" numeric [not null]
  "id_del_contador" integer [not null]
  "dispositivo_id" integer [not null]
  "tipo_de_contador" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "empleados" {
  "licencia_de_conducir_valida_hasta" timestamp
  "record_added_at" marca de tiempo [no nulo]
  "apellido" "character varying(100)"
  "id_de_departamento" integer
  "numero_de_documento_de_identidad" "character varying(32)"
  "nombre" "character varying(100)"
  "categorias_de_licencia_de_conducir" "character varying(32)"
  "id_de_usuario" entero [no nulo]
  "numero_de_telefono" "character varying(32)"
  "id_de_Objeto" entero
  "eliminado" boolean [not null]
  "fecha_de_emision_de_licencia_de_conducir" boolean
  "clave_hardware" "character varying(64)"
  "segundo_nombre" "character varying(100)"
  "dirección" "carácter variable(255)"
  "latitud" numérico
  "empleado_id" integer [not null]
  "numero_de_personal" "character varying(15)"
  "costo_del_combustible" doubleprecision
  "conductor_license_number" "character varying(32)"
  "email" "character varying(100)"
  "fuel_consumption" doble precisión
  "radio" integer [not null]
  "longitud" numeric
}

Tabla "Lugares_longtext_fields" {
  "campo_id" integer [not null]
  "valor" text [not null]
  "record_added_at" marca de tiempo [no nulo]
  "Ubicación_id" integer [not null]
}

Tabla "groups_objects" {
  "groups_client_id" entero
  "objects_client_id" entero

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

Tabla "device_settings" {
  "dispositivo_id" integer [not null]
  "key" "cadena de caracteres variable" [no nulo]
  "valor" texto

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

Tabla "event_description" {
  "event_id" entero [no nulo, pk]
  "descripción" 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:"Departamentos"."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" < "Conductor_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" < "Tareas"."status"

Ref:"description_parameters"."key" < "Tareas"."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" < "Garajes"."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" < "lugares"."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:"Lugares"."Ubicación_id" < "Lugares_decimal_fields"."Ubicación_id"

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

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

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

Ref:"lugares"."ubicación_id" < "lugares_longtext_fields"."ubicación_id"

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

Ref:"Lugares"."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:"tareas"."tarea_id" < "historial_de_tareas"."tarea_id"

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

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

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

Referencia:"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:"Gestión de vehículos"."vehicle_id" < "vehicle_trackers_history"."vehicle_id"

Ref:"Garajes"."garage_id" < "Gestión de vehículos"."garage_id"

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

Ref:"users"."user_id" < "Gestión de vehículos"."user_id"

Ref:"zones"."zone_id" < "Zona_points"."zone_id"

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

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

```

{% endcode %}

## Frecuencia de actualización

Los datos de este esquema se sincronizan con la base de datos central. Las actualizaciones ocurren de forma incremental a medida que se producen cambios en la base de datos MySQL de origen, normalmente en menos de 5 minutos después del cambio de origen.

## `description_parameters`

El sistema incluye datos de referencia para estandarizar los valores en toda la base de datos:

<table><thead><tr><th width="167.1817626953125">Tipo de referencia</th><th width="173.9090576171875">Descripción</th><th>Valores de ejemplo</th></tr></thead><tbody><tr><td>Definiciones de tipos</td><td>Tipos de entidades estándar</td><td><code>vehicle_type: auto, camión, autobús</code></td></tr><tr><td>Códigos de estado</td><td>Valores de estado de la Tarea y del sistema</td><td><code>estado_de_tareas: sin asignar, asignado, completado</code></td></tr><tr><td>Definiciones de unidades</td><td>Unidades de medida para sensores</td><td><code>tipo de unidades: litro, galón, celsius</code></td></tr><tr><td>Clasificaciones de entidades</td><td>Categorías de entidades comerciales</td><td><code>entities_type: Ubicación, Tarea, cliente</code></td></tr></tbody></table>

## Tablas clave por categoría

Las tablas en el **`raw_business_data`** Los esquemas se organizan en categorías funcionales para facilitar la navegación. La tabla siguiente resume las tablas clave según su propósito empresarial:

Entidades empresariales principales

<details>

<summary><strong><code>usuarios</code></strong></summary>

**Descripción**: Cuentas de usuario que contienen información de perfil, afiliación a la empresa, configuraciones de localización (zona horaria, configuración regional) y relaciones jerárquicas mediante master\_id para estructuras de cuentas multinivel

<table><thead><tr><th width="145">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>user_id</code> - Identificador único del usuario<br>- <code>company_label</code> - Nombre de la empresa asociada con el usuario<br>- <code>nombre</code> - Nombre de usuario<br>- <code>apellido</code> - Apellido del usuario<br>- <code>segundo nombre</code> - Patronímico del usuario<br>- <code>configuración regional</code> - Configuración de idioma del usuario<br>- <code>etiqueta de zona horaria</code> - Zona horaria en formato IANA<br>- <code>master_id</code> - ID principal del usuario (si el actual es un subordinado)<br>- <code>registration_datetime</code> - Fecha de registro en el sistema<br>- <code>birth_date</code> - Fecha de nacimiento del usuario</td></tr><tr><td><strong>Relaciones</strong></td><td>Usuario principal a través de <code>master_id</code>, vinculado a <code>Empleados</code>, <code>Departamentos</code>, <code>Lugares</code>, <code>Tareas</code> A través de <code>user_id</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Entidad central que conecta los datos organizacionales; <code>master_id</code> permite jerarquías de usuarios para estructuras de cuentas multinivel</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Empleados</code></strong></summary>

**Descripción**: Registros de empleados y conductores utilizados para representar a las personas que trabajan para la organización, incluyendo información personal, detalles de licencia, asignaciones de Departamentos, llaves de hardware para la identificación con iButton/RFID y datos de ubicación con compatibilidad con geocercas

<table><thead><tr><th width="143">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>employee_id</code> - Identificador de la entidad de empleado<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>department_id</code> - Un ID del departamento al que se asignó el empleado<br>- <code>nombre</code> - El atributo first_name de la tabla de empleados<br>- <code>apellido</code> - El atributo last_name de la tabla de empleados<br>- <code>segundo nombre</code> - El atributo middle_name de la tabla employees<br>- <code>número de licencia de Conductor</code> - número de licencia de Conductor<br>- <code>categorías_de_licencia_de_Conductor</code> - Categorías de licencia de Conductor - <code>fecha_de_emisión_de_licencia_de_Conductor</code> - Fecha de emisión de una licencia de Conductor - <code>fecha_de_vencimiento_de_licencia_de_Conductor</code> - Fecha hasta la que es válida una licencia de Conductor - <code>clave_de_hardware</code> - Una clave de hardware - <code>correo electrónico</code> - Correo electrónico del empleado - <code>Número de teléfono</code> - Teléfono del empleado sin el signo «+»<br>- <code>Dirección</code> - Dirección de la ubicación<br>- <code>Número de empleado</code> - Número de empleado/Conductor<br>- <code>Número de identificación ciudadana</code> - Número de la Seguridad Social<br>- <code>latitud</code> - Ubicación asociada con este empleado<br>- <code>longitud</code> - Ubicación asociada con este empleado<br>- <code>Radio</code> - Ubicación asociada con este empleado en metros<br>- <code>consumo_de_combustible</code> - El atributo consumo_de_combustible de la tabla de empleados<br>- <code>costo_de_combustible</code> - El atributo costo_de_combustible de la tabla de empleados<br>- <code>is_deleted</code> - El atributo is_deleted de la tabla de empleados</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a <code>usuarios</code>, <code>Departamentos</code>, <code>objetos</code> (rastreador asignado), rastreado en <code>historial_del_conductor</code> y <code>registros</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>La llave de hardware permite la identificación del conductor mediante iButton o RFID; admite geocercas con <code>latitud</code>, <code>longitud</code>, <code>Radio</code> campos</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Unidades organizativas con datos de ubicación geográfica (latitud, longitud, radio) que permiten análisis basados en geocercas para reportes a nivel de departamento y asociación de ubicación de empleados

<table><thead><tr><th width="156">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>department_id</code> - Identificador de la entidad de departamento<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>department_label</code> - El atributo department_label de la tabla de departamentos<br>- <code>latitud</code> - Ubicación asociada con este departamento<br>- <code>longitud</code> - Ubicación asociada con este departamento<br>- <code>Radio</code> - Tamaño de la ubicación geográfica en metros<br>- <code>Dirección</code> - El atributo address de la tabla de departamentos</td></tr><tr><td><strong>Relaciones</strong></td><td>Vincula a los empleados con la estructura organizativa mediante <code>department_id</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Los campos de ubicación admiten analíticas basadas en Zona para reportes a nivel de departamento</td></tr></tbody></table>

</details>

Seguimiento y monitoreo

<details>

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

**Descripción**: Registro físico de dispositivos de Seguimiento con identificadores de hardware (IMEI), información de la tarjeta SIM, estado de conectividad de red (intensidad de la señal, roaming, operador) y asignaciones de listado de estados para la gestión del ciclo de vida del dispositivo

<table><thead><tr><th width="138">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>device_id</code> - ID del dispositivo<br>- <code>id_del_Propietario</code> - ID del Propietario del dispositivo en cuya cuenta se agregó la baliza<br>- <code>device_imei</code> - IMEI del dispositivo<br>- <code>teléfono</code> - El número de la tarjeta SIM del dispositivo<br>- <code>status_listing_id</code> - ID de Estado del dispositivo<br>- <code>network_label</code> - El nombre de la red a la que está conectada la tarjeta SIM<br>- <code>signal_level</code> - Intensidad de la señal del dispositivo<br>- <code>has_roaming</code> - Indicador de disponibilidad de roaming<br>- <code>is_sim_blocked</code> - indicador de bloqueo de la tarjeta SIM<br>- <code>created_at</code> - Fecha y hora en que se creó la entrada</td></tr><tr><td><strong>Relaciones</strong></td><td>Entidad principal vinculada a <code>objetos</code>, <code>modelos</code>, <code>sensor_description</code>, <code>contadores</code>; <code>id_del_Propietario</code> referencias <code>users.user_id</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Todos los datos telemáticos en <code>raw_telematics_data</code> el esquema hace referencia a esta tabla mediante <code>device_id</code></td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Registro central de entidades monitoreadas (vehículos, activos, personal), que vincula dispositivos físicos con la estructura organizativa mediante client\_id y group\_id, y representa la «unidad rastreable» con un objeto activo por dispositivo

<table><thead><tr><th width="148">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>client_id</code> - Identificador de la entidad del cliente<br>- <code>device_id</code> - Identificador de la entidad del dispositivo<br>- <code>etiqueta de objeto</code> - Nombre del objeto<br>- <code>modelo</code> - modelo del dispositivo<br>- <code>group_id</code> - Grupo de ID de entidad<br>- <code>create_datetime</code> - Fecha y hora de creación de una nueva fila en el servidor<br>- <code>is_deleted</code> - El atributo is_deleted de la tabla de objetos<br>- <code>is_clone</code> - Marca de clonación</td></tr><tr><td><strong>Relaciones</strong></td><td>Centro central que conecta dispositivos con usuarios (<code>client_id</code>), detalles del vehículo, historial de Seguimiento, Tareas y reglas</td></tr><tr><td><strong>Notas especiales</strong></td><td>Representa la «unidad rastreable» en el sistema; un Objeto por dispositivo en uso activo</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>modelos</code></strong></summary>

**Descripción**: Registro central de entidades monitoreadas (vehículos, activos, personal), que vincula dispositivos físicos con la estructura organizativa mediante client\_id y group\_id, y representa la «unidad rastreable» con un objeto activo por dispositivo

<table><thead><tr><th width="135">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>model_id</code> - Identificador del modelo de entidad<br>- <code>modelo</code> - El atributo model de la tabla models<br>- <code>vendor</code> - El nombre de la empresa que lanzó el rastreador<br>- <code>alternative_label</code> - El atributo alternative_label de la tabla models<br>- <code>analog_amount</code> - Número de entradas analógicas del rastreador<br>- <code>digital_amount</code> - Número de entradas digitales del rastreador<br>- <code>outputs_amount</code> - Número de salidas digitales del rastreador<br>- <code>has_battery_level</code> - Determina si el rastreador transmite lecturas de carga de la batería<br>- <code>has_altitude</code> - Determina si el rastreador transmite altitud<br>- <code>has_phone</code> - ¿Hay una tarjeta SIM?<br>- <code>has_gsm_level</code> - ¿Puede un rastreador transmitir la intensidad de la señal GSM?<br>- <code>has_gsm_name</code> - ¿Puede el rastreador transmitir el nombre de la red GSM o el código del operador (MCC + MNC)?<br>- <code>has_gsm_roaming</code> - ¿Puede el rastreador transmitir el estado de roaming?<br>- <code>has_detach_button</code> - ¿El rastreador tiene un sensor de desenganche?<br>- <code>type_output_control</code> - Perfil de control de salidas del rastreador<br>- <code>type_special_control</code> - Contiene configuraciones especializadas y módulos funcionales para modelos de dispositivo individuales, como el modo de manejo peligroso (hbm_telfm) para equipos Teltonika<br>- <code>is_clone</code> - ¿El modelo es un clon de otro modelo?</td></tr><tr><td><strong>Contenido</strong></td><td>Las banderas booleanas de capacidad indican qué campos de datos están disponibles de este tipo de dispositivo</td></tr><tr><td><strong>Notas especiales</strong></td><td>Use las banderas de capacidad para determinar los sensores y entradas válidos al consultar datos telemáticos</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Configuración integral del sensor que vincula las entradas del dispositivo con la lógica de negocio, incluyendo asignaciones de entradas, unidades de medida, factores de conversión (multiplicador/divisor), tablas de calibración para sensores de combustible, umbrales de precisión y lógica de agrupación para lecturas agregadas de sensores

<table><thead><tr><th width="142">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>sensor_id</code> - Identificador de la entidad del sensor<br>- <code>device_id</code> - Identificador de la entidad del dispositivo<br>- <code>sensor_label</code> - Nombre del sensor para la interfaz de usuario<br>- <code>input_label</code> - El nombre del campo del mensaje (atributo) del que se toman los datos del sensor. Si es igual a «input_status,», es un sensor digital<br>- <code>sensor_type</code> - Tipo de sensor<br>- <code>units_type</code> - Unidades de medida<br>- <code>multiplier</code> - Multiplicador - el número por el que se multiplica el valor del campo. Solo para sensores de medición<br>- <code>divider</code> - Divisor - el número por el que se divide el valor del campo. Solo para sensores de medición<br>- <code>accuracy</code> - Un porcentaje especificado para calcular el error absoluto del volumen del tanque. Este error se usa para determinar cuándo se producen llenados o drenajes. Esto se usa solo para sensores de combustible<br>- <code>calibration_data</code> - El atributo calibration_data de la tabla sensor_description<br>- <code>input_id</code> - Número de entrada para Sensor digital<br>- <code>group_id</code> - Los sensores del mismo tipo con el mismo group_id y source_id se consideran que pertenecen al mismo grupo. Sus datos se suman o se promedian, según el valor de group_type. Esto es necesario para los sensores agregados. Se usa en los sensores de medición<br>- <code>Tipo de Grupo</code> - 0 - sumar los valores de los sensores dentro de un Grupo, 1 - promedio<br>- <code>unidades del sensor</code> - Nombre de la unidad ingresado por el usuario si units_type=0 (personalizado)<br>- <code>parámetros</code> - Objeto opcional con parámetros adicionales parent_ids: matriz opcional de parent_ids para el sensor compuesto. volume: double. Opcional. Volumen para el sensor compuesto. parent_ids: matriz opcional de int. Matriz de parent_ids para el sensor compuesto. volume: opcional. Double. Volumen para el sensor compuesto. min: opcional. Double. Valor sin procesar mínimo aceptable para un sensor. max: opcional. Double. Valor sin procesar máximo aceptable para un sensor. max_lowering_by_time: opcional. Double. Valor máximo legal de disminución por hora. max_lowering_by_mileage: opcional. Double. Valor máximo legal de disminución por cada 100 km. ignore_drains_in_move: opcional. Boolean. El valor predeterminado es false. Si es true, no se detectarán los drenes de combustible durante el movimiento. ignore_refuels_in_move: opcional. Boolean. El valor predeterminado es false. Si es true, no se detectarán las recargas durante el movimiento. refuel_gap_minutes: opcional. Integer. El valor predeterminado es 5. La hora en minutos después del inicio del movimiento; durante el movimiento se detectarán las recargas. custom_field_name: opcional. Boolean. El valor predeterminado es false. El parámetro determina si el campo input_name tiene un valor personalizado que ingresó el usuario. Esto solo tiene sentido si el modelo del rastreador tiene la función has_custom_fields</td></tr><tr><td><strong>Relaciones</strong></td><td>Vincula las entradas del dispositivo (de <code>raw_telematics_data.inputs</code>) a la lógica de negocio mediante <code>device_id</code> y <code>input_label</code> coincidencia</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>calibration_data</code> (JSONB) almacena tablas de calibración específicas del sensor para sensores de nivel de combustible; <code>multiplier</code> y <code>divider</code> convertir valores sin procesar a unidades</td></tr></tbody></table>

</details>

Gestión de Activo

<details>

<summary><strong><code>Gestión de vehículos</code></strong></summary>

**Descripción**: Registro vehicular integral que contiene especificaciones (dimensiones, peso, capacidad), documentación (VIN, registro, Seguro), parámetros operativos (Consumo de combustible, volumen del tanque) y la asignación actual del Dispositivo mediante object\_id para Gestión de flotas y Seguimiento de cumplimiento

<table><thead><tr><th width="144">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>vehicle_id</code> - Identificador de entidad del vehículo<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>garage_id</code> - Identificador de entidad de garaje<br>- <code>etiqueta del vehículo</code> - El atributo vehicle_label de la tabla de Gestión de vehículos<br>- <code>registration_number</code> - Número de registro/matrícula de un vehículo<br>- <code>VIN</code> - El atributo VIN de la tabla de Gestión de vehículos<br>- <code>año de fabricación</code> - El atributo manufacture_year de la tabla Gestión de vehículos<br>- <code>tipo_de_combustible</code> - El atributo fuel_type de la tabla Gestión de vehículos<br>- <code>costo_de_combustible</code> - El atributo fuel_cost de la tabla de vehículos<br>- <code>volumen_tanque_combustible</code> - El atributo fuel_tank_volume de la tabla de vehículos<br>- <code>max_speed</code> - El atributo max_speed de la tabla de Gestión de vehículos<br>- <code>modelo</code> - El atributo modelo de la tabla de Gestión de vehículos<br>- <code>color</code> - El atributo de color de la tabla de Gestión de vehículos<br>- <code>remolque</code> - El atributo trailer de la tabla de Gestión de vehículos<br>- <code>additional_info</code> - El atributo additional_info de la tabla de Gestión de vehículos<br>- <code>vehicle_type</code> - El atributo vehicle_type de la tabla de Gestión de vehículos<br>- <code>vehicle_subtype</code> - El atributo vehicle_subtype de la tabla de Gestión de vehículos<br>- <code>vehicle_status_id</code> - Identificador de entidad del estado del vehículo<br>- <code>chassis_number</code> - El atributo chassis_number de la tabla Gestión de vehículos<br>- <code>frame_number</code> - El atributo frame_number de la tabla Gestión de vehículos<br>- <code>trailer_reg_number</code> - El atributo trailer_reg_number de la tabla Gestión de vehículos<br>- <code>payload_weight</code> - El atributo payload_weight de la tabla Gestión de vehículos<br>- <code>payload_height</code> - El atributo payload_height de la tabla Gestión de vehículos<br>- <code>payload_length</code> - El atributo payload_length de la tabla de Gestión de vehículos<br>- <code>payload_width</code> - El atributo payload_width de la tabla de Gestión de vehículos<br>- <code>capacidad de pasajeros</code> - Un número máximo de pasajeros<br>- <code>gross_weight</code> - El atributo gross_weight de la tabla de Gestión de vehículos<br>- <code>consumo_de_combustible_estándar</code> - Consumo normal promedio de combustible en litros por 100 km<br>- <code>grado de combustible</code> - El atributo fuel_grade de la tabla de vehículos<br>- <code>disposición de las ruedas</code> - el atributo wheel_arrangement de la tabla de Gestión de vehículos<br>- <code>tamaño de llanta</code> - Tamaño del vehículo: dimensiones y tamaño de las llantas<br>- <code>tyres_number</code> - Número de ruedas<br>- <code>número de póliza de Seguro de responsabilidad civil</code> - El atributo liability_insurance_policy_number de la tabla de Gestión de vehículos<br>- <code>seguro_de_responsabilidad_válido_hasta</code> - La fecha hasta la que es válido el Seguro de responsabilidad civil<br>- <code>número_de_póliza_de_Seguro_gratuito</code> - El atributo free_insurance_policy_number de la tabla vehicles<br>- <code>Seguro_gratuito_válido_hasta_la_fecha</code> - La fecha hasta la cual es válido el Seguro gratuito</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a <code>objetos</code> (dispositivo actual), <code>garajes</code> (ubicación del servicio), <code>tareas_del_servicio_del_vehículo</code>; rastreado en <code>vehicle_trackers_history</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Campos de dimensiones físicas (<code>payload_length</code>, <code>payload_width</code>, <code>payload_height</code>, <code>gross_weight</code>) admiten analítica de planificación de carga; las fechas de Seguro permiten Seguimiento del cumplimiento</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>garajes</code></strong></summary>

**Descripción**: ubicaciones de instalaciones de servicio y Mantenimiento con coordenadas geográficas (latitud, longitud, radio), información de contacto de mecánicos y despachadores, que permiten la detección de visitas de servicio basada en Zona y el análisis de proximidad

<table><thead><tr><th width="135">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>garage_id</code> - Identificador de entidad de garaje<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>latitud</code> - Objeto de ubicación<br>- <code>longitud</code> - Objeto de ubicación<br>- <code>Radio</code> - Tamaño de la ubicación geográfica en metros<br>- <code>Dirección</code> - Objeto de ubicación<br>- <code>organization_label</code> - ID de Garaje<br>- <code>mechanic_name</code> - Nombre del mecánico<br>- <code>dispatcher_name</code> - Nombre del despachador</td></tr><tr><td><strong>Relaciones</strong></td><td>Referenciado por <code>Gestión de vehículos.garage_id</code> para la asignación de la ubicación de servicio</td></tr><tr><td><strong>Notas especiales</strong></td><td>Los campos de ubicación permiten la detección de visitas de servicio basada en Zona y el análisis de proximidad</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>tareas_del_servicio_del_vehículo</code></strong></summary>

**Descripción**: programación de Mantenimiento y Seguimiento del historial de servicio con múltiples tipos de disparador (basados en fecha, en Kilometraje y en horas de motor), intervalos recurrentes de Tarea, notificaciones multicanal (correo electrónico, SMS, push) y distinción entre eventos de Mantenimiento planificados (is\_repeat) y no planificados

<table><thead><tr><th width="132">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>service_task_id</code> - Identificador de la entidad de tarea de servicio<br>- <code>vehicle_id</code> - Identificador de entidad del vehículo<br>- <code>descripción</code> - El atributo de descripción de la tabla vehicle_service_tasks<br>- <code>estado</code> - El valor del estado del atributo de estado<br>- <code>costo</code> - El atributo de costo de la tabla vehicle_service_tasks<br>- <code>start_date</code> - La fecha y la hora asociadas con el atributo start_date<br>- <code>end_date</code> - La fecha y hora asociadas al atributo end_date<br>- <code>fecha de finalización</code> - La fecha y la hora asociadas con el atributo completion_date<br>- <code>predicted_datetime</code> - La fecha y la hora asociadas al atributo predicted_datetime<br>- <code>límite de Kilometraje</code> - El atributo mileage_limit de la tabla vehicle_service_tasks<br>- <code>límite de horas del motor</code> - El atributo engine_hours_limit de la tabla vehicle_service_tasks<br>- <code>Kilometraje inicial</code> - El atributo start_mileage de la tabla vehicle_service_tasks<br>- <code>start_engine_hours</code> - El atributo start_engine_hours de la tabla vehicle_service_tareas<br>- <code>intervalo de notificación de kilometraje</code> - El atributo Kilometraje_notification_interval de la tabla vehicle_service_tasks<br>- <code>engine_hours_notification_interval</code> - El atributo engine_hours_notification_interval de la tabla vehicle_service_tasks<br>- <code>date_notification_interval</code> - Convirtiendo un entero N a N días<br>- <code>intervalo_de_repetición_del_kilometraje</code> - El atributo Kilometraje_repeat_interval de la tabla vehicle_service_Tareas<br>- <code>engine_hours_repeat_interval</code> - El atributo engine_hours_repeat_interval de la tabla vehicle_service_tasks<br>- <code>date_repeat_interval</code> - Convirtiendo un entero N a N días<br>- <code>correos electrónicos de notificación</code> - El atributo notification_emails de la tabla vehicle_service_tareas<br>- <code>notification_sms_phone_numbers</code> - El atributo notification_sms_phone_numbers de la tabla vehicle_service_tasks<br>- <code>is_notification_push_enabled</code> - El atributo is_notification_push_enabled de la tabla vehicle_service_tasks<br>- <code>kilometraje de finalización</code> - El atributo completion_kilometraje de la tabla vehicle_service_tareas<br>- <code>completion_engine_hours</code> - El atributo completion_engine_hours de la tabla vehicle_service_tasks<br>- <code>es repetido</code> - El atributo is_repeat de la tabla vehicle_service_tasks<br>- <code>no_planificado</code> - El atributo is_unplanned de la tabla vehicle_service_tasks<br>- <code>comentario</code> - El atributo de comentario de la tabla vehicle_service_tasks</td></tr><tr><td><strong>Contenido</strong></td><td>Admite tres tipos de activadores: basados en fecha, basados en Kilometraje, basados en horas de motor; configuración de notificaciones por correo electrónico, SMS y push</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>es repetido</code> y los campos de intervalo permiten programaciones recurrentes de Mantenimiento; <code>no_planificado</code> distingue entre el mantenimiento programado y el reactivo</td></tr></tbody></table>

</details>

Ubicación y enrutamiento

<details>

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

**Descripción**: Áreas geocercadas que definen perímetros virtuales usando círculos o polígonos para monitorear eventos de entrada y salida de vehículos/Activos, con compatibilidad con automatización basada en reglas y analítica de ubicación con codificación por color para diferenciación visual

<table><thead><tr><th width="150">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>zone_id</code> - Identificador de la entidad de zona<br>- <code>client_id</code> - Identificador de la entidad del cliente<br>- <code>zone_label</code> - El atributo zone_label de la tabla zones<br>- <code>zone_type</code> - El atributo zone_type de la tabla zones<br>- <code>latitud</code> - Objeto opcional, la caja delimitadora que puede contener completamente el resultado devuelto<br>- <code>longitud</code> - Objeto opcional, la caja delimitadora que puede contener completamente el resultado devuelto<br>- <code>circle_center_latitude</code> - El atributo circle_center_latitude de la tabla de zonas<br>- <code>circle_center_longitude</code> - El atributo circle_center_longitude de la tabla de zonas<br>- <code>Radio</code> - Tamaño de la ubicación geográfica en metros<br>- <code>Dirección</code> - El atributo de dirección de la tabla de zonas<br>- <code>color</code> - El atributo de color de la tabla de zonas</td></tr><tr><td><strong>Contenido</strong></td><td>Los tipos de zona incluyen círculo, polígono (definido mediante <code>Zona_points</code>), y clasificaciones de áreas especiales</td></tr><tr><td><strong>Relaciones</strong></td><td>Referenciado por <code>reglas2zonas</code>, <code>usuarios2zonas</code>; vértices del polígono almacenados en <code>Zona_points</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Las funciones de PostGIS se pueden usar para comprobar si un punto está dentro de un polígono en análisis complejos de Zona</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Lugares</code></strong></summary>

**Descripción**: Puntos de interés con coordenadas geográficas, definiciones de radio y compatibilidad con campos personalizados extensibles para almacenar información de contacto de clientes y datos específicos del negocio, lo que permite la integración con CRM/ERP mediante external\_id y reportes basados en la ubicación

<table><thead><tr><th width="129">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>Ubicación_id</code> - Identificador de entidad Ubicación<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>etiqueta de ubicación</code> - El atributo place_label de la tabla Lugares<br>- <code>latitud</code> - Objeto de ubicación<br>- <code>longitud</code> - Objeto de ubicación<br>- <code>Radio</code> - Tamaño de la ubicación geográfica en metros<br>- <code>Dirección</code> - El atributo de dirección de la tabla Lugares<br>- <code>descripción</code> - El atributo de descripción de la tabla de Lugares<br>- <code>external_id</code> - ID para la integración con sistemas externos (CRM)<br>- <code>campos personalizados</code> - Campos adicionales<br>- <code>assigned_datetime</code> - Fecha y hora de asignación del punto de interés al usuario</td></tr><tr><td><strong>Relaciones</strong></td><td>Ampliado con valores de campos personalizados mediante <code>Lugares_campos_de_texto</code>, <code>lugares_campos_decimales</code>, <code>Lugares_bigint_campos</code>, <code>campos_de_texto_largo_de_lugares</code>, <code>campos_de_entidad_vinculada_de_lugares</code></td></tr><tr><td><strong>Notas especiales</strong></td><td><code>campos personalizados</code> JSONB proporciona acceso rápido; las tablas relacionadas permiten filtrar y ordenar atributos personalizados</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Zona_points</code></strong></summary>

**Descripción**: Coordenadas ordenadas de los vértices (el campo numérico determina la secuencia) que definen los límites del polígono para formas complejas de zona, lo que permite perímetros geográficos precisos más allá de zonas circulares simples, utilizadas con PostGIS ST\_MakePolygon para operaciones geométricas

<table><thead><tr><th width="133">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>zone_id</code> - Un ID de la zona a la que está adjunto este formulario<br>- <code>número</code> - Número de serie<br>- <code>latitud</code> - Ubicación<br>- <code>longitud</code> - Ubicación</td></tr><tr><td><strong>Relaciones</strong></td><td>Múltiples registros por <code>zone_id</code> definir los límites del polígono; <code>número</code> el campo determina el orden de los vértices</td></tr><tr><td><strong>Notas especiales</strong></td><td>Consulta con <code>ORDER BY número</code> para reconstruir el trazado del polígono; utilícelo con PostGIS ST_MakePolygon para operaciones geométricas</td></tr></tbody></table>

</details>

Tarea y gestión de flujos de trabajo

<details>

<summary><strong><code>Tareas</code></strong></summary>

**Descripción**: Asignaciones de órdenes de trabajo con validación de ubicación (latitude, longitude, radius), ventanas de tiempo (time\_from, time\_to), requisitos de duración de la visita (stay\_duration\_minutes, arrival\_duration\_minutes), estructura jerárquica mediante parent\_task\_id y Seguimiento del estado para la gestión de Servicio de campo y operaciones de entrega

<table><thead><tr><th width="130">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>id_de_tarea</code> - Identificador de entidad de Tarea<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>parent_Tarea_id</code> - Identificador de entidad de la tarea principal<br>- <code>etiqueta de tarea</code> - El atributo task_label de la tabla Tareas<br>- <code>estado</code> - El valor del estado del atributo de estado<br>- <code>tipo_de_tarea</code> - Tipo de Tarea, Tarea, Ruta o Punto de chequeo<br>- <code>latitud</code> - El atributo de latitud de la tabla de Tareas<br>- <code>longitud</code> - El atributo de longitud de la tabla de Tareas<br>- <code>Radio</code> - Tamaño de la ubicación geográfica en metros<br>- <code>arrival_datetime</code> - Cuando el Dispositivo llega al área de la Tarea. SE IGNORA al crear/actualizar<br>- <code>created_at</code> - El atributo created_at de la tabla de Tareas<br>- <code>status_change_datetime</code> - Fecha y hora de la actualización de la tarea<br>- <code>time_from</code> - La fecha y hora asociadas con el atributo time_from<br>- <code>time_to</code> - La fecha y hora asociadas con el atributo time_to<br>- <code>stay_duration</code> - El atributo stay_duration de la tabla de tareas<br>- <code>stay_duration_minutes</code> - Duración de la visita. El tiempo que un trabajador móvil debe pasar en el sitio de la asignación para completar con éxito la tarea. Varias visitas son acumulativas<br>- <code>arrival_duration_minutes</code> - Ignorar visitas aleatorias más cortas que la duración especificada. Al calcular la duración mínima, se ignorarán las visitas más cortas que la duración especificada<br>- <code>max_delay_minuts</code> - Retraso aceptable. La cantidad máxima de tiempo que un empleado puede llegar tarde. Cualquier Tarea completada durante este tiempo se marcará como «atrasada»<br>- <code>is_stay_control_enabled</code> - El atributo is_stay_control_enabled de la tabla Tareas<br>- <code>Dirección</code> - El atributo address de la tabla Tareas<br>- <code>descripción</code> - El atributo Description de la tabla Tareas<br>- <code>campos personalizados</code> - El atributo custom_fields de la tabla Tareas<br>- <code>external_id</code> - Identificador de entidad externa<br>- <code>order_sort</code> - El atributo order_sort de la tabla de Tareas<br>- <code>creado_por</code> - Origen de la tarea creada</td></tr><tr><td><strong>Contenido</strong></td><td>Admite tareas jerárquicas mediante <code>parent_Tarea_id</code>; ventanas de tiempo definidas por <code>time_from</code>/<code>time_to</code>; validación de Zona con ubicación y radio</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a <code>formularios</code> (recolección de datos), <code>historial_de_tareas</code> (cambios de estado), <code>objetos</code> (dispositivo asignado)</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>stay_duration</code> y <code>arrival_duration_minutes</code> activar el monitoreo del cumplimiento para las tareas de entrega y servicio</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>formularios</code></strong></summary>

**Descripción**: Formularios de recopilación de datos configurables para capturar información estructurada durante la finalización de una Tarea o Los check-ins de la aplicación móvil, con campos y valores almacenados como JSON, validación opcional de ubicación (is\_submission\_in\_zone) y requisitos de envío obligatorio cuando se adjunta a Tareas

<table><thead><tr><th width="141">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>Formulario_id</code> - Identificador de entidad del Formulario<br>- <code>id_de_tarea</code> - Un ID de la Tarea a la que está adjunto este Formulario<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>etiqueta del Formulario</code> - Etiqueta de formulario definida por el usuario<br>- <code>campos</code> - Si es verdadero, el Formulario solo se puede enviar en la zona de Tarea<br>- <code>valores</code> - Un mapa con los IDs de campo como claves y objetos field_value como valores. Clave usada para vincular el campo y su valor correspondiente<br>- <code>submitted_at</code> - Fecha en que se enviaron por última vez los valores del formulario<br>- <code>submission_latitude</code> - Ubicación en la que se enviaron por última vez los valores del formulario<br>- <code>submission_longitude</code> - Ubicación en la que se enviaron por última vez los valores del formulario<br>- <code>submission_address</code> - Ubicación en la que se enviaron por última vez los valores del formulario<br>- <code>is_submission_in_zone</code> - Si es verdadero, el Formulario solo se puede enviar en la zona de Tarea<br>- <code>descripción</code> - Fecha en que se creó este formulario (o se adjuntó a la tarea)<br>- <code>created_at</code> - Fecha en que se creó este Formulario (o se adjuntó a la Tarea)</td></tr><tr><td><strong>Contenido</strong></td><td><code>campos</code> define la estructura del Formulario (JSON); <code>valores</code> contiene los datos enviados (JSON)</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a <code>Tareas</code> (orden de trabajo asociada), <code>objetos</code> (remitente), referenciado en <code>registros</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Indicador de validación de ubicación <code>is_submission_in_zone</code> habilita reglas de envío de Formularios basadas en Zona</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>registros</code></strong></summary>

**Descripción**: registros de asistencia y actividad basados en la ubicación, enviados mediante la aplicación móvil, con Seguimiento de las horas de llegada planificadas frente a las reales (planned\_datetime vs actual\_datetime) con coordenadas geográficas y mediciones de precisión de la ubicación (radio) para informes de puntualidad

<table><thead><tr><th width="129">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>checkin_id</code> - Identificador de la entidad de check-in<br>- <code>employee_id</code> - El identificador de la entidad de empleado también es el identificador de Conductores<br>- <code>id de objeto</code> - Dispositivo del empleado<br>- <code>Formulario_id</code> - Identificador de entidad del Formulario<br>- <code>user_id</code> - Usuario del empleado<br>- <code>planned_datetime</code> - Hora del dispositivo cuando se realizó el check-in<br>- <code>actual_datetime</code> - Hora del servidor cuando se procesó la solicitud/mensaje<br>- <code>latitud</code> - Ubicación en la que se enviaron los check-ins<br>- <code>longitud</code> - Ubicación en la que se enviaron los check-ins<br>- <code>Radio</code> - Error de posicionamiento en un punto, en metros<br>- <code>Dirección</code> - Dirección del check-in<br>- <code>comentario</code> - El atributo comment de la tabla de check-ins</td></tr><tr><td><strong>Relaciones</strong></td><td>Conecta a los empleados con formularios y ubicaciones; rastrea la desviación del horario planificado</td></tr><tr><td><strong>Notas especiales</strong></td><td>Diferencia de tiempo entre <code>planned_datetime</code> y <code>actual_datetime</code> permite generar reportes de puntualidad; el radio define la tolerancia de ubicación aceptable</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>historial_de_tareas</code></strong></summary>

**Descripción**: Registro de auditoría completo de eventos del ciclo de vida de la tarea que captura todos los cambios de estado, asignaciones, actualizaciones y modificaciones de campos con marcas de tiempo (event\_datetime), atribución de usuario y tipos de actividad (create, update, assign, status\_change) almacenados en el campo payload para el cumplimiento y el análisis del flujo de trabajo

<table><thead><tr><th width="137">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>id_del_historial_de_tarea</code> - Identificador de entidad del historial de Tarea<br>- <code>id_de_tarea</code> - Identificador de entidad de Tarea<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>actividad</code> - Operación que ocurrió. Puede ser "create", "update", "assign" o "status_change"<br>- <code>event_datetime</code> - Fecha y hora del evento<br>- <code>carga útil</code> - Depende de la operación. Normalmente, contiene los campos que se cambiaron durante la operación</td></tr><tr><td><strong>Contenido</strong></td><td>Tipos de actividad definidos en <code>description_parameters</code>; <code>carga útil</code> almacena detalles específicos del evento (texto)</td></tr><tr><td><strong>Notas especiales</strong></td><td>Esencial para el análisis de finalización de Tarea, la generación de reportes de transición de estado y el Seguimiento de la actividad del usuario</td></tr></tbody></table>

</details>

Reglas y automatización

<details>

<summary><strong><code>reglas</code></strong></summary>

**Descripción**: Reglas de detección de eventos con condiciones de activación configurables (exceso de velocidad, violaciones de la Zona, umbrales de sensor, tiempo de inactividad) almacenadas en parámetros (JSONB), y configuraciones de notificación multicanal (alert\_email, alert\_sms, alert\_phone, is\_push\_enabled) para monitoreo y alertas automatizados basados en datos del dispositivo y del servidor

<table><thead><tr><th width="131">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>rule_id</code> - identificador de entidad de regla<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>client_id</code> - Identificador de la entidad del cliente<br>- <code>event_type</code> - El atributo event_type de la tabla de reglas<br>- <code>etiqueta del evento</code> - El atributo event_label de la tabla de reglas<br>- <code>grupo_de_eventos</code> - El atributo event_Grupo de la tabla de reglas<br>- <code>descripción</code> - Atributo de descripción de la tabla de reglas<br>- <code>parámetros</code> - Parámetros del evento. Para obtener más detalles sobre los parámetros disponibles, consulte <a href="https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/tracker/rules/rule_types/">Documentación de API de Navixy</a>.<br>- <code>alert_email</code> - Correo electrónico para notificaciones<br>- <code>alert_sms</code> - Números de teléfono para notificaciones por SMS<br>- <code>alert_phone</code> - Teléfonos para llamadas de voz<br>- <code>is_push_enabled</code> - Si es verdadero, las notificaciones push están disponibles<br>- <code>created_at</code> - El atributo created_at de la tabla de reglas<br>- <code>is_deleted</code> - El atributo is_deleted de la tabla de reglas<br>- <code>máximo</code> - Límites aplicados a varias reglas. Por ejemplo, para la regla de tiempo de inactividad con el motor en marcha en minutos<br>- <code>event_comment1</code> - El atributo event_comment1 de la tabla de reglas<br>- <code>event_comment2</code> - El atributo event_comment2 de la tabla de reglas</td></tr><tr><td><strong>Contenido</strong></td><td>Los parámetros de la regla (JSONB) definen las condiciones de activación; admite correo electrónico, SMS, llamadas telefónicas y notificaciones push</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a objetos mediante <code>rules2objects</code>, zonas mediante <code>reglas2zonas</code></td></tr><tr><td><strong>Notas especiales</strong></td><td><code>event_type</code> Define un escenario específico de monitoreo (sobre exceso de velocidad, violación de Zona, umbral del sensor); <code>máximo</code> el campo permite la agregación de eventos para alertas basadas en umbrales</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Muchas relaciones de muchos a muchos que enlazan reglas con objetos supervisados, con personalización de parámetros por objeto mediante object\_params (JSONB), lo que permite que haya diferentes valores de umbral (p. ej., límites de velocidad) para cada vehículo o Activo dentro de la misma regla

<table><thead><tr><th width="140">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>rule_id</code> - identificador de entidad de regla<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>número del grupo de parámetros</code> - El atributo param_group_number de la tabla rules2objects<br>- <code>parámetros del objeto</code> - El atributo de object_params de la tabla rules2objects</td></tr><tr><td><strong>Contenido</strong></td><td><code>parámetros del objeto</code> (JSONB) permite la personalización de reglas por Objeto (p. ej., diferentes límites de velocidad por vehículo)</td></tr><tr><td><strong>Notas especiales</strong></td><td>La relación de muchos a muchos permite que una regla supervise múltiples objetos con distintos parámetros</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>reglas2zonas</code></strong></summary>

**Descripción**: Relación de muchos a muchos que asocia reglas con zonas geocercadas, lo que permite que una sola regla monitoree eventos de entrada y salida en múltiples áreas geográficas para escenarios complejos de monitoreo espacial

<table><thead><tr><th width="144">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>rule_id</code> - identificador de entidad de regla<br>- <code>zone_id</code> - identificador de entidad de zona</td></tr><tr><td><strong>Notas especiales</strong></td><td>La relación de muchos a muchos permite el monitoreo multizona para una sola regla (p. ej., alertar al entrar en cualquiera de varias áreas restringidas)</td></tr></tbody></table>

</details>

Estado y categorización

<details>

<summary><strong><code>estados</code></strong></summary>

**Descripción**: Definiciones de estado personalizadas dentro de los listados de estados, incluidas propiedades de visualización (color para la visualización en el sitio web, order\_sort para la posición) utilizadas para representar los estados de trabajo del dispositivo o del empleado con compatibilidad para borrado suave mediante la bandera is\_deleted

<table><thead><tr><th width="128">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>status_id</code> - identificador de entidad de estado<br>- <code>listing_id</code> - identificador de entidad de listado<br>- <code>status_label</code> - Valor del estado del atributo status_label<br>- <code>color</code> - Color utilizado para su visualización en el sitio web<br>- <code>order_sort</code> - Posición de orden dentro del listado de estados<br>- <code>is_deleted</code> - El atributo is_deleted de la tabla de estados</td></tr><tr><td><strong>Relaciones</strong></td><td>Grupos de estados organizados por <code>listing_id</code> (referencia a <code>status_listings</code>); se usa en <code>status_history</code></td></tr><tr><td><strong>Notas especiales</strong></td><td><code>order_sort</code> define la secuencia de visualización; el color permite diferenciación visual en los reportes</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Definiciones de conjuntos de estados que controlan qué valores de estado están disponibles para dispositivos o empleados, con banderas de permiso (is\_supervisor\_controlled, is\_employee\_controlled) que determinan si los supervisores, los empleados o ambos pueden cambiar los valores de estado

<table><thead><tr><th width="144">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>status_listing_id</code> - Identificador de la entidad de listado de estados<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>status_listing_label</code> - Valor de estado del atributo status_listing_label<br>- <code>is_supervisor_controlled</code> - Si es verdadero, los supervisores pueden cambiar el estado laboral, p. ej., usando la aplicación móvil de monitoreo<br>- <code>is_employee_controlled</code> - Si es verdadero, los empleados pueden cambiar su propio estado laboral, p. ej., usando la aplicación móvil de Seguimiento<br>- <code>is_deleted</code> - El atributo is_deleted de la tabla status_listings</td></tr><tr><td><strong>Relaciones</strong></td><td>Referenciado por <code>devices.status_listing_id</code> y <code>statuses.listing_id</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Las banderas de control determinan quién puede cambiar los estados: solo supervisores, autoservicio de empleados o ambos</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Registro de auditoría de todas las transiciones de estado del dispositivo con marcas de tiempo (changed\_datetime en el dispositivo, server\_datetime en el servidor), atribución de usuario (updated\_by) y captura de ubicación (latitud, longitud, dirección) que permite el análisis geográfico de los cambios de estado y los reportes de ubicación de inicio y fin de jornada

<table><thead><tr><th width="143">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>status_history_id</code> - Identificador de entidad del historial de estado<br>- <code>device_id</code> - Identificador de la entidad del dispositivo<br>- <code>old_status_id</code> - Identificador de entidad del estado anterior<br>- <code>new_status_id</code> - Identificador de entidad del estado nuevo<br>- <code>updated_by</code> - La fecha y hora asociadas con el atributo updated_by<br>- <code>changed_datetime</code> - Fecha y hora de asignar un nuevo estado al dispositivo<br>- <code>server_datetime</code> - Fecha y hora de asignar el nuevo estado del servidor<br>- <code>latitud</code> - Localización de dispositivos durante los cambios de estado<br>- <code>longitud</code> - Localización de dispositivos durante los cambios de estado<br>- <code>Dirección</code> - Localización de dispositivos durante los cambios de estado</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a <code>dispositivos</code>, <code>estados</code> (antiguo y nuevo), <code>description_parameters</code> (para <code>updated_by</code> Papel)</td></tr><tr><td><strong>Notas especiales</strong></td><td>La captura de ubicación permite el análisis geográfico de las transiciones de estado; útil para los reportes de ubicación de inicio y fin de la jornada laboral</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Etiquetas de categorización definidas por el usuario con codificación por color que permiten filtrar y buscar rápidamente entre múltiples tipos de entidad (Lugares, geocercas, empleados, Tareas, rastreadores, Gestión de vehículos) para una organización flexible

<table><thead><tr><th width="149">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>id de etiqueta</code> - Etiqueta de ID de entidad<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>Etiqueta</code> - El atributo tag_label de la tabla de Etiquetas<br>- <code>color</code> - El atributo de color de la tabla de etiquetas</td></tr><tr><td><strong>Relaciones</strong></td><td>Aplicado a entidades mediante <code>Etiqueta_enlaces</code>; alcance definido por el usuario</td></tr><tr><td><strong>Notas especiales</strong></td><td>Sistema flexible de categorización que admite múltiples etiquetas por entidad</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Etiqueta_enlaces</code></strong></summary>

**Descripción**: tabla de relación polimórfica que asocia etiquetas con cualquier tipo de entidad mediante entity\_type y entity\_id, con un campo ordinal para la gestión del orden de visualización, lo que permite un etiquetado flexible de múltiples entidades

<table><thead><tr><th width="127">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>id de etiqueta</code> - Etiqueta de ID de entidad<br>- <code>entity_type</code> - El atributo entity_type de la tabla tag_links<br>- <code>entity_id</code> - Identificador de entidad<br>- <code>ordinal</code> - El atributo ordinal de la tabla tag_links</td></tr><tr><td><strong>Contenido</strong></td><td><code>entity_type</code> identifica la tabla (vehículo, empleado, Tarea, etc.); <code>ordinal</code> define el orden de visualización</td></tr><tr><td><strong>Notas especiales</strong></td><td>La relación polimórfica permite etiquetar distintos tipos de entidades</td></tr></tbody></table>

</details>

Grupos y jerarquía

<details>

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

**Descripción**: Estructura de agrupación organizacional para rastreadores que permite una organización visual en la interfaz de usuario con colores personalizables (group\_color) y administración jerárquica tipo carpetas, que actualmente cumple una función puramente visual

<table><thead><tr><th width="148">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>group_id</code> - Grupo de Dispositivo (vinculado por objects.group_id). La división en grupos se puede ver en la lista de balizas, por ejemplo<br>- <code>client_id</code> - Identificador de la entidad del cliente<br>- <code>etiqueta_de_grupo</code> - Título del grupo especificado por el usuario, de 1 a 60 caracteres imprimibles, p. ej. «Empleados»<br>- <code>color del Grupo</code> - Color del Grupo en formato web (sin #), p. ej. «FF6DDC». Determina el color de los marcadores de Dispositivo en el mapa</td></tr><tr><td><strong>Relaciones</strong></td><td>Referenciado por <code>objects.group_id</code>; propiedad del cliente a través de <code>client_id</code> (referencia a <code>usuarios</code>)</td></tr><tr><td><strong>Notas especiales</strong></td><td>Permite organizar las entidades de monitoreo como carpetas para reportes y permisos</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>grupos_objetos</code></strong></summary>

**Descripción**: Relación de muchos a muchos entre grupos y objetos usando una clave primaria compuesta (groups\_client\_id, objects\_client\_id), lo que permite que los objetos pertenezcan a varios grupos simultáneamente para estructuras organizativas flexibles

<table><thead><tr><th width="135">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>groups_client_id</code> - Identificador de entidad de cliente para grupos<br>- <code>objects_client_id</code> - Identificador de la entidad del cliente para objetos</td></tr><tr><td><strong>Notas especiales</strong></td><td>Permite que los objetos pertenezcan simultáneamente a varios grupos; consulte con ambos <code>client_id</code> valores para la pertenencia a Grupo</td></tr></tbody></table>

</details>

Campos personalizados y entidades

<details>

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

**Descripción**: Registro de tipos de entidad que define qué entidades empresariales admiten Campos personalizados y la estructura de diseño de sus campos (secciones, field\_order), almacenada en entity\_label (JSONB), lo que permite una extensión dinámica del esquema en Lugares, Tareas y otras entidades sin cambios en la base de datos

<table><thead><tr><th width="141">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>entity_id</code> - Identificador de entidad<br>- <code>user_id</code> - Identificador de la entidad de usuario<br>- <code>entity_label</code> - id - int. Identificador de entidad. type - enum. Actualmente, solo se admite «Ubicación». layout - Objeto que describe el diseño de los campos para la entidad. sections - arreglo de Objetos. Cada sección puede contener uno o más campos. Debe existir al menos una sección en un diseño. label - cadena. Nombre de la sección. field_order - arreglo de cadenas. Campos integrados e identificadores de Campos personalizados (como cadenas)<br>- <code>builtin_type</code> - El atributo builtin_type de la tabla de entidades</td></tr><tr><td><strong>Relaciones</strong></td><td>Referenciado por <code>campos personalizados</code> para definir qué Campos personalizados se aplican a qué tipos de entidad</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>builtin_type</code> se vincula a <code>description_parameters</code> para clasificaciones de entidades definidas por el sistema</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>campos personalizados</code></strong></summary>

**Descripción**: Definiciones de campos personalizados que permiten la extensión dinámica del esquema para tipos de entidades, con tipos de campo configurables (custom\_field\_type), reglas de validación y opciones en parámetros (JSONB), y banderas de requerimiento (is\_required) para una captura flexible de datos en lugares, tareas y otras entidades

<table><thead><tr><th width="146">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>custom_field_id</code> - Identificador de la entidad del campo personalizado<br>- <code>entity_id</code> - Identificador de entidad<br>- <code>custom_field_label</code> - Nombre del campo<br>- <code>custom_field_type</code> - Tipo de dato en el campo<br>- <code>descripción</code> - Descripción del campo<br>- <code>is_required</code> - ¿Es obligatorio o no?<br>- <code>parámetros</code> - Parámetros del campo</td></tr><tr><td><strong>Contenido</strong></td><td><code>parámetros</code> (JSONB) almacena la configuración específica del tipo de campo (reglas de validación, opciones del menú desplegable, etc.)</td></tr><tr><td><strong>Relaciones</strong></td><td>Define los atributos personalizados disponibles para las entidades; el tipo de campo se vincula con <code>description_parameters</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Permite la extensión dinámica del esquema sin cambios en la base de datos; se usa ampliamente en <code>Lugares</code> y <code>Tareas</code></td></tr></tbody></table>

</details>

Seguimiento histórico

<details>

<summary><strong><code>historial_del_conductor</code></strong></summary>

**Descripción**: Registro de auditoría completo de las asignaciones de empleado a vehículo a lo largo del tiempo con Seguimiento de las transiciones de old\_employee\_id a new\_employee\_id con marcas de tiempo (changed\_datetime, server\_datetime), datos de ubicación (latitude, longitude, address), información de la clave de hardware y atribución de usuario (updated\_by), lo que permite análisis específicos por Conductor cuando Conductores cambian entre Gestión de vehículos

<table><thead><tr><th width="146">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>Conductor_history_id</code> - Identificador de la entidad del historial del Conductor<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>old_employee_id</code> - Identificador de la entidad de empleado anterior<br>- <code>new_employee_id</code> - Identificador de la entidad del nuevo empleado<br>- <code>clave_de_hardware</code> - El atributo hardware_key de la tabla del historial del Conductor<br>- <code>changed_datetime</code> - Se realizaron cambios de fecha y hora en el dispositivo<br>- <code>server_datetime</code> - Fecha y hora de los cambios realizados en el servidor<br>- <code>updated_by</code> - La fecha y hora asociadas con el atributo updated_by<br>- <code>latitud</code> - El atributo de latitud de la tabla driver_history<br>- <code>longitud</code> - El atributo de longitud de la tabla driver_history<br>- <code>Dirección</code> - El atributo de dirección de la tabla driver_history del Conductor</td></tr><tr><td><strong>Relaciones</strong></td><td>Realiza un seguimiento de las asignaciones de Conductor a Gestión de vehículos a lo largo del tiempo; enlaza con <code>Empleados</code> y <code>objetos</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Esencial para los reportes específicos del conductor cuando los conductores cambian de vehículo; la captura de ubicación permite el análisis de la ubicación del cambio de asignación</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Seguimiento de registro de auditoría de qué dispositivos GPS (object\_id) se instalaron en qué Gestión de vehículos (vehicle\_id) a lo largo del tiempo, con marcas de tiempo de cambio (changed\_datetime), lo que permite una atribución precisa de los datos históricos y el cálculo de Kilometraje cuando los rastreadores se mueven entre Gestión de vehículos

<table><thead><tr><th width="144">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>vehicle_dispositivo_history_id</code> - Identificador de entidad del historial del Dispositivo vehicular<br>- <code>vehicle_id</code> - Identificador de entidad del vehículo<br>- <code>id de objeto</code> - objeto identificador de entidad<br>- <code>changed_datetime</code> - La fecha y la hora asociadas con el atributo changed_datetime</td></tr><tr><td><strong>Relaciones</strong></td><td>Registra qué dispositivo GPS se instaló en qué vehículo a lo largo del tiempo</td></tr><tr><td><strong>Notas especiales</strong></td><td>Crítico para el análisis histórico de datos cuando los rastreadores se mueven entre la Gestión de vehículos; permite una atribución precisa del Kilometraje y del uso</td></tr></tbody></table>

</details>

Datos de referencia y consulta

<details>

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

**Descripción**: Los datos de referencia a nivel de sistema proporcionan etiquetas legibles por humanos (descripción) para valores enteros enumerados (key) usados en toda la base de datos, organizados por el campo type (por ejemplo, task\_status, fuel\_type, counter\_type, entity\_classification) para una traducción consistente de valores en los reportes y la visualización en la interfaz de usuario

<table><thead><tr><th width="146">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>clave</code> - Valor posible en el atributo<br>- <code>tipo</code> - Un atributo compuesto que consiste en el nombre de la tabla seguido de un guion bajo y el nombre de un atributo en la tabla<br>- <code>descripción</code> - Valor implícito de un atributo</td></tr><tr><td><strong>Contenido</strong></td><td>Proporciona etiquetas legibles para valores codificados en toda la base de datos (estado de la tarea, tipos de combustible, tipos de contador, etc.)</td></tr><tr><td><strong>Relaciones</strong></td><td>Referenciado mediante claves foráneas desde varias tablas para una categorización estandarizada</td></tr><tr><td><strong>Notas especiales</strong></td><td>Esencial para traducir códigos enteros a valores legibles en los reportes; <code>tipo</code> grupos de campos y enumeraciones relacionadas</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Configuraciones de los contadores de Odómetro y horas de motor que vinculan las lecturas de los sensores del dispositivo (sensor\_id) con mediciones de distancia o tiempo, con coeficientes multiplicadores para la conversión de unidades (km, miles, horas) y counter\_type de description\_parameters que define el tipo de medición

<table><thead><tr><th width="140">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>counter_id</code> - ID interno<br>- <code>device_id</code> - Identificador de la entidad del dispositivo<br>- <code>counter_type</code> - Tipo de contador<br>- <code>sensor_id</code> - Identificador de la entidad del sensor<br>- <code>multiplier</code> - Coeficiente para convertir valores en una de las métricas (km, l, etc.)</td></tr><tr><td><strong>Relaciones</strong></td><td>Vincula dispositivos con lecturas de sensores que representan contadores de distancia o tiempo</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>multiplier</code> convierte pulsos del sensor en unidades reales (km, millas, horas); <code>counter_type</code> de <code>description_parameters</code> define el tipo de medición</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Etiquetas personalizadas para los canales de salida del dispositivo que asignan identificadores numéricos de salida (número) a nombres definidos por el usuario (etiqueta), como «Bloqueo de puerta» o «Bloqueo del motor», para la generación de reportes legibles y el análisis de los comandos y estados de salida del dispositivo

<table><thead><tr><th width="140">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>device_id</code> - Identificador de la entidad del dispositivo<br>- <code>número</code> - El atributo number de la tabla device_output_name<br>- <code>label</code> - El atributo label de la tabla device_output_name</td></tr><tr><td><strong>Contenido</strong></td><td>Asigna los números de los canales de salida a nombres definidos por el usuario (p. ej., «Cerradura de puerta», «Bloque del motor»)</td></tr><tr><td><strong>Notas especiales</strong></td><td>Permite generar reportes legibles al analizar los comandos y estados de salida del dispositivo</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Pares clave-valor de configuración del dispositivo sincronizados desde la plataforma de origen. Cada fila almacena una configuración para un dispositivo específico.

<table><thead><tr><th width="140">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>device_id</code> - Identificador de la entidad del dispositivo<br>- <code>clave</code> - Nombre del ajuste<br>- <code>value</code> - Valor del ajuste</td></tr><tr><td><strong>Clave primaria</strong></td><td>Compuesto: <code>(device_id, key)</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Se completa durante la sincronización completa del cliente. Use esta tabla para leer valores de configuración a nivel de dispositivo junto con datos telemáticos o de negocio.</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>descripción del evento</code></strong></summary>

**Descripción**: Tabla de referencia de los códigos de eventos del rastreador con descripciones legibles para humanos. Contiene 134 entradas que cubren eventos comunes del rastreador, como SOS, Modo ahorro energía, Ignición y cambios de entrada/salida digital.

<table><thead><tr><th width="140">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td>- <code>event_id</code> - Código del evento (clave primaria)<br>- <code>descripción</code> - nombre del evento legible para humanos</td></tr><tr><td><strong>Notas especiales</strong></td><td>Unirse a <code>raw_telematics_data.seguimiento_data_core</code> activado <code>event_id</code> para mostrar los nombres de los eventos en Reportes y paneles de control en lugar 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/es/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.
