> 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 raw\_business\_data

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

Este esquema contiene más de 40 tablas cuidadosamente seleccionadas para cubrir diversos aspectos del negocio y casos de uso. Estas tablas representan sus entidades centrales del negocio, su estructura organizacional y sus 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 de 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)"
  "estado" "carácter variable(10)" [no nulo]
  "fecha_de_finalización" marca de tiempo
  "horas_de_motor_iniciales" numérico
  "id_de_tarea_de_servicio" entero [no nulo]
  "notificaciones_push_están_activadas" booleano [no nulo]
  "intervalo_de_notificación_de_fecha" intervalo
  "fecha_hora_prevista" marca de tiempo
  "costo" numérico [no nulo]
  "límite_de_kilometraje" numérico
  "correos_electrónicos_de_notificación" texto
  "is_unplanned" boolean [not null]
  "is_repeat" boolean [not null]
  "completion_engine_hours" integer
  "engine_hours_limit" numeric
  "Kilometraje_repeat_interval" integer
  "vehicle_id" integer [not null]
  "engine_hours_notification_interval" integer
  "start_date" timestamp
  "Kilometraje_notification_interval" integer
  "date_repeat_interval" interval
  "description" "character varying(255)"
  "notification_sms_phone_numbers" text
  "end_date" timestamp
  "engine_hours_repeat_interval" integer
  "completion_Kilometraje" integer
}

Tabla "Garajes" {
  "record_added_at" marca de tiempo [no nulo]
  "garage_id" integer [not null]
  "longitude" numeric
  "mechanic_name" "character varying(255)"
  "radius" integer [not null]
  "latitud" numérico
  "organization_label" "character varying(255)"
  "user_id" entero [no nulo]
  "dispatcher_name" "character varying(255)"
  "dirección" "character varying(255)"
}

Tabla "driver_history" {
  "server_datetime" marca de tiempo [no nulo]
  "dirección" "character varying(255)"
  "updated_by" entero [no nulo]
  "object_id" entero
  "longitude" numeric
  "latitud" numérico
  "driver_history_id" entero [no nulo]
  "clave_hardware" "character varying(64)"
  "id_nuevo_empleado" integer
  "fecha_hora_cambio" timestamp
  "record_added_at" marca de tiempo [no nulo]
  "id_empleado_anterior" integer
}

Tabla "departamentos" {
  "record_added_at" marca de tiempo [no nulo]
  "etiqueta_departamento" "character varying(255)" [not null]
  "latitud" numérico
  "id_departamento" integer [not null]
  "dirección" "character varying(255)"
  "radius" integer [not null]
  "longitude" numeric
  "user_id" entero [no nulo]
}

Tabla "registros_de_entrada" {
  "radius" integer [not null]
  "latitud" numeric [not null]
  "id_empleado" integer [not null]
  "longitud" numeric [not null]
  "record_added_at" marca de tiempo [no nulo]
  "fecha_hora_real" timestamp [not null]
  "user_id" entero [no nulo]
  "id_formulario" integer [not null]
  "dirección" "character varying(255)"
  "fecha_hora_programada" timestamp [not null]
  "id_objeto" integer [not null]
  "id_registro_de_entrada" integer [not null]
  "comentario" text
}

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

Tabla "campos_de_entidad_vinculados_a_lugares" {
  "valor" bigint [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_ubicacion" integer [not null]
  "id_campo" integer [not null]
}

Tabla "campos_de_texto_de_lugares" {
  "id_ubicacion" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "valor" text [not null]
  "id_campo" integer [not null]
}

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

Tabla "objetos" {
  "record_added_at" marca de tiempo [no nulo]
  "fecha_hora_creacion" timestamp [not null]
  "id_cliente" integer [not null]
  "id_grupo" integer
  "etiqueta_objeto" "character varying(100)"
  "modelo" "character varying(64)"
  "es_clon" boolean [not null]
  "es_eliminado" boolean [not null]
  "id_dispositivo" integer [not null]
  "id_objeto" integer [not null]
}

Tabla "nombre_salida_dispositivo" {
  "id_dispositivo" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "etiqueta" "character varying(100)" [not null]
  "numero" integer [not null]
}

Tabla "puntos_de_zona" {
  "longitud" numeric [not null]
  "numero" integer [not null]
  "id_zona" 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_requerido" boolean [not null]
  "etiqueta_del_campo_personalizado" text [not null]
  "parametros" jsonb
  "tipo_de_campo_personalizado" integer [not null]
  "descripcion" text
  "id_campo_personalizado" integer [no nulo]
}

Tabla "campos_decimales_de_lugares" {
  "id_campo" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_ubicacion" integer [not null]
  "valor" numeric [no nulo]
}

Tabla "historial_de_tareas" {
  "id_tarea" integer [no nulo]
  "actividad" integer [no nulo]
  "id_historial_de_tarea" integer [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "user_id" entero [no nulo]
  "fecha_y_hora_del_evento" timestamp [no nulo]
  "carga_util" text
}

Tabla "etiquetas" {
  "etiqueta" "character varying(64)" [no nulo]
  "color" "character varying(6)"
  "user_id" entero [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "id_etiqueta" integer [no nulo]
}

Tabla "lugares" {
  "descripcion" text
  "campos_personalizados" jsonb
  "id_ubicacion" integer [not null]
  "id_externo" "character varying(32)"
  "record_added_at" marca de tiempo [no nulo]
  "id_usuario" integer
  "latitud" numérico
  "radio" integer
  "nombre_de_ubicacion" "character varying(256)"
  "fecha_y_hora_asignada" timestamp
  "direccion" "character varying(256)"
  "longitude" numeric
}

Tabla "listados_de_estado" {
  "user_id" entero [no nulo]
  "es_controlado_por_supervisor" boolean [no nulo]
  "es_eliminado" boolean [not null]
  "id_del_listado_de_estado" integer [no nulo]
  "es_controlado_por_empleado" boolean [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "etiqueta_del_listado_de_estado" "character varying(200)" [no nulo]
}

Tabla "modelos" {
  "record_added_at" marca de tiempo [no nulo]
  "id_modelo" integer [no nulo]
  "tiene_nivel_de_bateria" boolean [no nulo]
  "etiqueta_alternativa" "character varying(50)" [no nulo]
  "proveedor" "character varying(30)" [no nulo]
  "es_clon" boolean
  "tiene_altitud" boolean [no nulo]
  "tiene_telefono" boolean [no nulo]
  "tipo_de_control_de_salida" "character varying(30)" [no nulo]
  "tiene_roaming_gsm" boolean [no nulo]
  "tiene_nivel_gsm" boolean [no nulo]
  "modelo" "character varying(255)" [no nulo]
  "tipo_de_control_especial" "character varying(255)" [no nulo]
  "cantidad_digital" integer [no nulo]
  "tiene_boton_de_desacople" boolean [no nulo]
  "tiene_nombre_gsm" boolean [no nulo]
  "cantidad_analogica" integer [no nulo]
  "cantidad_de_salidas" integer [no nulo]
}

Tabla "historial_de_rastreadores_de_vehiculo" {
  "vehicle_id" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_objeto" integer [not null]
  "fecha_y_hora_del_cambio" timestamp [no nulo]
  "id_historial_de_rastreador_de_vehiculo" integer [no nulo]
}

Tabla "grupos" {
  "id_grupo" integer [no nulo]
  "color_del_Grupo" "character varying(6)" [no nulo]
  "etiqueta_del_Grupo" "character varying(255)" [no nulo]
  "id_cliente" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "descripción_del_sensor" {
  "record_added_at" marca de tiempo [no nulo]
  "parametros" jsonb
  "id_de_entrada" integer [no nulo]
  "exactitud" numeric [no nulo]
  "unidades_del_sensor" "character varying(10)"
  "multiplicador" doubleprecision [no nulo]
  "etiqueta_de_entrada" "character varying(64)"
  "etiqueta_del_sensor" "character varying(100)"
  "tipo_de_unidades" integer [no nulo]
  "divisor" doubleprecision [no nulo]
  "id_grupo" integer [no nulo]
  "id_del_sensor" integer [no nulo]
  "id_dispositivo" integer [not null]
  "tipo_de_sensor" "character varying(45)" [no nulo]
  "tipo_del_Grupo" integer [no nulo]
  "datos_de_calibración" jsonb
}

Tabla "entidades" {
  "etiqueta_de_entidad" jsonb
  "record_added_at" marca de tiempo [no nulo]
  "id_entidad" integer [not null]
  "tipo_integrado" integer [no nulo]
  "user_id" entero [no nulo]
}

Tabla "zonas" {
  "dirección" "character varying(255)"
  "radius" integer [not null]
  "id_zona" integer [not null]
  "latitud_del_centro_del_círculo" numeric [no nulo]
  "id_cliente" integer [not null]
  "etiqueta_de_zona" "character varying(100)"
  "color" "character varying(6)" [not null]
  "tipo_de_zona" "character varying(20)" [no nulo]
  "longitud_del_centro_del_círculo" 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" integer [not null]
  "longitud_de_la_carga_útil" numeric
  "VIN" "character varying(20)"
  "número_de_póliza_de_Seguro_gratuito" "character varying(50)"
  "etiqueta_del_vehículo" "character varying(100)"
  "ancho_de_la_carga_útil" numeric
  "color" "character varying(6)"
  "remolque" "character varying(255)"
  "object_id" entero
  "id_del_estado_del_vehículo" integer
  "vigencia_del_Seguro_de_responsabilidad_hasta" timestamp
  "año_de_fabricación" integer
  "grado_de_Combustible" "character varying(16)"
  "costo_del_Combustible" numeric
  "volumen_del_tanque_de_Combustible" numeric
  "modelo" "character varying(100)"
  "id_del_garaje" integer
  "altura_de_la_carga_útil" numeric
  "velocidad_máxima" numeric
  "número_de_matrícula" "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_matrícula_del_remolque" "character varying(32)"
  "fecha_de_vigencia_del_Seguro_gratuito" timestamp
  "peso_bruto" numeric
  "consumo_estándar_de_Combustible" numeric
  "tipo_de_Combustible" integer
  "peso_de_la_carga_útil" numeric
  "información_adicional" text
  "subtipo_vehiculo" "character varying(32)"
  "numero_poliza_seguro_responsabilidad_civil" "character varying(50)"
  "numero_bastidor" "character varying(32)"
  "user_id" entero [no nulo]
  "tipo_vehiculo" integer [no nulo]
  "numero_chasis" "character varying(32)"
  "numero_llantas" integer
  "disposicion_ruedas" "character varying(16)"
}

Tabla "enlaces_etiquetas" {
  "id_entidad" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "tipo_entidad" integer [no nulo]
  "ordinal" integer [no nulo]
  "id_etiqueta" integer [no nulo]
}

Tabla "reglas" {
  "id_regla" integer [no nulo]
  "id_objeto" integer [not null]
  "parametros" jsonb
  "telefono_alerta" "character varying(210)" [no nulo]
  "tipo_evento" "character varying(100)" [no nulo]
  "id_cliente" integer [not null]
  "push_habilitado" boolean [no nulo]
  "comentario_evento1" "character varying(255)" [no nulo]
  "etiqueta_evento" "character varying(255)" [no nulo]
  "descripcion" "character varying(255)" [no nulo]
  "record_added_at" marca de tiempo [no nulo]
  "sms_alerta" text [no nulo]
  "grupo_evento" integer [no nulo]
  "creado_en" timestamp [no nulo]
  "maximo" integer [no nulo]
  "es_eliminado" boolean [not null]
  "correo_alerta" text [no nulo]
  "comentario_evento2" "character varying(255)" [no nulo]
}

Tabla "historial_estado" {
  "longitude" numeric
  "id_nuevo_estado" integer
  "id_historial_estado" integer [no nulo]
  "id_dispositivo" integer [not null]
  "updated_by" entero [no nulo]
  "dirección" "character varying(255)"
  "latitud" numérico
  "record_added_at" marca de tiempo [no nulo]
  "server_datetime" marca de tiempo [no nulo]
  "fecha_hora_cambio" timestamp
  "id_estado_anterior" integer
}

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

Tabla "formularios" {
  "id_objeto" integer [not null]
  "descripcion" text
  "etiqueta_formulario" "character varying(255)" [no nulo]
  "campos" text
  "creado_en" timestamp [no nulo]
  "direccion_envio" "character varying(255)"
  "latitud_envio" numeric
  "id_formulario" integer [not null]
  "longitud_envio" numeric
  "envio_en_zona" boolean [no nulo]
  "valores" text
  "record_added_at" marca de tiempo [no nulo]
  "id_tarea" integer
  "enviado_en" timestamp
}


Tabla "reglas2objetos" {
  "parametros_objeto" jsonb
  "numero_grupo_parametros" integer [no nulo]
  "id_objeto" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_regla" integer [no nulo]
}

Tabla "tareas" {
  "hora_desde" timestamp
  "duracion_estancia_minutos" interval
  "id_externo" "character varying(100)"
  "object_id" entero
  "tipo_tarea" integer
  "duracion_llegada_minutos" interval
  "estado" integer
  "fecha_hora_llegada" timestamp
  "record_added_at" marca de tiempo [no nulo]
  "id_tarea" integer [no nulo]
  "id_usuario" integer
  "fecha_cambio_estado" timestamp
  "orden" integer
  "hora_hasta" timestamp
  "maximo_retraso_minutos" integer
  "control_estancia_habilitado" boolean
  "dirección" "character varying(255)"
  "etiqueta_tarea" "character varying(200)" [no nulo]
  "longitude" numeric
  "creado_por" integer
  "descripcion" text [no nulo]
  "radio" integer
  "latitud" numérico
  "duracion_estancia" integer
  "creado_en" timestamp [no nulo]
  "campos_personalizados" jsonb
  "id_tarea_padre" integer
}

Tabla "campos_bigint_lugares" {
  "id_campo" integer [not null]
  "valor" bigint [not null]
  "id_ubicacion" integer [not null]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "dispositivos" {
  "sim_bloqueada" boolean [no nulo]
  "id_dispositivo" integer [not null]
  "imei_dispositivo" "character varying(64)" [no nulo]
  "etiqueta_red" "character varying(50)" [no nulo]
  "id_del_listado_de_estado" integer [no nulo]
  "nivel_senal" numeric [no nulo]
  "telefono" "character varying(32)" [no nulo]
  "tiene_roaming" boolean [no nulo]
  "creado_en" timestamp [no nulo]
  "id_propietario" integer [no nulo]
  "record_added_at" marca de tiempo [no nulo]
}

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

Tabla "usuarios" {
  "etiqueta_empresa" "character varying(255)" [no nulo]
  "fecha_hora_registro" timestamp
  "nombre" "character varying(100)" [no nulo]
  "id_principal" integer
  "apellido" "character varying(100)" [no nulo]
  "fecha_nacimiento" timestamp
  "etiqueta_zona_horaria" "character varying(30)"
  "segundo_nombre" "character varying(100)" [no nulo]
  "user_id" entero [no nulo]
  "locale" "character varying(10)" [no nulo]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "contadores" {
  "id_sensor" integer
  "multiplicador" numeric [no nulo]
  "id_contador" integer [no nulo]
  "id_dispositivo" integer [not null]
  "tipo_contador" integer [no nulo]
  "record_added_at" marca de tiempo [no nulo]
}

Tabla "empleados" {
  "licencia_conductor_vigente_hasta" timestamp
  "record_added_at" marca de tiempo [no nulo]
  "apellido" "character varying(100)"
  "id_departamento" integer
  "numero_identificacion_ciudadana" "character varying(32)"
  "nombre" "character varying(100)"
  "categorias_licencia_conductor" "character varying(32)"
  "user_id" entero [no nulo]
  "numero_telefono" "character varying(32)"
  "object_id" entero
  "es_eliminado" boolean [not null]
  "fecha_emision_licencia_conductor" boolean
  "clave_hardware" "character varying(64)"
  "segundo_nombre" "character varying(100)"
  "dirección" "character varying(255)"
  "latitud" numérico
  "id_empleado" integer [not null]
  "numero_personal" "character varying(15)"
  "costo_combustible" doubleprecision
  "número_de_licencia_de_Conductor" "carácter variable(32)"
  "email" "character varying(100)"
  "fuel_consumption" doubleprecision
  "radius" integer [not null]
  "longitude" numeric
}

Tabla "places_longtext_fields" {
  "id_campo" integer [not null]
  "valor" text [not null]
  "record_added_at" marca de tiempo [no nulo]
  "id_ubicacion" 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" {
  "id_dispositivo" integer [not null]
  "key" "character varying" [no nulo]
  «valor» texto

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

Tabla "event_description" {
  "event_id" entero [no nulo, pk]
  "descripcion" text
}

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:\"entidades\".\"entity_id\" < \"campos_personalizados\".\"entity_id\"

Ref:\"Departamentos\".\"department_id\" < \"empleados\".\"department_id\"

Ref:\"usuarios\".\"user_id\" < \"Departamentos\".\"user_id\"

Ref:\"parámetros_de_descripción\".\"key\" < \"contadores\".\"counter_type\"

Ref:\"parámetros_de_descripción\".\"key\" < \"campos_personalizados\".\"custom_field_type\"

Ref:\"parámetros_de_descripción\".\"key\" < \"historial_del_Conductor\".\"updated_by\"

Ref:\"parámetros_de_descripción\".\"key\" < \"entidades\".\"builtin_type\"

Ref:\"parámetros_de_descripción\".\"key\" < \"descripción_del_sensor\".\"units_type\"

Ref:\"parámetros_de_descripción\".\"key\" < \"historial_de_estado\".\"updated_by\"

Ref:\"parámetros_de_descripción\".\"key\" < \"Tareas\".\"status\"

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

Ref:"description_parameters"."key" < "tareas"."tarea_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"

Referencia: «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" < "Lugares_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" < "Lugares_longtext_fields"."field_id"

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

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

Ref:"Lugares"."Ubicación_id" < "Lugares_text_fields"."Ubicación_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" < "tags"."user_id"

Ref:"Tareas"."Tarea_id" < "Tarea_history"."Tarea_id"

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

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

Ref:"users"."user_id" < "tareas"."user_id"

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

Ref:"users"."user_id" < "users2zones"."user_id"

Ref:"zonas"."zona_id" < "usuarios2zonas"."zona_id"

Ref:"Gestión de vehículos"."vehículo_id" < "vehículo_servicio_Tareas"."vehículo_id"

Ref:"Objetos"."objeto_id" < "vehículo_rastreadores_historial"."objeto_id"

Ref:"Gestión de vehículos"."vehículo_id" < "vehículo_rastreadores_historial"."vehículo_id"

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

Ref:"Objetos"."objeto_id" < "Gestión de vehículos"."objeto_id"

Ref:"usuarios"."usuario_id" < "Gestión de vehículos"."usuario_id"

Ref:"zonas"."zona_id" < "Zona_puntos"."zona_id"

Ref:"usuarios"."usuario_id" < "dispositivos"."Propietario_id"

Ref:"usuarios"."usuario_id" < "Objetos"."cliente_id"

```

{% endcode %}

## Frecuencia de actualización

Los datos de este esquema se sincronizan con la base de datos principal. 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 desde el 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 entidad 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, asignadas, completadas</code></td></tr><tr><td>Definiciones de unidades</td><td>Unidades de medida para sensores</td><td><code>units_type: 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 del **`raw_business_data`** esquema se organizan en categorías funcionales para facilitar la navegación. La tabla siguiente resume las tablas clave según su propósito de negocio:

Entidades principales de negocio

<details>

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

**Descripción**: Cuentas de usuario que contienen información del 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>first_name</code> - Nombre de usuario<br>- <code>last_name</code> - Apellido del usuario<br>- <code>middle_name</code> - Patronímico del usuario<br>- <code>locale</code> - Configuración de idioma del usuario<br>- <code>timezone_label</code> - Zona horaria en formato IANA<br>- <code>master_id</code> - ID del usuario principal (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 mediante <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 datos organizacionales; <code>master_id</code> permite jerarquías de usuarios para estructuras de cuenta multinivel</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>empleados</code></strong></summary>

**Descripción**: Registros de empleados y conductores usados para representar a las personas que trabajan para la organización, incluida la información personal, los detalles de licencia, las asignaciones de departamento, las llaves de hardware para la identificación con iButton/RFID y los 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 del empleado<br>- <code>user_id</code> - Identificador de entidad de usuario<br>- <code>object_id</code> - Objeto identificador de entidad<br>- <code>department_id</code> - Un ID del departamento al que se asignó el empleado<br>- <code>first_name</code> - El atributo first_name de la tabla de empleados<br>- <code>last_name</code> - El atributo last_name de la tabla de empleados<br>- <code>middle_name</code> - El atributo middle_name de la tabla de empleados<br>- <code>numero_de_licencia_de_Conductor</code> - Número de licencia de Conductor<br>- <code>categorias_de_licencia_de_Conductor</code> - Categorías de licencia de Conductor<br>- <code>fecha_de_emision_de_la_licencia_de_Conductor</code> - Fecha de emisión de una licencia de Conductor<br>- <code>fecha_de_vencimiento_de_la_licencia_de_Conductor</code> - Fecha hasta la que es válida una licencia de Conductor<br>- <code>clave_de_hardware</code> - Una llave de hardware<br>- <code>correo electrónico</code> - Correo electrónico del empleado<br>- <code>número de teléfono</code> - Número de teléfono del empleado sin el signo "+"<br>- <code>dirección</code> - Dirección de la ubicación<br>- <code>número de personal</code> - Número de personal del empleado/conductor<br>- <code>número de identificación ciudadana</code> - Número de la Seguridad Social<br>- <code>latitud</code> - Ubicación asociada a este empleado<br>- <code>longitud</code> - Ubicación asociada a este empleado<br>- <code>radio</code> - Ubicación asociada con este empleado en metros<br>- <code>consumo_de_combustible</code> - El atributo fuel_consumption de la tabla de empleados<br>- <code>costo_de_combustible</code> - El atributo fuel_cost de la tabla de empleados<br>- <code>está eliminado</code> - El atributo is_deleted de la tabla employees</td></tr><tr><td><strong>Relaciones</strong></td><td>Enlaces a <code>usuarios</code>, <code>Departamentos</code>, <code>objetos</code> (Dispositivo asignado), rastreado en <code>historial_del_conductor</code> y <code>registros de entrada</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 Zona 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 entidad de usuario<br>- <code>department_label</code> - El atributo department_label de la tabla Departamentos<br>- <code>latitud</code> - Ubicación asociada con estos Departamentos<br>- <code>longitud</code> - Ubicación asociada con estos Departamentos<br>- <code>radio</code> - Tamaño de la geolocalización en metros<br>- <code>dirección</code> - El atributo address de la tabla 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 análisis basados 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 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>owner_id</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 del 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ó el registro</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>owner_id</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 (Gestión de 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>object_id</code> - Objeto identificador de entidad<br>- <code>client_id</code> - Identificador de la entidad cliente<br>- <code>device_id</code> - Identificador de entidad del dispositivo<br>- <code>etiqueta del objeto</code> - Nombre del objeto<br>- <code>modelo</code> - Modelo del dispositivo<br>- <code>grupo_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>está eliminado</code> - El atributo is_deleted de la tabla de objetos<br>- <code>is_clone</code> - Marca de clon</td></tr><tr><td><strong>Relaciones</strong></td><td>Centro neurálgico que conecta los dispositivos con los 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 (Gestión de 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 discretas del rastreador<br>- <code>outputs_amount</code> - Número de salidas discretas del rastreador<br>- <code>has_battery_level</code> - Determina si el rastreador transmite lecturas del nivel de 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 desconexión?<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 dispositivos 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 para 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 de sensores que vincula las entradas del dispositivo con la lógica de negocio, incluidas las asignaciones de entradas, las unidades de medida, los factores de conversión (multiplicador/divisor), las tablas de calibración para sensores de combustible, los umbrales de precisión y la 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 sensor<br>- <code>device_id</code> - Identificador de entidad del dispositivo<br>- <code>sensor_label</code> - Nombre del sensor para la interfaz<br>- <code>input_label</code> - El nombre del campo de 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 cual multiplicar el valor del campo. Solo para Sensores de medición<br>- <code>divider</code> - Divisor - el número por el cual dividir el valor del campo. Solo para Sensores de medición<br>- <code>precisión</code> - Un porcentaje especificado para calcular el error absoluto del volumen del tanque. Este error se usa para determinar cuándo se están produciendo llenados o drenajes. Esto se usa solo para sensores de combustible<br>- <code>datos_de_calibración</code> - El atributo calibration_data de la tabla sensor_description<br>- <code>input_id</code> - Número de entrada para Sensor digital<br>- <code>grupo_id</code> - Se considera que los sensores del mismo tipo con el mismo group_id y source_id 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 utiliza en 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>sensor_units</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: arreglo opcional de parent_ids para un sensor compuesto. volume: número de punto flotante. Opcional. Volumen para un sensor compuesto. parent_ids: opcional. Arreglo de enteros. Arreglo de parent_ids para un sensor compuesto. volume: opcional. Número de punto flotante. Volumen para un sensor compuesto. min: opcional. Número de punto flotante. Valor mínimo aceptable sin procesar para un sensor. max: opcional. Número de punto flotante. Valor máximo aceptable sin procesar para un sensor. max_lowering_by_time: opcional. Número de punto flotante. Disminución máxima permitida del valor por hora. max_lowering_by_mileage: opcional. Número de punto flotante. Disminución máxima permitida del valor por cada 100 km. ignore_drains_in_move: opcional. Booleano. El valor predeterminado es false. Si es true, no se detectarán los drenajes de Combustible durante el Movimiento. ignore_refuels_in_move: opcional. Booleano. El valor predeterminado es false. Si es true, no se detectarán los reabastecimientos durante el Movimiento. refuel_gap_minutes: opcional. Entero. El valor predeterminado es 5. El tiempo en minutos después del inicio del Movimiento durante el cual se detectarán los reabastecimientos durante el Movimiento. custom_field_name: opcional. Booleano. El valor predeterminado es false. El parámetro determina si el campo input_name es un valor personalizado ingresado por el usuario. Esto solo tiene sentido si el modelo del Dispositivo tiene la función has_custom_fields</td></tr><tr><td><strong>Relaciones</strong></td><td>Vincula las entradas del dispositivo (desde <code>raw_telematics_data.inputs</code>) a la lógica de negocio a través de <code>device_id</code> y <code>input_label</code> coincidente</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>datos_de_calibración</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 brutos 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 integral de vehículos 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 la Gestión de flotas y el Seguimiento del 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 la entidad del vehículo<br>- <code>user_id</code> - Identificador de entidad de usuario<br>- <code>object_id</code> - Objeto identificador de entidad<br>- <code>garage_id</code> - Identificador de la entidad del garaje<br>- <code>etiqueta del vehículo</code> - El atributo vehicle_label de la tabla Gestión de vehículos<br>- <code>número de registro</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 de 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 Gestión de vehículos<br>- <code>volumen_del_tanque_de_combustible</code> - El atributo fuel_tank_volume de la tabla Gestión de vehículos<br>- <code>velocidad máxima</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 vehículos<br>- <code>color</code> - El atributo color de la tabla de vehículos<br>- <code>remolque</code> - El atributo remolque de la tabla de vehículos<br>- <code>información_adicional</code> - El atributo información_adicional de la tabla de vehículos<br>- <code>tipo_de_vehículo</code> - El atributo tipo_de_vehículo de la tabla de vehículos<br>- <code>subtipo_de_vehículo</code> - El atributo subtipo_de_vehículo de la tabla de vehículos<br>- <code>id_del_estado_del_vehículo</code> - Identificador de entidad del estado del vehículo<br>- <code>número_de_chasis</code> - El atributo número_de_chasis de la tabla de vehículos<br>- <code>número_de_bastidor</code> - El atributo número_de_bastidor de la tabla de vehículos<br>- <code>número_de_registro_del_remolque</code> - El atributo número_de_registro_del_remolque de la tabla de vehículos<br>- <code>peso_de_carga</code> - El atributo peso_de_carga de la tabla de vehículos<br>- <code>altura_de_carga</code> - El atributo altura_de_carga de la tabla de vehículos<br>- <code>longitud_de_carga</code> - El atributo longitud_de_carga de la tabla de vehículos<br>- <code>ancho_de_carga</code> - El atributo ancho_de_carga de la tabla de vehículos<br>- <code>capacidad_de_pasajeros</code> - Un número máximo de pasajeros<br>- <code>peso_bruto</code> - El atributo peso_bruto de la tabla de vehículos<br>- <code>consumo_estándar_de_combustible</code> - Consumo normal promedio de combustible en litros por 100 km<br>- <code>grado_de_combustible</code> - El atributo grado_de_combustible de la tabla de vehículos<br>- <code>disposición_de_ruedas</code> - El atributo disposición_de_ruedas de la tabla de vehículos<br>- <code>tamaño_de_llanta</code> - Tamaño del vehículo: dimensiones y tamaño de la llanta<br>- <code>número_de_llantas</code> - Número de ruedas<br>- <code>número_de_póliza_del_seguro_de_responsabilidad_civil</code> - El atributo número_de_póliza_del_seguro_de_responsabilidad_civil de la tabla de vehículos<br>- <code>seguro_de_responsabilidad_civil_vigente_hasta</code> - La fecha hasta la cual es válido el seguro de responsabilidad civil<br>- <code>número_de_póliza_del_seguro_gratuito</code> - El atributo número_de_póliza_del_seguro_gratuito de la tabla de vehículos<br>- <code>fecha_de_vigencia_del_seguro_gratuito</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> (rastreador actual), <code>Garajes</code> (ubicación del servicio), <code>tareas_del_servicio_del_vehículo</code>; rastreado en <code>historial_de_rastreadores_de_vehículos</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Campos de dimensiones físicas (<code>longitud_de_carga</code>, <code>ancho_de_carga</code>, <code>altura_de_carga</code>, <code>peso_bruto</code>) admiten el análisis de planificación de cargas; las fechas de Seguro permiten el 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 para 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 la entidad del garaje<br>- <code>user_id</code> - Identificador de 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 geolocalización en metros<br>- <code>dirección</code> - Objeto de ubicación<br>- <code>etiqueta de organización</code> - ID del garaje<br>- <code>nombre del mecánico</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 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 basadas 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 activación (basados en fecha, basados en Kilometraje, basados en horas del 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 entidad de tarea de servicio<br>- <code>vehicle_id</code> - Identificador de la 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 de 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 al atributo start_date<br>- <code>end_date</code> - La fecha y hora asociadas al atributo end_date<br>- <code>completion_date</code> - La fecha y hora asociadas al atributo completion_date<br>- <code>predicted_datetime</code> - La fecha y hora asociadas al atributo predicted_datetime<br>- <code>Kilometraje_limit</code> - El atributo Kilometraje_limit de la tabla vehicle_service_Tareas<br>- <code>engine_hours_limit</code> - El atributo engine_hours_limit de la tabla vehicle_service_Tareas<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_tasks<br>- <code>intervalo_de_notificación_de_kilometraje</code> - El atributo mileage_notification_interval de la tabla vehicle_service_tasks<br>- <code>intervalo de notificación de horas del motor</code> - El atributo engine_hours_notification_interval de la tabla vehicle_service_tareas<br>- <code>intervalo de notificación de fecha</code> - Convertir un entero N a N días<br>- <code>kilometraje_repeat_interval</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_tareas<br>- <code>date_repeat_interval</code> - Convertir un entero N a N días<br>- <code>notification_emails</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_tareas<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 kilometraje completado de la tabla tareas de servicio del vehículo<br>- <code>completion_engine_hours</code> - El atributo completion_engine_hours de la tabla vehicle_service_tareas<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_tareas<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 activación: por fecha, por Kilometraje, y por horas de motor; configuraciones de notificación para 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 mantenimiento programado y 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ículo/Activo, 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 la zona<br>- <code>client_id</code> - Identificador de la entidad cliente<br>- <code>etiqueta de zona</code> - El atributo zone_label de la tabla de zonas<br>- <code>zone_type</code> - El atributo zone_type de la tabla de zonas<br>- <code>latitud</code> - Objeto opcional, el cuadro delimitador que puede contener por completo el resultado devuelto<br>- <code>longitud</code> - Objeto opcional, el cuadro delimitador que puede contener por completo 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 geolocalización en metros<br>- <code>dirección</code> - El atributo address de la tabla de zonas<br>- <code>color</code> - El atributo 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>puntos_de_Zona</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>puntos_de_Zona</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Las funciones de PostGIS pueden usarse para comprobar la relación punto-en-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 del cliente 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 de Ubicación<br>- <code>user_id</code> - Identificador de 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 geolocalización en metros<br>- <code>dirección</code> - El atributo address de la tabla de 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_text_fields</code>, <code>Lugares_decimal_fields</code>, <code>Lugares_bigint_fields</code>, <code>Lugares_longtext_fields</code>, <code>Lugares_linked_entity_fields</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>puntos_de_Zona</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, usadas 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> define 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 number</code> para reconstruir la ruta del polígono; úselo con PostGIS ST_MakePolygon para operaciones geométricas</td></tr></tbody></table>

</details>

Tarea y gestión del flujo de trabajo

<details>

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

**Descripción**: Asignaciones de órdenes de trabajo con validación de ubicación (latitud, longitud, radio), ventanas de tiempo (time\_from, time\_to), requisitos de duración de 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 las 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 la entidad Tarea<br>- <code>user_id</code> - Identificador de entidad de usuario<br>- <code>object_id</code> - Objeto identificador de entidad<br>- <code>id_de_tarea_padre</code> - Identificador de la entidad de la tarea principal<br>- <code>etiqueta_de_tarea</code> - El atributo task_label de la tabla de Tareas<br>- <code>estado</code> - El valor de 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 geolocalización 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 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 asignación para completar la tarea con éxito. Varias visitas son acumulativas<br>- <code>arrival_duration_minutes</code> - Ignore las 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 «con retraso»<br>- <code>is_stay_control_enabled</code> - El atributo is_stay_control_enabled de la tabla de tareas<br>- <code>dirección</code> - El atributo address de la tabla de Tareas<br>- <code>descripción</code> - El atributo Description de la tabla de Tareas<br>- <code>campos personalizados</code> - El atributo custom_fields de la tabla de Tareas<br>- <code>external_id</code> - Identificador de la entidad externa<br>- <code>order_sort</code> - El atributo order_sort de la tabla de Tareas<br>- <code>created_by</code> - Origen de la tarea creada</td></tr><tr><td><strong>Contenido</strong></td><td>Admite Tareas jerárquicas mediante <code>id_de_tarea_padre</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> (recopilación de datos), <code>historial_de_Tarea</code> (cambios de estado), <code>objetos</code> (rastreador asignado)</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>stay_duration</code> y <code>arrival_duration_minutes</code> activar el monitoreo de cumplimiento para tareas de entrega y servicio</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Formularios configurables de recopilación de datos para capturar información estructurada al completar Tareas o durante Los check-ins de la aplicación móvil, con campos y valores almacenados como JSON, validación de ubicación opcional (is\_submission\_in\_zone) y requisitos de envío obligatorios cuando se adjuntan 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 de Formulario<br>- <code>id_de_tarea</code> - Un ID de la Tarea a la que está adjunto este Formulario<br>- <code>object_id</code> - Objeto identificador de entidad<br>- <code>etiqueta_del_formulario</code> - Etiqueta del formulario definida por el usuario<br>- <code>campos</code> - Si es true, el formulario solo se puede enviar en la zona de la 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>latitud de envío</code> - Ubicación en la que se enviaron por última vez los valores del formulario<br>- <code>longitud_de_envío</code> - Ubicación en la que se enviaron por última vez los valores del formulario<br>- <code>dirección_de_envío</code> - Ubicación en la que se enviaron por última vez los valores del formulario<br>- <code>es_envío_en_zona</code> - Si es true, el formulario solo se puede enviar en la zona de la 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 de entrada</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Indicador de validación de ubicación <code>es_envío_en_zona</code> habilita reglas de envío de Formulario basadas en Zona</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>registros de entrada</code></strong></summary>

**Descripción**: Registros de asistencia y actividad basados en la ubicación, enviados mediante la aplicación móvil, que hacen seguimiento de los tiempos de llegada planificados frente a los reales (planned\_datetime vs actual\_datetime) con coordenadas geográficas y mediciones de precisión de la ubicación (radio) para reportes 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>object_id</code> - Dispositivo del empleado<br>- <code>formulario_id</code> - Identificador de entidad de 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 de check-in<br>- <code>comentario</code> - El atributo de comentario 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>Variación temporal entre <code>planned_datetime</code> y <code>actual_datetime</code> permite el reporte de puntualidad; el radio define la tolerancia de ubicación aceptable</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>historial_de_Tarea</code></strong></summary>

**Descripción** : Registro completo de auditoría 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>task_history_id</code> - Identificador de la entidad del historial de tareas<br>- <code>id_de_tarea</code> - Identificador de la entidad Tarea<br>- <code>user_id</code> - Identificador de entidad de usuario<br>- <code>activity</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>payload</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>payload</code> Almacena detalles específicos del evento (texto)</td></tr><tr><td><strong>Notas especiales</strong></td><td>Esencial para el análisis de la finalización de tareas, la elaboració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 (sobre exceso de velocidad, violaciones de Zona, umbrales de sensor, tiempo en ralentí) 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 la entidad de la regla<br>- <code>object_id</code> - Objeto identificador de entidad<br>- <code>client_id</code> - Identificador de la entidad 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_group 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/resources/tracking/tracker/rules/rule_types/">Documentación de la API de Navixy</a>.<br>- <code>alert_email</code> - Correo 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>está eliminado</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>reglas2objetos</code>, zonas a través de <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>reglas2objetos</code></strong></summary>

**Descripción**: Relación de muchos a muchos que vincula reglas con Objeto monitoreados, con personalización de parámetros por Objeto mediante object\_params (JSONB), lo que permite usar 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 la entidad de la regla<br>- <code>object_id</code> - Objeto identificador de entidad<br>- <code>param_Grupo_número</code> - El atributo param_group_number de la tabla rules2objects<br>- <code>Objeto_parámetros</code> - El atributo object_params de la tabla rules2objects</td></tr><tr><td><strong>Contenido</strong></td><td><code>Objeto_parámetros</code> (JSONB) permite la personalización de reglas por Objeto (p. ej., límites de velocidad diferentes por vehículo)</td></tr><tr><td><strong>Notas especiales</strong></td><td>La relación de muchos a muchos permite que una regla monitoree varios objetos con diferentes 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 supervise 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 la entidad de la regla<br>- <code>zone_id</code> - Identificador de la entidad de zona</td></tr><tr><td><strong>Notas especiales</strong></td><td>La relación muchos a muchos permite el monitoreo multizona para una sola regla (p. ej., alertar al ingresar 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 estados personalizados dentro de los listados de estados, incluidas propiedades de visualización (color para la visualización en el sitio web, order\_sort para el posicionamiento) utilizadas para representar estados de trabajo de dispositivos o empleados con compatibilidad para eliminación lógica mediante el indicador 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> - estado del identificador de la entidad<br>- <code>listing_id</code> - identificador de entidad del listado<br>- <code>status_label</code> - valor de estado del atributo status_label<br>- <code>color</code> - color utilizado para mostrarse en el sitio web<br>- <code>order_sort</code> - posición de orden dentro del estado del listado<br>- <code>está eliminado</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> (referencias <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 diferenciar visualmente 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 estado<br>- <code>user_id</code> - Identificador de 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, por ejemplo usando una aplicación móvil de rastreo<br>- <code>está eliminado</code> - El atributo is_deleted de la tabla status_listings<br>-</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 (latitude, longitude, address) que permite el análisis geográfico de los cambios de estado y la generación de reportes de ubicación de inicio y fin de la 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 estados<br>- <code>device_id</code> - Identificador de 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 nuevo estado<br>- <code>updated_by</code> - La fecha y hora asociadas al atributo updated_by<br>- <code>changed_datetime</code> - La fecha y hora de asignación de un nuevo estado en el dispositivo<br>- <code>server_datetime</code> - La fecha y hora de asignación del 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 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 en múltiples tipos de entidades (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>Etiqueta_id</code> - Etiqueta de ID de entidad<br>- <code>user_id</code> - Identificador de 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>enlaces_de_etiquetas</code>; alcance definido por el usuario</td></tr><tr><td><strong>Notas especiales</strong></td><td>Sistema de categorización flexible que admite múltiples Etiquetas por entidad</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>enlaces_de_etiquetas</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 el 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>Etiqueta_id</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 organizativa para rastreadores que permite organizarlos visualmente en la interfaz de usuario mediante colores personalizables (group\_color) y una gestión jerárquica similar a la de carpetas; 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>grupo_id</code> - Grupo de Dispositivo (vinculado por objects.group_id). La división en grupos puede verse en la lista de balizas, por ejemplo<br>- <code>client_id</code> - Identificador de la entidad cliente<br>- <code>etiqueta_grupo</code> - Título del grupo especificado por el usuario, de 1 a 60 caracteres imprimibles, p. ej. «Employees»<br>- <code>color del grupo</code> - Color de Grupo en formato web (sin #), por ejemplo «FF6DDC». Determina el color de los marcadores del rastreador 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> (referencias <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 que usa una clave primaria compuesta (groups\_client\_id, objects\_client\_id), lo que permite que los objetos pertenezcan simultáneamente a varios grupos 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 cliente para objetos</td></tr><tr><td><strong>Notas especiales</strong></td><td>Permite que los objetos pertenezcan a varios grupos simultáneamente; consulte con ambos <code>client_id</code> valores para la pertenencia al 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 de negocio admiten campos personalizados y su estructura de distribución de campos (secciones, field\_order) almacenada en entity\_label (JSONB), lo que permite extender dinámicamente el 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 entidad de usuario<br>- <code>etiqueta de entidad</code> - id - int. Identificador de entidad. type - enum. Actualmente, solo se admite "Ubicación". layout - Objeto que describe la disposición de los campos de 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> enlaza con <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 entidad, con tipos de campo configurables (custom\_field\_type), reglas de validación y opciones en parameters (JSONB), y banderas de obligatoriedad (is\_required) para la 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 entidad del campo personalizado<br>- <code>entity_id</code> - Identificador de entidad<br>- <code>custom_field_label</code> - Nombre del campo<br>- <code>tipo_de_campo_personalizado</code> - Tipo de dato en el campo<br>- <code>descripción</code> - Descripción del campo<br>- <code>es_requerido</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 desplegables, 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 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 clave de hardware y atribución de usuario (updated\_by), lo que permite analíticas específicas del conductor cuando los conductores cambian entre 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_historial_id</code> - Identificador de la entidad del historial de Conductor<br>- <code>object_id</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 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 al 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 conductor_history<br>- <code>dirección</code> - El atributo de dirección de la tabla driver_history</td></tr><tr><td><strong>Relaciones</strong></td><td>Rastrea las asignaciones de Conductor a Gestión de vehículos a lo largo del tiempo; vincula con <code>empleados</code> y <code>objetos</code></td></tr><tr><td><strong>Notas especiales</strong></td><td>Esencial para la generación de reportes específicos por 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>historial_de_rastreadores_de_vehículos</code></strong></summary>

**Descripción**: Seguimiento de auditoría que indica qué dispositivos GPS (object\_id) se instalaron en qué unidades de la Gestión de vehículos (vehicle\_id) a lo largo del tiempo, con marcas de tiempo de los cambios (changed\_datetime), lo que permite atribuir con precisión los datos históricos y calcular el Kilometraje cuando los rastreadores se trasladan entre unidades de la 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 la entidad del historial del rastreador del vehículo<br>- <code>vehicle_id</code> - Identificador de la entidad del vehículo<br>- <code>object_id</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>Rastrea qué dispositivo GPS se instaló en qué vehículo a lo largo del tiempo</td></tr><tr><td><strong>Notas especiales</strong></td><td>Es crítico para el análisis de datos históricos cuando los rastreadores se transfieren entre 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**: Datos de referencia de todo el sistema que proporcionan etiquetas legibles para las personas (descripción) de valores enteros enumerados (clave) utilizados en toda la base de datos, organizados por campo de tipo (por ejemplo, task\_status, fuel\_type, counter\_type, entity\_classification) para traducir los valores de manera coherente en los reportes y 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 de 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 los 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 del Odómetro y del contador de horas del motor que vinculan las lecturas de 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 entidad del dispositivo<br>- <code>counter_type</code> - Tipo de contador<br>- <code>sensor_id</code> - Identificador de la entidad 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 los pulsos del sensor en unidades reales (km, miles, 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 (number) a nombres definidos por el usuario (label), como «Door Lock» o «Engine Block», para generar reportes y análisis legibles 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 entidad del dispositivo<br>- <code>número</code> - El atributo number de la tabla device_output_name<br>- <code>etiqueta</code> - El atributo label de la tabla device_output_name</td></tr><tr><td><strong>Contenido</strong></td><td>Asigna números de canal de salida a nombres definidos por el usuario (p. ej., «Door Lock», «Engine Block»)</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 un ajuste de 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 entidad del dispositivo<br>- <code>clave</code> - Nombre del ajuste<br>- <code>valor</code> - Valor del ajuste</td></tr><tr><td><strong>Clave primaria</strong></td><td>Compuesta: <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 los valores de configuración a nivel de dispositivo junto con datos telemáticos o empresariales.</td></tr></tbody></table>

</details>

<details>

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

**Descripción**: Tabla de referencia de códigos de eventos del rastreador con descripciones legibles por humanos. Contiene 134 entradas que abarcan eventos comunes del rastreador, como SOS, Modo ahorro energía, Ignición y cambios en las entradas/salidas digitales.

<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 de 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.tracking_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 by asking a question.

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

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

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

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

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