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

# Schéma raw\_business\_data

raw\_business\_data contient plus de 40 tables couvrant les utilisateurs, les objets, les véhicules, les missions et les géozones. Parcourez la définition du schéma et les descriptions des tables clés pour l'analyse SQL

Ce schéma contient plus de 40 tables soigneusement sélectionnées pour couvrir divers aspects métiers et cas d’usage. Ces tables représentent vos entités métier principales, votre structure organisationnelle et vos données opérationnelles.

{% hint style="info" %}
Le diagramme interactif du schéma raw\_business\_data est disponible sur **dbdiagram.io**: <https://dbdiagram.io/d/V3-bronze-layer-68ecfd1c2e68d21b4131089a>
{% endhint %}

Vous trouverez ci-dessous les détails du schéma raw\_business\_data.

{% code title="Schéma raw\_business\_data" expandable="true" %}

```sql
Table "vehicle_service_Missions" {
  "record_added_at" timestamp [not null]
  "start_kilometrage" numeric
  "comment" "character varying(255)"
  "status" "character varying(10)" [not null]
  "completion_date" timestamp
  "start_engine_hours" numeric
  "service_Mission_id" integer [not null]
  "is_notification_push_enabled" boolean [not null]
  "date_notification_interval" interval
  "predicted_datetime" timestamp
  "cost" numeric [not null]
  "kilometrage_limit" numeric
  "notification_emails" text
  "is_unplanned" booléen [non nul]
  "is_repeat" booléen [non nul]
  "completion_engine_hours" entier
  "engine_hours_limit" numérique
  "kilometrage_repeat_interval" entier
  "vehicle_id" entier [non nul]
  "engine_hours_notification_interval" entier
  "start_date" horodatage
  "kilometrage_notification_interval" entier
  "date_repeat_interval" intervalle
  "description" "chaîne de caractères variable(255)"
  "notification_sms_phone_numbers" texte
  "end_date" horodatage
  "engine_hours_repeat_interval" entier
  "completion_mileage" entier
}

Table "garages" {
  "record_added_at" timestamp [not null]
  "garage_id" entier [non nul]
  "longitude" numérique
  "mechanic_name" "character varying(255)"
  "radius" entier [non nul]
  "latitude" numérique
  "organization_label" "character varying(255)"
  "user_id" entier [non nul]
  "dispatcher_name" "character varying(255)"
  "adresse" "character varying(255)"
}

Table « Conducteur_history » {
  "server_datetime" horodatage [non nul]
  "adresse" "character varying(255)"
  "updated_by" entier [non nul]
  "object_id" entier
  "longitude" numérique
  "latitude" numérique
  "Conducteur_history_id" integer [non nul]
  "hardware_key" "character varying(64)"
  "new_employee_id" integer
  "changed_datetime" timestamp
  "record_added_at" timestamp [not null]
  "old_employee_id" integer
}

Table "Départements" {
  "record_added_at" timestamp [not null]
  "department_label" "character varying(255)" [non nul]
  "latitude" numérique
  "department_id" integer [non nul]
  "adresse" "character varying(255)"
  "radius" entier [non nul]
  "longitude" numérique
  "user_id" entier [non nul]
}

Table "checkins" {
  "radius" entier [non nul]
  "latitude" numeric [non nul]
  "employee_id" integer [non nul]
  "longitude" numérique [non nul]
  "record_added_at" timestamp [not null]
  "actual_datetime" timestamp [non nul]
  "user_id" entier [non nul]
  "form_id" integer [not null]
  "adresse" "character varying(255)"
  "planned_datetime" horodatage [non nul]
  "traceur_id" entier [non nul]
  "checkin_id" entier [non nul]
  "commentaire" texte
}

Table "statuses" {
  "order_sort" entier [non nul]
  "listing_id" entier [non nul]
  "color" "caractère variable(6)" [non nul]
  "status_id" entier [non nul]
  "status_label" "caractère variable(200)" [non nul]
  "record_added_at" timestamp [not null]
  "is_deleted" booléen [non nul]
}

Table "lieux_linked_entity_fields" {
  "value" grand entier [non nul]
  "record_added_at" timestamp [not null]
  "place_id" entier [non nul]
  "field_id" entier [non nul]
}

Table "lieux_text_fields" {
  "place_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "value" texte [non nul]
  "field_id" entier [non nul]
}

Table "users2zones" {
  "zone_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "user_id" entier [non nul]
}

Table "objects" {
  "record_added_at" timestamp [not null]
  "create_datetime" horodatage [non nul]
  "client_id" entier [non nul]
  "group_id" entier
  "object_label" "character varying(100)"
  "model" "character varying(64)"
  "is_clone" booléen [non nul]
  "is_deleted" booléen [non nul]
  "device_id" integer [non null]
  "traceur_id" entier [non nul]
}

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

Table "Zone géographique_points" {
  "longitude" numérique [non nul]
  "number" entier [non null]
  "zone_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "latitude" numeric [non nul]
}

Table "custom_fields" {
  "record_added_at" timestamp [not null]
  "entity_id" entier [non nul]
  "is_required" booléen [non nul]
  "custom_field_label" texte [non null]
  "parameters" jsonb
  "custom_field_type" entier [non nul]
  "description" texte
  "custom_field_id" entier [non nul]
}

Table "places_decimal_fields" {
  "field_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "place_id" entier [non nul]
  "value" numeric [non null]
}

Table "mission_history" {
  "task_id" entier [non nul]
  "activity" entier [non nul]
  "task_history_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "user_id" entier [non nul]
  "event_datetime" horodatage [non nul]
  "payload" texte
}

Table "Mots clés" {
  "tag_label" "character varying(64)" [non nul]
  "couleur" "character varying(6)"
  "user_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "tag_id" entier [non nul]
}

Table "Lieux" {
  "description" texte
  "custom_fields" jsonb
  "place_id" entier [non nul]
  "external_id" "character varying(32)"
  "record_added_at" timestamp [not null]
  "user_id" entier
  "latitude" numérique
  "radius" entier
  "place_label" "character varying(256)"
  "assigned_datetime" timestamp
  "address" "character varying(256)"
  "longitude" numérique
}

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

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

Table "vehicle_trackers_history" {
  "vehicle_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "traceur_id" entier [non nul]
  "changed_datetime" horodatage [non nul]
  "vehicle_tracker_history_id" entier [non nul]
}

Table "groups" {
  "group_id" entier [non nul]
  "group_color" "character varying(6)" [non nul]
  "group_label" "character varying(255)" [non nul]
  "client_id" entier [non nul]
  "record_added_at" timestamp [not null]
}

Table "sensor_description" {
  "record_added_at" timestamp [not null]
  "parameters" jsonb
  "input_id" entier [non nul]
  "accuracy" numérique [non nul]
  "sensor_units" "character varying(10)"
  "multiplier" doubleprecision [non nul]
  "input_label" "character varying(64)"
  "sensor_label" "character varying(100)"
  "units_type" entier [non nul]
  "divider" double précision [non nul]
  "group_id" entier [non nul]
  "sensor_id" entier [non nul]
  "device_id" integer [non null]
  "sensor_type" "character varying(45)" [non nul]
  "group_type" entier [non nul]
  "calibration_data" jsonb
}

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

Table "zones" {
  "adresse" "character varying(255)"
  "radius" entier [non nul]
  "zone_id" entier [non nul]
  "circle_center_latitude" numérique [non nul]
  "client_id" entier [non nul]
  "libellé_de_zone" "character varying(100)"
  "color" "caractère variable(6)" [non nul]
  "type_de_zone" "character varying(20)" [not null]
  "longitude_du_centre_du_cercle" numeric [not null]
  "latitude" numeric [non nul]
  "record_added_at" timestamp [not null]
  "longitude" numérique [non nul]
}

Table "Véhicules" {
  "vehicle_id" entier [non nul]
  "longueur_de_charge" numeric
  "VIN" "character varying(20)"
  "numéro_de_police_d'Assurance_gratuite" "character varying(50)"
  "libellé_du_véhicule" "character varying(100)"
  "largeur_de_charge" numeric
  "couleur" "character varying(6)"
  "remorque" "character varying(255)"
  "object_id" entier
  "vehicle_status_id" entier
  "liability_Assurance_valid_till" horodatage
  "manufacture_year" entier
  "Carburant_grade" "caractères variables(16)"
  "Carburant_cost" numérique
  "Carburant_tank_volume" numérique
  "model" "caractères variables(100)"
  "garage_id" entier
  "payload_height" numérique
  "max_speed" numérique
  "registration_number" "character varying(32)"
  "tyre_size" "character varying(50)"
  "passenger_capacity" entier
  "record_added_at" timestamp [not null]
  "trailer_reg_number" "character varying(32)"
  "free_Assurance_valid_till_date" horodatage
  "gross_weight" numérique
  "standard_fuel_consumption" numérique
  "fuel_type" entier
  "payload_weight" numérique
  "additional_info" texte
  "sous_type_de_véhicule" "character varying(32)"
  "numéro_de_police_d'assurance_de_responsabilité" "character varying(50)"
  "numéro_de_cadre" "character varying(32)"
  "user_id" entier [non nul]
  "type_de_véhicule" integer [non nul]
  "numéro_de_châssis" "character varying(32)"
  "nombre_de_pneus" integer
  "configuration_des_roues" "character varying(16)"
}

Tableau "liens_de_mots_clés" {
  "entity_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "type_d'entité" integer [non nul]
  "ordre" integer [non nul]
  "tag_id" entier [non nul]
}

Tableau "règles" {
  "id_de_règle" integer [non nul]
  "traceur_id" entier [non nul]
  "parameters" jsonb
  "téléphone_d'alerte" "character varying(210)" [non nul]
  "type_d'événement" "character varying(100)" [non nul]
  "client_id" entier [non nul]
  "push_activé" boolean [non nul]
  "commentaire_d'événement1" "character varying(255)" [non nul]
  "libellé_d'événement" "character varying(255)" [non nul]
  "description" "character varying(255)" [non nul]
  "record_added_at" timestamp [not null]
  "sms_d'alerte" text [non nul]
  "groupe_d'événement" integer [non nul]
  "date_de_création" timestamp [non nul]
  "maximum" integer [non nul]
  "is_deleted" booléen [non nul]
  "e-mail_d'alerte" text [non nul]
  "commentaire_d'événement2" "character varying(255)" [non nul]
}

Tableau "historique_des_statuts" {
  "longitude" numérique
  "id_du_nouveau_statut" integer
  "id_de_l'historique_des_statuts" integer [non nul]
  "device_id" integer [non null]
  "updated_by" entier [non nul]
  "adresse" "character varying(255)"
  "latitude" numérique
  "record_added_at" timestamp [not null]
  "server_datetime" horodatage [non nul]
  "changed_datetime" timestamp
  "id_de_l'ancien_statut" integer
}

Tableau "règles2zones" {
  "zone_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "id_de_règle" integer [non nul]
}

Tableau "formulaires" {
  "traceur_id" entier [non nul]
  "description" texte
  "libellé_du_formulaire" "character varying(255)" [non nul]
  "champs" text
  "date_de_création" timestamp [non nul]
  "adresse_de_soumission" "character varying(255)"
  "latitude_de_soumission" numeric
  "form_id" integer [not null]
  "longitude_de_soumission" numeric
  "soumission_dans_la_zone" boolean [non nul]
  "valeurs" text
  "record_added_at" timestamp [not null]
  "id_de_mission" integer
  "date_de_soumission" timestamp
}


Tableau "règles2traceurs" {
  "paramètres_du_traceur" jsonb
  "numéro_du_groupe_de_paramètres" integer [non nul]
  "traceur_id" entier [non nul]
  "record_added_at" timestamp [not null]
  "id_de_règle" integer [non nul]
}

Tableau "missions" {
  "date_de_début" timestamp
  "durée_de_séjour_en_minutes" interval
  "id_externe" "character varying(100)"
  "object_id" entier
  "type_de_mission" integer
  "durée_d'arrivée_en_minutes" interval
  "statut" integer
  "date_et_heure_d'arrivée" timestamp
  "record_added_at" timestamp [not null]
  "task_id" entier [non nul]
  "user_id" entier
  "date_et_heure_de_changement_de_statut" timestamp
  "ordre_de_tri" integer
  "date_de_fin" timestamp
  "retard_maximum_en_minutes" integer
  "contrôle_de_séjour_activé" boolean
  "adresse" "character varying(255)"
  "libellé_de_mission" "character varying(200)" [non nul]
  "longitude" numérique
  "créé_par" integer
  "description" text [non nul]
  "radius" entier
  "latitude" numérique
  "durée_de_séjour" integer
  "date_de_création" timestamp [non nul]
  "custom_fields" jsonb
  "id_de_la_mission_parente" integer
}

Tableau "champs_bigint_des_lieux" {
  "field_id" entier [non nul]
  "value" grand entier [non nul]
  "place_id" entier [non nul]
  "record_added_at" timestamp [not null]
}

Tableau "appareils" {
  "carte_sim_bloquée" boolean [non nul]
  "device_id" integer [non null]
  "imei_de_l'appareil" "character varying(64)" [non nul]
  "libellé_du_réseau" "character varying(50)" [non nul]
  "status_listing_id" integer [not null]
  "niveau_de_signal" numeric [non nul]
  "téléphone" "character varying(32)" [non nul]
  "itinérance_active" boolean [non nul]
  "date_de_création" timestamp [non nul]
  "id_du_propriétaire" integer [non nul]
  "record_added_at" timestamp [not null]
}

Tableau "paramètres_de_description" {
  "description" "character varying(150)"
  "record_added_at" timestamp [not null]
  "type" "character varying(100)" [non nul]
  "clé" integer [non nul]
}

Tableau "utilisateurs" {
  "libellé_de_l'entreprise" "character varying(255)" [non nul]
  "date_et_heure_d'inscription" timestamp
  "prénom" "character varying(100)" [non nul]
  "id_maître" integer
  "nom" "character varying(100)" [non nul]
  "date_de_naissance" timestamp
  "libellé_du_fuseau_horaire" "character varying(30)"
  "deuxième_prénom" "character varying(100)" [non nul]
  "user_id" entier [non nul]
  "paramètre_régional" "character varying(10)" [non nul]
  "record_added_at" timestamp [not null]
}

Tableau "compteurs" {
  "id_du_capteur" integer
  "multiplicateur" numeric [non nul]
  "id_du_compteur" integer [non nul]
  "device_id" integer [non null]
  "type_de_compteur" integer [non nul]
  "record_added_at" timestamp [not null]
}

Tableau "employés" {
  "date_de_validité_du_permis_de_conduire" timestamp
  "record_added_at" timestamp [not null]
  "nom" "character varying(100)"
  "id_du_service" integer
  "numéro_d'identité_citoyenne" "character varying(32)"
  "prénom" "character varying(100)"
  "catégories_du_permis_de_conduire" "character varying(32)"
  "user_id" entier [non nul]
  "numéro_de_téléphone" "character varying(32)"
  "object_id" entier
  "is_deleted" booléen [non nul]
  "date_de_délivrance_du_permis_de_conduire" boolean
  "hardware_key" "character varying(64)"
  "deuxième_prénom" "character varying(100)"
  "adresse" "character varying(255)"
  "latitude" numérique
  "employee_id" integer [non nul]
  "numéro_de_personnel" "character varying(15)"
  "coût_du_carburant" doubleprecision
  "numéro_du_permis_de_conduire" "character varying(32)"
  "email" "caractère variable(100)"
  "Carburant_consumption" double précision
  "radius" entier [non nul]
  "longitude" numérique
}

Table "Lieux_longtext_fields" {
  "field_id" entier [non nul]
  "value" texte [non nul]
  "record_added_at" timestamp [not null]
  "place_id" entier [non nul]
}

Table "groups_objects" {
  "groups_client_id" entier
  "objects_client_id" entier

  Index {
    (groups_client_id, objects_client_id) [pk]
  }
}

Table "device_settings" {
  "device_id" integer [non null]
  "key" "character varying" [non nul]
  "value" texte

  Index {
    (device_id, key) [pk]
  }
}

Tableau "event_description" {
  "event_id" entier [non nul, pk]
  "description" texte
}

Réf:"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"

Réf:"devices"."device_id" < "counters"."device_id"

Réf:"entities"."entity_id" < "custom_fields"."entity_id"

Réf:"Départements"."department_id" < "employees"."department_id"

Réf:"users"."user_id" < "Départements"."department_id"

Réf:"description_parameters"."key" < "counters"."counter_type"

Réf:"description_parameters"."key" < "custom_fields"."custom_field_type"

Réf:"description_parameters"."key" < "Conducteur_history"."updated_by"

Réf:"description_parameters"."key" < "entities"."builtin_type"

Réf:"description_parameters"."key" < "sensor_description"."units_type"

Réf:"description_parameters"."key" < "status_history"."updated_by"

Réf:"description_parameters"."key" < "Missions"."status"

Réf:"description_parameters"."key" < "missions"."created_at"

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

Ref:"description_parameters"."key" < "Véhicules"."Carburant_type"

Réf. :"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"

Réf. : "employees"."employee_id" < "driver_history"."new_employee_id"

Réf:"employees"."employee_id" < "driver_history"."old_employee_id"

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

Réf. :"objects"."object_id" < "employees"."object_id"

Réf:"users"."user_id" < "employees"."user_id"

Réf:"users"."user_id" < "entities"."user_id"

Réf:"missions"."mission_id" < "formulaires"."mission_id"

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

Réf.:"objects"."object_id" < "tasks"."object_id"

Réf:"users"."user_id" < "garages"."user_id"

Réf:"groups"."client_id" < "groups_objects"."groups_client_id"

Réf:"objects"."client_id" < "groups_objects"."objects_client_id"

Réf:"models"."model" < "objects"."model"

Ref:"devices"."device_id" < "objects"."device_id"

Réf. : "users"."user_id" < "Lieux"."user_id"

Réf:"custom_fields"."custom_field_id" < "lieux_bigint_fields"."field_id"

Réf:"Lieux"."place_id" < "Lieux_bigint_fields"."place_id"

Réf. :"custom_fields"."custom_field_id" < "places_decimal_fields"."field_id"

Réf. :"places"."place_id" < "places_decimal_fields"."place_id"

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

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

Réf:"custom_fields"."custom_field_id" < "lieux_longtext_fields"."field_id"

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

Réf. : "custom_fields"."custom_field_id" < "places_text_fields"."field_id"

Réf :"places"."place_id" < "places_text_fields"."place_id"

Réf:"rules"."rule_id" < "rules2zones"."rule_id"

Réf. :"objects"."object_id" < "rules2objects"."object_id"

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

Réf:"zones"."zone_id" < "rules2zones"."zone_id"

Réf:"devices"."device_id" < "sensor_description"."device_id"

Réf:"statuses"."status_id" < "status_history"."new_status_id"

Réf:"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"

Réf:"tags"."tag_id" < "tag_links"."tag_id"

Réf:"users"."user_id" < "Mots clés"."user_id"

Réf:"tasks"."task_id" < "task_history"."task_id"

Réf:"users"."user_id" < "task_history"."user_id"

Réf :"tasks"."parent_task_id" < "tasks"."task_id"

Réf. : "users"."user_id" < "tasks"."user_id"

Réf:"users"."master_id" < "users"."user_id"

Réf:"users"."user_id" < "users2zones"."user_id"

Réf:"zones"."zone_id" < "users2zones"."zone_id"

Réf. :"vehicles"."vehicle_id" < "vehicle_service_tasks"."vehicle_id"

Réf. :"Traceurs"."Traceur_id" < "vehicle_trackers_history"."Traceur_id"

Réf:"Véhicules"."vehicle_id" < "vehicle_trackers_history"."vehicle_id"

Réf:"garages"."garage_id" < "véhicules"."garage_id"

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

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

Réf. :"zones"."zone_id" < "Zone géographique_points"."zone_id"

Réf. :"users"."user_id" < "devices"."owner_id"

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

```

{% endcode %}

## Fréquence de mise à jour

Les données de ce schéma sont synchronisées avec la base de données principale. Les mises à jour s’effectuent de manière incrémentale à mesure que des changements se produisent dans la base de données MySQL source, généralement en moins de 5 minutes après la modification source.

## `paramètres de description`

Le système inclut des données de référence pour standardiser les valeurs dans toute la base de données :

<table><thead><tr><th width="167.1817626953125">Type de référence</th><th width="173.9090576171875">Description</th><th>Valeurs d’exemple</th></tr></thead><tbody><tr><td>Définitions des types</td><td>Types d’entités standard</td><td><code>vehicle_type: voiture, camion, bus</code></td></tr><tr><td>Codes d'état</td><td>Valeurs d'état des Mission et du système</td><td><code>statut_des_Missions : non attribuée, attribuée, terminée</code></td></tr><tr><td>Définitions des unités</td><td>Unités de mesure pour les capteurs</td><td><code>type_d'unités : litre, gallon, Celsius</code></td></tr><tr><td>Classifications des entités</td><td>Catégories d'entités commerciales</td><td><code>type_d'entités : lieu, Mission, client</code></td></tr></tbody></table>

## Tables clés par catégorie

Les tables du **`raw_business_data`** schéma sont organisées en catégories fonctionnelles pour faciliter la navigation. Le tableau ci-dessous résume les tables clés selon leur finalité métier :

Entités métier principales

<details>

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

**Description**: Comptes utilisateur contenant des informations de profil, l'affiliation à l'entreprise, les paramètres de localisation (fuseau horaire, locale) et les relations hiérarchiques via master\_id pour des structures de comptes à plusieurs niveaux

<table><thead><tr><th width="145">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>user_id</code> - Identifiant utilisateur unique<br>- <code>company_label</code> - Nom de la société associée à l'utilisateur<br>- <code>first_name</code> - Nom d'utilisateur<br>- <code>last_name</code> - Nom de famille de l'utilisateur<br>- <code>middle_name</code> - Patronyme de l'utilisateur<br>- <code>locale</code> - Paramètres de langue de l'utilisateur<br>- <code>timezone_label</code> - Fuseau horaire au format IANA<br>- <code>master_id</code> - ID de l'utilisateur principal (si l'utilisateur actuel est un subordonné)<br>- <code>registration_datetime</code> - Date d'enregistrement dans le système<br>- <code>birth_date</code> - Date de naissance de l'utilisateur</td></tr><tr><td><strong>Relations</strong></td><td>Utilisateur parent via <code>master_id</code>, lié à <code>employés</code>, <code>Départements</code>, <code>Lieux</code>, <code>Missions</code> par <code>user_id</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Entité centrale reliant les données organisationnelles; <code>master_id</code> permet des hiérarchies d'utilisateurs pour des structures de comptes à plusieurs niveaux</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>employés</code></strong></summary>

**Description**: Enregistrements des employés et des Conducteur utilisés pour représenter les personnes travaillant pour l'organisation, y compris les informations personnelles, les détails de licence, les affectations de département, les clés matérielles pour l'identification iButton/RFID, et les données de localisation avec prise en charge du géorepérage

<table><thead><tr><th width="143">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>identifiant_employé</code> - Identifiant de l'entité employé<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>department_id</code> - L'identifiant du service auquel l'employé est affecté<br>- <code>first_name</code> - L'attribut first_name de la table employees<br>- <code>last_name</code> - L'attribut last_name de la table des employés<br>- <code>middle_name</code> - L'attribut middle_name de la table employees<br>- <code>numéro_de_permis_de_conduire</code> - Numéro de permis de conduire du Conducteur<br>- <code>catégories de permis de conduire</code> - Catégories de permis de Conducteur<br>- <code>date_de_délivrance_du_permis_de_conduire</code> - Date de délivrance d'un permis de conduire<br>- <code>permis_de_conduire_valide_jusqu_à</code> - Date jusqu'à laquelle un permis de conduire est valide<br>- <code>hardware_key</code> - Une clé matérielle<br>- <code>e-mail</code> - E-mail de l'employé<br>- <code>numéro de téléphone</code> - Numéro de téléphone de l'employé sans le signe "+"<br>- <code>adresse</code> - Adresse du lieu<br>- <code>numéro de personnel</code> - Numéro de personnel de l'employé/Conducteur<br>- <code>numéro d'identité nationale</code> - Numéro de Sécurité sociale<br>- <code>Latitude</code> - Emplacement associé à cet employé<br>- <code>Longitude</code> - Emplacement associé à cet employé<br>- <code>Rayon</code> - Emplacement associé à cet employé en mètres<br>- <code>Consommation de carburant</code> - L'attribut de consommation de carburant de la table des employés<br>- <code>Coût du carburant</code> - L'attribut du coût du carburant de la table des employés<br>- <code>est_supprimé</code> - L'attribut is_deleted de la table des employés</td></tr><tr><td><strong>Relations</strong></td><td>Liens vers <code>users</code>, <code>Départements</code>, <code>objets</code> (tracker attribué), suivi dans <code>historique_du_conducteur</code> et <code>enregistrements</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>La clé matérielle permet l’identification du conducteur via iButton ou RFID ; prend en charge le géorepérage avec <code>Latitude</code>, <code>Longitude</code>, <code>Rayon</code> champs</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Départements</code></strong></summary>

**Description**: Unités organisationnelles avec des données de localisation géographique (latitude, longitude, rayon) permettant des analyses basées sur les zones géographiques pour les rapports au niveau des départements et l'association de la localisation des employés

<table><thead><tr><th width="156">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>department_id</code> - Identifiant de l'entité départementale<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>department_label</code> - L'attribut department_label de la table des départements<br>- <code>Latitude</code> - Emplacement associé à ces départements<br>- <code>Longitude</code> - Emplacement associé à ces départements<br>- <code>Rayon</code> - Taille de la zone géographique en mètres<br>- <code>adresse</code> - L'attribut adresse de la table des départements</td></tr><tr><td><strong>Relations</strong></td><td>Relie les employés à la structure organisationnelle via <code>department_id</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Les champs de localisation prennent en charge des analyses basées sur les zones géographiques pour les rapports au niveau des départements</td></tr></tbody></table>

</details>

Suivi et surveillance

<details>

<summary><strong><code>appareils</code></strong></summary>

**Description** : registre des appareils de Suivi physique avec identifiants matériels (IMEI), informations de carte SIM, état de la connectivité réseau (intensité du signal, itinérance, opérateur) et liste des affectations de statut pour la gestion du cycle de vie des appareils

<table><thead><tr><th width="138">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>device_id</code> - ID de l'appareil<br>- <code>Propriétaire_id</code> - ID du propriétaire de l'appareil dans le compte duquel la balise a été ajoutée<br>- <code>device_imei</code> - IMEI de l'appareil<br>- <code>téléphone</code> - Le numéro de carte SIM de l'appareil<br>- <code>status_listing_id</code> - ID du Rapport du matériel<br>- <code>network_label</code> - Le nom du réseau auquel la carte SIM est connectée<br>- <code>signal_level</code> - Force du signal de l'appareil<br>- <code>has_roaming</code> - Indicateur de disponibilité de l'itinérance<br>- <code>is_sim_blocked</code> - Indicateur de verrouillage de la carte SIM<br>- <code>created_at</code> - Date et heure de création de l'entrée</td></tr><tr><td><strong>Relations</strong></td><td>Entité principale liée à <code>objets</code>, <code>modèles</code>, <code>sensor_description</code>, <code>compteurs</code>; <code>Propriétaire_id</code> références <code>users.user_id</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Toutes les données télématiques dans <code>raw_telematics_data</code> le schéma fait référence à cette table via <code>device_id</code></td></tr></tbody></table>

</details>

<details>

<summary><strong><code>objets</code></strong></summary>

**Description** : Registre central des entités surveillées (Véhicules, actifs, personnel) reliant les appareils physiques à la structure organisationnelle par l’intermédiaire de client\_id et group\_id, et représentant l’« unité suivie » avec un Traceur actif par appareil

<table><thead><tr><th width="148">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>object_id</code> - objet identifiant d'entité<br>- <code>client_id</code> - Identifiant de l'entité cliente<br>- <code>device_id</code> - Identifiant de l'entité d'appareil<br>- <code>Traceur_libellé</code> - Nom de l'objet<br>- <code>modèle</code> - Modèle de l'appareil<br>- <code>groupe_id</code> - Groupe d'ID de l'entité<br>- <code>create_datetime</code> - Date et heure de création d'une nouvelle ligne sur le serveur<br>- <code>est_supprimé</code> - Attribut is_deleted de la table objects<br>- <code>is_clone</code> - Indicateur de clone</td></tr><tr><td><strong>Relations</strong></td><td>Hub central reliant les appareils aux utilisateurs (<code>client_id</code>), aux détails du véhicule, à l'historique de suivi, aux missions et aux règles</td></tr><tr><td><strong>Notes particulières</strong></td><td>Représente la "unité suivie" dans le système ; un objet par appareil en service actif</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>modèles</code></strong></summary>

**Description** : Registre central des entités surveillées (Véhicules, actifs, personnel) reliant les appareils physiques à la structure organisationnelle par l’intermédiaire de client\_id et group\_id, et représentant l’« unité suivie » avec un Traceur actif par appareil

<table><thead><tr><th width="135">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>model_id</code> - Identifiant du modèle d'entité<br>- <code>modèle</code> - Attribut model de la table models<br>- <code>vendor</code> - Nom de la société qui a publié le tracker<br>- <code>alternative_label</code> - Attribut alternative_label de la table models<br>- <code>analog_amount</code> - Nombre d'entrées analogiques du tracker<br>- <code>digital_amount</code> - Nombre d'entrées discrètes du tracker<br>- <code>outputs_amount</code> - Nombre de sorties discrètes du tracker<br>- <code>has_battery_level</code> - Détermine si le tracker transmet les relevés de niveau de batterie<br>- <code>has_altitude</code> - Détermine si le tracker transmet l'altitude<br>- <code>has_phone</code> - Y a-t-il une carte SIM ?<br>- <code>has_gsm_level</code> - Un tracker peut-il transmettre le niveau du signal GSM ?<br>- <code>has_gsm_name</code> - Un tracker peut-il transmettre le nom du réseau GSM ou le code opérateur (MCC + MNC) ?<br>- <code>has_gsm_roaming</code> - Un tracker peut-il transmettre l'état d'itinérance ?<br>- <code>has_detach_button</code> - Le tracker dispose-t-il d'un capteur d'arrachement ?<br>- <code>type_output_control</code> - Profil de contrôle des sorties du tracker<br>- <code>type_special_control</code> - Contient des paramètres spécialisés et des modules fonctionnels pour des modèles d'appareils individuels, comme le mode de conduite agressive (hbm_telfm) pour les équipements Teltonika<br>- <code>is_clone</code> - Le modèle est-il un clone d'un autre modèle ?</td></tr><tr><td><strong>Contenu</strong></td><td>Les indicateurs booléens de capacité indiquent quels champs de données sont disponibles pour ce type d'appareil</td></tr><tr><td><strong>Notes particulières</strong></td><td>Utilisez les indicateurs de capacité pour déterminer les capteurs et entrées valides lors de l'interrogation des données télématiques</td></tr></tbody></table>

</details>

<details>

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

**Description**: Configuration complète des capteurs reliant les entrées de l'appareil à la logique métier, y compris les mappages d'entrées, les unités de mesure, les facteurs de conversion (multiplicateur/diviseur), les tables d'étalonnage pour les capteurs de carburant, les seuils de précision et la logique de regroupement pour les relevés agrégés des capteurs

<table><thead><tr><th width="142">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>sensor_id</code> - Identifiant d'entité du capteur<br>- <code>device_id</code> - Identifiant de l'entité d'appareil<br>- <code>sensor_label</code> - Nom du capteur pour l'interface utilisateur<br>- <code>input_label</code> - Le nom du champ du message (attribut) à partir duquel les Données du capteur sont prises. S'il est égal à "input_status", c'est un Capteur discret<br>- <code>sensor_type</code> - Type de capteur<br>- <code>units_type</code> - Unités de mesure<br>- <code>multiplier</code> - Multiplicateur - le nombre par lequel multiplier la valeur du champ. Uniquement pour les Capteurs de mesure<br>- <code>divider</code> - Diviseur - le nombre par lequel diviser la valeur du champ. Uniquement pour les Capteurs de mesure<br>- <code>accuracy</code> - Un pourcentage spécifié pour calculer l'erreur absolue du volume du réservoir. Cette erreur est utilisée pour déterminer quand des ravitaillements ou des vidanges ont lieu. Ceci est utilisé uniquement pour les capteurs de carburant<br>- <code>données d'étalonnage</code> - L'attribut calibration_data de la table sensor_description<br>- <code>identifiant d'entrée</code> - Numéro d'entrée pour le capteur discret<br>- <code>groupe_id</code> - Les capteurs du même type avec le même group_id et le même source_id sont considérés comme appartenant au même Groupe. Leurs données sont additionnées ou moyennées, selon la valeur de group_type. C’est nécessaire pour les capteurs agrégés. Cela est utilisé dans les capteurs de mesure<br>- <code>type_de_Groupe</code> - 0 - additionner les valeurs des capteurs au sein d'un Groupe, 1 - moyenne<br>- <code>unités de capteur</code> - Nom de l'unité saisi par l'utilisateur si units_type=0 (personnalisé)<br>- <code>paramètres</code> - Traceur facultatif avec des paramètres supplémentaires parent_ids - tableau facultatif de parent_ids pour un capteur composite. volume - double. Facultatif. Volume du capteur composite. parent_ids - facultatif. Tableau int. Tableau de parent_ids pour un capteur composite. volume - facultatif. Double. Volume du capteur composite. min - facultatif. Double. Valeur brute minimale acceptable pour un capteur. max - facultatif. Double. Valeur brute maximale acceptable pour un capteur. max_lowering_by_time - facultatif. Double. Diminution maximale autorisée de la valeur par heure. max_lowering_by_mileage - facultatif. Double. Diminution maximale autorisée de la valeur par 100 km. ignore_drains_in_move - facultatif. Boolean. La valeur par défaut est false. Si la valeur est true, les vidanges de Carburant ne seront pas détectées pendant le Mouvement. ignore_refuels_in_move - facultatif. Boolean. La valeur par défaut est false. Si la valeur est true, les ravitaillements ne seront pas détectés pendant le Mouvement. refuel_gap_minutes - facultatif. Integer. La valeur par défaut est 5. Délai en minutes après le début du Mouvement pendant lequel les ravitaillements seront détectés pendant le Mouvement. custom_field_name - facultatif. Boolean. La valeur par défaut est false. Ce paramètre indique si le champ input_name est une valeur personnalisée saisie par l'utilisateur. Cela n'a de sens que si le modèle du tracker dispose de la fonctionnalité has_custom_fields</td></tr><tr><td><strong>Relations</strong></td><td>Relie les entrées de l'appareil (depuis <code>raw_telematics_data.inputs</code>) vers la logique métier via <code>device_id</code> et <code>input_label</code> correspondance</td></tr><tr><td><strong>Notes particulières</strong></td><td><code>données d'étalonnage</code> (JSONB) stocke les tables d'étalonnage spécifiques aux capteurs de niveau de carburant; <code>multiplier</code> et <code>divider</code> convertir les valeurs brutes en unités</td></tr></tbody></table>

</details>

Gestion des actifs

<details>

<summary><strong><code>Véhicules</code></strong></summary>

**Description** : Registre complet des véhicules contenant les spécifications (dimensions, poids, capacité), la documentation (VIN, immatriculation, Assurance), les paramètres opérationnels (Consommation de carburant, volume du réservoir) et l’affectation actuelle du tracker via object\_id pour la Gestion de Flotte et le Suivi de conformité

<table><thead><tr><th width="144">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>identifiant du véhicule</code> - Identifiant de l'entité du véhicule<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>garage_id</code> - Identifiant de l'entité garage<br>- <code>libellé du véhicule</code> - L'attribut vehicle_label de la table des Véhicules<br>- <code>numéro d'immatriculation</code> - Numéro d'immatriculation / Plaque d'immatriculation d’un véhicule<br>- <code>vin</code> - L’attribut VIN de la table des véhicules<br>- <code>annee_fabrication</code> - L’attribut annee_fabrication de la table des véhicules<br>- <code>type_carburant</code> - L’attribut type_carburant de la table des véhicules<br>- <code>Coût du carburant</code> - L’attribut cout_carburant de la table des véhicules<br>- <code>volume_reservoir_carburant</code> - L’attribut volume_reservoir_carburant de la table des véhicules<br>- <code>vitesse_maximale</code> - L’attribut vitesse_maximale de la table des véhicules<br>- <code>modèle</code> - L'attribut modèle de la table des Véhicules<br>- <code>couleur</code> - L'attribut couleur de la table des Véhicules<br>- <code>remorque</code> - L'attribut remorque de la table des Véhicules<br>- <code>informations supplémentaires</code> - L'attribut informations supplémentaires de la table des Véhicules<br>- <code>type de véhicule</code> - L'attribut type de véhicule de la table des Véhicules<br>- <code>sous-type de véhicule</code> - L'attribut vehicle_subtype de la table Véhicules<br>- <code>vehicle_status_id</code> - Identifiant d'entité du statut du véhicule<br>- <code>chassis_number</code> - L'attribut chassis_number de la table Véhicules<br>- <code>frame_number</code> - L'attribut frame_number de la table Véhicules<br>- <code>trailer_reg_number</code> - L'attribut trailer_reg_number de la table Véhicules<br>- <code>payload_weight</code> - L'attribut poids_de_charge_utile de la table des Véhicules<br>- <code>hauteur_de_charge_utile</code> - L'attribut hauteur_de_charge_utile de la table des Véhicules<br>- <code>longueur_de_charge_utile</code> - L'attribut longueur_de_charge_utile de la table des Véhicules<br>- <code>largeur_de_charge_utile</code> - L'attribut largeur_de_charge_utile de la table des Véhicules<br>- <code>capacité_de_passagers</code> - Un nombre maximal de passagers<br>- <code>poids_brut</code> - L'attribut gross_weight du tableau des Véhicules<br>- <code>consommation_standard_de_carburant</code> - Consommation de carburant moyenne normale en litres par 100 km<br>- <code>grade de carburant</code> - L'attribut carburant_grade de la table Véhicules<br>- <code>configuration_des_roues</code> - L'attribut wheel_arrangement de la table Véhicules<br>- <code>taille du pneu</code> - Taille du véhicule : dimensions et taille des roues<br>- <code>nombre_de_pneus</code> - Nombre de roues<br>- <code>numéro de police d'assurance responsabilité civile</code> - L’attribut liability_insurance_policy_number de la table Véhicules<br>- <code>assurance responsabilité civile valable jusqu'au</code> - La date jusqu'à laquelle l'assurance responsabilité civile est valide<br>- <code>numéro_de_police_d'assurance_gratuite</code> - L’attribut free_Assurance_policy_number de la table Véhicules<br>- <code>Assurance_gratuite_valable_jusqu'à_la_date</code> - La date jusqu'à laquelle l'Assurance gratuite est valable</td></tr><tr><td><strong>Relations</strong></td><td>Liens vers <code>objets</code> (tracker actuel), <code>garages</code> (emplacement du service), <code>tâches_de_service_du_véhicule</code>; suivi dans <code>historique_des_trackers_de_véhicules</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Champs de dimensions physiques (<code>longueur_de_charge_utile</code>, <code>largeur_de_charge_utile</code>, <code>hauteur_de_charge_utile</code>, <code>poids_brut</code>) prend en charge les analyses de planification des charges ; les dates d'Assurance permettent le Suivi de conformité</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>garages</code></strong></summary>

**Description**: Emplacements des installations de service et d'entretien avec des coordonnées géographiques (latitude, longitude, rayon), les coordonnées de contact des mécaniciens et des répartiteurs, permettant la détection des visites de service basée sur les zones géographiques et l’analyse de proximité

<table><thead><tr><th width="135">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>garage_id</code> - Identifiant de l'entité garage<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>Latitude</code> - Objet de localisation<br>- <code>Longitude</code> - Objet de localisation<br>- <code>Rayon</code> - Taille de la zone géographique en mètres<br>- <code>adresse</code> - Objet de localisation<br>- <code>libellé de l’organisation</code> - ID du garage<br>- <code>mechanic_name</code> - Nom du mécanicien<br>- <code>dispatcher_name</code> - Nom du répartiteur</td></tr><tr><td><strong>Relations</strong></td><td>Référencé par <code>Véhicules.garage_id</code> pour l’affectation de l’emplacement de service</td></tr><tr><td><strong>Notes particulières</strong></td><td>Les champs de localisation permettent la détection des visites de service basées sur des zones géographiques et l’analyse de proximité</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>tâches_de_service_du_véhicule</code></strong></summary>

**Description**: Suivi de l'historique d'entretien et de la planification des entretiens avec plusieurs types de déclenchement (basés sur la date, le kilometrage, les heures moteur), des intervalles de mission récurrents, des notifications multicanales (e-mail, SMS, push) et une distinction entre les événements d'entretien planifiés (is\_repeat) et non planifiés

<table><thead><tr><th width="132">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>service_task_id</code> - Identifiant de l'entité de mission de service<br>- <code>identifiant du véhicule</code> - Identifiant de l'entité du véhicule<br>- <code>description</code> - L'attribut de description de la table vehicle_service_Missions<br>- <code>statut</code> - La valeur de statut de l'attribut de statut<br>- <code>coût</code> - L'attribut cost de la table vehicle_service_missions<br>- <code>date_de_début</code> - La date et l'heure associées à l'attribut start_date<br>- <code>date de fin</code> - La date et l'heure associées à l'attribut end_date<br>- <code>completion_date</code> - La date et l'heure associées à l'attribut completion_date<br>- <code>predicted_datetime</code> - La date et l'heure associées à l'attribut predicted_datetime<br>- <code>kilometrage_limit</code> - L’attribut mileage_limit de la table vehicle_service_tasks<br>- <code>limite d'heures moteur</code> - L’attribut engine_hours_limit de la table vehicle_service_tasks<br>- <code>start_kilometrage</code> - L'attribut start_mileage de la table vehicle_service_tasks<br>- <code>start_engine_hours</code> - L’attribut start_engine_hours de la table vehicle_service_tasks<br>- <code>intervalle_de_notification_du_kilometrage</code> - L’attribut mileage_notification_interval de la table vehicle_service_tasks<br>- <code>intervalle_de_notification_des_heures_moteur</code> - L'attribut engine_hours_notification_interval de la table vehicle_service_tasks<br>- <code>date_notification_interval</code> - Conversion d'un entier N en N jours<br>- <code>intervalle_de_répétition_du_kilometrage</code> - L’attribut mileage_repeat_interval de la table vehicle_service_tasks<br>- <code>engine_hours_repeat_interval</code> - L'attribut engine_hours_repeat_interval de la table vehicle_service_missions<br>- <code>date_repeat_interval</code> - Conversion d'un entier N en N jours<br>- <code>notification_emails</code> - L’attribut notification_emails de la table vehicle_service_tasks<br>- <code>numéros de téléphone pour les notifications SMS</code> - L'attribut notification_sms_phone_numbers de la table vehicle_service_missions<br>- <code>is_notification_push_enabled</code> - L'attribut is_notification_push_enabled de la table vehicle_service_missions<br>- <code>kilometrage_de_fin</code> - L’attribut completion_mileage de la table vehicle_service_tasks<br>- <code>completion_engine_hours</code> - L'attribut completion_engine_hours de la table vehicle_service_missions<br>- <code>is_repeat</code> - L’attribut is_repeat de la table vehicle_service_tasks<br>- <code>non planifié</code> - L'attribut is_unplanned de la table vehicle_service_missions<br>- <code>commentaire</code> - L'attribut comment de la table vehicle_service_Missions</td></tr><tr><td><strong>Contenu</strong></td><td>Prend en charge trois types de déclenchement : basés sur la date, basés sur le kilometrage, basés sur les heures moteur ; paramètres de notification pour e-mail, SMS, notifications push</td></tr><tr><td><strong>Notes particulières</strong></td><td><code>is_repeat</code> et les champs d'intervalle permettent de créer des plannings d'entretien récurrents; <code>non planifié</code> distingue l’entretien planifié de l’entretien réactif</td></tr></tbody></table>

</details>

Localisation et routage

<details>

<summary><strong><code>zones</code></strong></summary>

**Description**: zones géographiques délimitées par géorepérage qui définissent des périmètres virtuels à l’aide de cercles ou de polygones pour surveiller les événements d’entrée et de sortie des véhicules/Actifs, avec automatisation fondée sur des règles et analyse de localisation, et un code couleur pour une différenciation visuelle

<table><thead><tr><th width="150">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>zone_id</code> - Identifiant de l’entité de zone<br>- <code>client_id</code> - Identifiant de l'entité cliente<br>- <code>libellé de la zone</code> - l'attribut zone_label de la table des zones<br>- <code>zone_type</code> - l'attribut zone_type de la table des zones<br>- <code>Latitude</code> - objet facultatif, la boîte englobante pouvant contenir entièrement le résultat renvoyé<br>- <code>Longitude</code> - objet facultatif, la boîte englobante pouvant contenir entièrement le résultat renvoyé<br>- <code>circle_center_latitude</code> - l'attribut circle_center_latitude de la table des zones<br>- <code>circle_center_longitude</code> - l'attribut circle_center_longitude de la table des zones<br>- <code>Rayon</code> - Taille de la zone géographique en mètres<br>- <code>adresse</code> - l'attribut address de la table des zones<br>- <code>couleur</code> - l'attribut color de la table des zones</td></tr><tr><td><strong>Contenu</strong></td><td>Les types de zone incluent le cercle, le polygone (défini via <code>points de zone géographique</code>), et des classifications de zones spéciales</td></tr><tr><td><strong>Relations</strong></td><td>Référencé par <code>règles2zones</code>, <code>users2zones</code>; les sommets du polygone sont stockés dans <code>points de zone géographique</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Les fonctions PostGIS peuvent servir à vérifier si un point se trouve dans un polygone pour une analyse complexe de la Zone géographique.</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Lieux</code></strong></summary>

**Description**: Points d'intérêt avec coordonnées géographiques, définition des rayons et prise en charge de champs personnalisés extensibles pour stocker les informations de contact des clients et les données spécifiques à l'entreprise, permettant l'intégration CRM/ERP via external\_id et le reporting basé sur la localisation

<table><thead><tr><th width="129">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>place_id</code> - Placer l'identifiant de l'entité<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>place_label</code> - L'attribut place_label de la table des Lieux<br>- <code>Latitude</code> - Objet de localisation<br>- <code>Longitude</code> - Objet de localisation<br>- <code>Rayon</code> - Taille de la zone géographique en mètres<br>- <code>adresse</code> - L'attribut address de la table des Lieux<br>- <code>description</code> - L'attribut description de la table des Lieux<br>- <code>external_id</code> - ID pour l'intégration avec des systèmes externes (CRM)<br>- <code>custom_fields</code> - Champs supplémentaires<br>- <code>assigned_datetime</code> - Date et heure d'attribution du point d'intérêt à l'utilisateur</td></tr><tr><td><strong>Relations</strong></td><td>Étendu avec des valeurs de champs personnalisés via <code>Lieux_text_fields</code>, <code>Lieux_decimal_fields</code>, <code>Lieux_bigint_fields</code>, <code>Lieux_longtext_fields</code>, <code>Lieux_linked_entity_fields</code></td></tr><tr><td><strong>Notes particulières</strong></td><td><code>custom_fields</code> JSONB offre un accès rapide ; les tables liées permettent le filtrage et le tri sur les attributs personnalisés</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>points de zone géographique</code></strong></summary>

**Description**: Coordonnées ordonnées des sommets (le champ number détermine l'ordre) définissant les limites du polygone pour des formes de zones géographiques complexes, permettant des périmètres géographiques précis au-delà des simples zones circulaires, utilisées avec PostGIS ST\_MakePolygon pour les opérations géométriques

<table><thead><tr><th width="133">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>zone_id</code> - Un identifiant de la zone à laquelle ce formulaire est associé<br>- <code>nombre</code> - Numéro de série<br>- <code>Latitude</code> - Localisation<br>- <code>Longitude</code> - Localisation</td></tr><tr><td><strong>Relations</strong></td><td>Plusieurs enregistrements par <code>zone_id</code> définir les limites du polygone ; <code>nombre</code> le champ détermine l’ordre des sommets</td></tr><tr><td><strong>Notes particulières</strong></td><td>Requête avec <code>ORDER BY number</code> pour reconstruire le tracé du polygone ; utilisez-le avec PostGIS ST_MakePolygon pour les opérations géométriques</td></tr></tbody></table>

</details>

Gestion des missions et des flux de travail

<details>

<summary><strong><code>Missions</code></strong></summary>

**Description**: Affectations des ordres de travail avec validation de l’emplacement (latitude, longitude, rayon), plages horaires (time\_from, time\_to), exigences relatives à la durée des visites (stay\_duration\_minutes, arrival\_duration\_minutes), structure hiérarchique via parent\_task\_id et Suivi des statuts pour la gestion des Missions et tâches et les opérations de livraison

<table><thead><tr><th width="130">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>mission_id</code> - Identifiant de l'entité Mission<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>id_de_la_Mission_parente</code> - Identifiant de l'entité de mission parente<br>- <code>libellé_de_mission</code> - L’attribut task_label de la table Missions<br>- <code>statut</code> - La valeur de statut de l'attribut de statut<br>- <code>type de mission</code> - Type de mission, mission, itinéraire ou point de contrôle<br>- <code>Latitude</code> - L'attribut de latitude du tableau des missions<br>- <code>Longitude</code> - L'attribut longitude de la table des Missions<br>- <code>Rayon</code> - Taille de la zone géographique en mètres<br>- <code>arrival_datetime</code> - Lorsque le tracker arrive dans la zone de la Mission. IGNORÉ lors de la création/mise à jour<br>- <code>created_at</code> - L'attribut created_at de la table des Missions<br>- <code>status_change_datetime</code> - Date et heure de la mise à jour de la Mission<br>- <code>time_from</code> - La date et l'heure associées à l'attribut time_from<br>- <code>time_to</code> - La date et l'heure associées à l'attribut time_to<br>- <code>stay_duration</code> - L'attribut stay_duration de la table des Missions<br>- <code>stay_duration_minutes</code> - Durée de la visite. Le temps qu'un travailleur mobile doit passer sur le site de la mission pour terminer la mission avec succès. Plusieurs visites sont cumulatives<br>- <code>arrival_duration_minutes</code> - Ignorer les visites aléatoires plus courtes que la durée spécifiée. Lors du calcul de la durée minimale, les visites plus courtes que la durée spécifiée seront ignorées<br>- <code>max_delay_minuts</code> - Retard acceptable. Le retard maximal qu'un employé peut avoir. Toute mission terminée pendant cette période sera marquée comme "en retard"<br>- <code>is_stay_control_enabled</code> - L'attribut is_stay_control_enabled de la table des Missions<br>- <code>adresse</code> - L'attribut d'adresse de la table des Missions<br>- <code>description</code> - Attribut de description de la table des Missions<br>- <code>custom_fields</code> - L'attribut custom_fields de la table des Missions<br>- <code>external_id</code> - Identifiant d'entité externe<br>- <code>order_sort</code> - L'attribut order_sort de la table des Missions<br>- <code>created_by</code> - Source de la mission créée</td></tr><tr><td><strong>Contenu</strong></td><td>Prend en charge des missions hiérarchiques via <code>id_de_la_Mission_parente</code>; fenêtres temporelles définies par <code>time_from</code>/<code>time_to</code>; validation de Zone géographique avec localisation et rayon</td></tr><tr><td><strong>Relations</strong></td><td>Liens vers <code>formulaires</code> (collecte de données), <code>historique des missions</code> (changements de statut), <code>objets</code> (tracker attribué)</td></tr><tr><td><strong>Notes particulières</strong></td><td><code>stay_duration</code> et <code>arrival_duration_minutes</code> activer le suivi de conformité pour les Missions de livraison et de service</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>formulaires</code></strong></summary>

**Description**: Formulaires de collecte de données configurables pour capturer des informations structurées lors de l’achèvement d’une Mission ou de Check-in de l’application mobile, avec des champs et des valeurs stockés au format JSON, une validation facultative de la localisation (is\_submission\_in\_zone) et des exigences de soumission obligatoires lorsqu’ils sont attachés à des Missions

<table><thead><tr><th width="141">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>Formulaire_id</code> - identifiant de l'entité Formulaire<br>- <code>mission_id</code> - L'identifiant de la Mission à laquelle ce Formulaire est attaché<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>libellé du formulaire</code> - Libellé de Formulaire défini par l'utilisateur<br>- <code>champs</code> - Si vrai, le formulaire ne peut être soumis que dans la zone de mission<br>- <code>valeurs</code> - Une carte avec les identifiants de champ comme clés et les objets field_value comme valeurs. Clé utilisée pour relier le champ à sa valeur correspondante<br>- <code>submitted_at</code> - Date de dernière soumission des valeurs du Formulaire<br>- <code>latitude de soumission</code> - Emplacement auquel les valeurs du formulaire ont été soumises pour la dernière fois<br>- <code>submission_longitude</code> - Emplacement auquel les valeurs du formulaire ont été soumises pour la dernière fois<br>- <code>submission_address</code> - Emplacement auquel les valeurs du formulaire ont été soumises pour la dernière fois<br>- <code>is_submission_in_zone</code> - Si vrai, le formulaire ne peut être soumis que dans la zone de mission<br>- <code>description</code> - Date à laquelle ce Formulaire a été créé (ou rattaché à la Mission)<br>- <code>created_at</code> - Date à laquelle ce Formulaire a été créé (ou rattaché à la Mission)</td></tr><tr><td><strong>Contenu</strong></td><td><code>champs</code> définit la structure du Formulaire (JSON); <code>valeurs</code> contient les données soumises (JSON)</td></tr><tr><td><strong>Relations</strong></td><td>Liens vers <code>Missions</code> (ordre de travail associé), <code>objets</code> (auteur de la soumission), référencé dans <code>enregistrements</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Indicateur de validation de l'emplacement <code>is_submission_in_zone</code> permet des règles de soumission de Formulaire basées sur la Zone géographique</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>enregistrements</code></strong></summary>

**Description**: Enregistrements de présence et d'activité basés sur la localisation, envoyés via l'application mobile, avec suivi des heures d'arrivée prévues et réelles (planned\_datetime vs actual\_datetime), des coordonnées géographiques et des mesures de précision de la localisation (radius) pour le rapport de ponctualité

<table><thead><tr><th width="129">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>checkin_id</code> - Identifiant de l'entité d'enregistrement<br>- <code>identifiant_employé</code> - L'identifiant de l'entité employé est aussi l'identifiant des Conducteurs<br>- <code>object_id</code> - Appareil de l'employé<br>- <code>Formulaire_id</code> - identifiant de l'entité Formulaire<br>- <code>user_id</code> - Utilisateur de l'employé<br>- <code>planned_datetime</code> - Heure de l'appareil au moment où l'enregistrement a été effectué<br>- <code>actual_datetime</code> - Heure du serveur au moment du traitement de la requête/message<br>- <code>Latitude</code> - Emplacement où les check-ins sont soumis<br>- <code>Longitude</code> - Emplacement où les check-ins sont soumis<br>- <code>Rayon</code> - Erreur de positionnement à un point en mètres<br>- <code>adresse</code> - Adresse d'Enregistrement<br>- <code>commentaire</code> - L'attribut commentaire de la table checkins</td></tr><tr><td><strong>Relations</strong></td><td>Connecte les employés aux formulaires et aux lieux ; suit l’écart par rapport à l’horaire prévu</td></tr><tr><td><strong>Notes particulières</strong></td><td>Écart de temps entre <code>planned_datetime</code> et <code>actual_datetime</code> permet le rapport de ponctualité ; le rayon définit la tolérance de localisation acceptable</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>historique des missions</code></strong></summary>

**Description**: journal d'audit complet des événements du cycle de vie de la Mission, consignant tous les changements de statut, les attributions, les mises à jour et les modifications de champs, avec les horodatages (event\_datetime), l'attribution à l'utilisateur et les types d'activité (create, update, assign, status\_change) stockés dans le champ payload à des fins de conformité et d'analyse des flux de travail

<table><thead><tr><th width="137">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>identifiant_historique_des_missions</code> - Identifiant de l'entité d'historique de mission<br>- <code>mission_id</code> - Identifiant de l'entité Mission<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>activité</code> - Opération qui s'est produite. Peut être "create", "update", "assign" ou "status_change"<br>- <code>event_datetime</code> - Date et heure de l'événement<br>- <code>payload</code> - Dépend de l'opération. Contient généralement les champs qui ont été modifiés pendant l'opération</td></tr><tr><td><strong>Contenu</strong></td><td>Types d'activité définis dans <code>paramètres de description</code>; <code>payload</code> stocke les détails spécifiques à l'événement (texte)</td></tr><tr><td><strong>Notes particulières</strong></td><td>Essentiel pour l'analyse de l'achèvement de la mission, la génération de rapports de transition de statut et le suivi de l'activité utilisateur</td></tr></tbody></table>

</details>

Règles et automatisation

<details>

<summary><strong><code>règles</code></strong></summary>

**Description** : règles de détection d'événements avec des conditions de déclenchement configurables (excès de vitesse, violations de Zone géographique, seuils des capteurs, temps d'inactivité) stockées dans les paramètres (JSONB), et des paramètres de notification multicanal (alert\_email, alert\_sms, alert\_phone, is\_push\_enabled) pour une surveillance et des alertes automatisées basées sur les données de l'appareil et du serveur

<table><thead><tr><th width="131">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>rule_id</code> - Identifiant de l'entité de règle<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>client_id</code> - Identifiant de l'entité cliente<br>- <code>event_type</code> - L'attribut event_type du tableau des règles<br>- <code>event_label</code> - L'attribut event_label du tableau des règles<br>- <code>Groupe d’événements</code> - L'attribut event_group de la table des règles<br>- <code>description</code> - Attribut de description du tableau des règles<br>- <code>paramètres</code> - Paramètres d'événement. Pour plus de détails sur les paramètres disponibles, voir <a href="https://www.navixy.com/docs/navixy-api/user-api/resources/tracking/tracker/rules/rule_types/">Documentation de l'API Navixy</a>.<br>- <code>alert_email</code> - E-mail pour les notifications<br>- <code>alert_sms</code> - Numéros de téléphone pour les notifications SMS<br>- <code>alert_phone</code> - Téléphones pour les appels vocaux<br>- <code>is_push_enabled</code> - Si true, les notifications push sont disponibles<br>- <code>created_at</code> - L'attribut created_at de la table des règles<br>- <code>est_supprimé</code> - L'attribut is_deleted de la table des règles<br>- <code>maximum</code> - Limites appliquées à diverses règles. Par exemple, pour la règle de temps d'inactivité avec le moteur en marche, en minutes<br>- <code>event_comment1</code> - L'attribut event_comment1 de la table des règles<br>- <code>event_comment2</code> - L'attribut event_comment2 de la table des règles</td></tr><tr><td><strong>Contenu</strong></td><td>Les paramètres de règle (JSONB) définissent les conditions de déclenchement ; ils prennent en charge les notifications par e-mail, SMS, téléphone et push</td></tr><tr><td><strong>Relations</strong></td><td>Liens vers des objets via <code>règles2objets</code>, zones via <code>règles2zones</code></td></tr><tr><td><strong>Notes particulières</strong></td><td><code>event_type</code> définit un scénario de surveillance spécifique (excès de vitesse, violation de Zone géographique, seuil de capteur); <code>maximum</code> ce champ permet l’agrégation des événements pour des alertes basées sur des seuils</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>règles2objets</code></strong></summary>

**Description**: Relation plusieurs-à-plusieurs reliant les règles aux Traceur surveillés, avec personnalisation des paramètres par Traceur via object\_params (JSONB), permettant de définir des valeurs de seuil différentes (par exemple, les limites de vitesse) pour chaque véhicule ou Actif dans une même règle

<table><thead><tr><th width="140">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>rule_id</code> - Identifiant de l'entité de règle<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>param_group_number</code> - L'attribut param_group_number de la table rules2objects<br>- <code>paramètres_du_traceur</code> - L’attribut object_params de la table rules2objects</td></tr><tr><td><strong>Contenu</strong></td><td><code>paramètres_du_traceur</code> (JSONB) permet une personnalisation des règles par objet (p. ex. différentes limites de vitesse par véhicule)</td></tr><tr><td><strong>Notes particulières</strong></td><td>Une relation plusieurs-à-plusieurs permet à une règle de surveiller plusieurs objets avec des paramètres différents</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>règles2zones</code></strong></summary>

**Description** : relation plusieurs-à-plusieurs associant des règles à des zones géographiques, permettant à une seule règle de surveiller les événements d’entrée/sortie sur plusieurs zones géographiques pour des scénarios complexes de surveillance spatiale

<table><thead><tr><th width="144">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>rule_id</code> - Identifiant de l'entité de règle<br>- <code>zone_id</code> - Identifiant de l'entité de zone</td></tr><tr><td><strong>Notes particulières</strong></td><td>La relation plusieurs-à-plusieurs permet une surveillance multizone pour une seule règle (par exemple, déclencher une alerte lors de l’entrée dans l’une de plusieurs zones restreintes)</td></tr></tbody></table>

</details>

Statut et catégorisation

<details>

<summary><strong><code>statuts</code></strong></summary>

**Description**: Définitions de statuts personnalisées dans les listes de statuts, y compris les propriétés d’affichage (couleur pour l’affichage sur le site web, order\_sort pour le positionnement) utilisées pour représenter les états de travail d’un appareil ou d’un employé avec prise en charge de la suppression logique via l’indicateur is\_deleted

<table><thead><tr><th width="128">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>status_id</code> - Statut de l'identifiant d'entité<br>- <code>listing_id</code> - Identifiant de l'entité de la liste<br>- <code>status_label</code> - Valeur du statut de l'attribut status_label<br>- <code>couleur</code> - Couleur utilisée pour l'affichage sur le site web<br>- <code>order_sort</code> - Position de tri au sein du statut de la liste<br>- <code>est_supprimé</code> - L'attribut is_deleted de la table des statuts</td></tr><tr><td><strong>Relations</strong></td><td>Groupes de statuts organisés par <code>listing_id</code> (références <code>status_listings</code>); utilisé dans <code>status_history</code></td></tr><tr><td><strong>Notes particulières</strong></td><td><code>order_sort</code> définit l'ordre d'affichage ; la couleur permet de les différencier visuellement dans les rapports</td></tr></tbody></table>

</details>

<details>

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

**Description**: Définitions d'ensembles de statuts contrôlant quelles valeurs de statut sont disponibles pour les appareils ou les employés, avec des indicateurs d'autorisation (is\_supervisor\_controlled, is\_employee\_controlled) déterminant si les superviseurs, les employés ou les deux peuvent modifier les valeurs de statut

<table><thead><tr><th width="144">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>status_listing_id</code> - Identifiant de l'entité de liste de statuts<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>status_listing_label</code> - Valeur de statut de l'attribut status_listing_label<br>- <code>is_supervisor_controlled</code> - Si vrai, les superviseurs peuvent modifier le statut de travail, par exemple à l'aide de l'application de surveillance mobile<br>- <code>is_employee_controlled</code> - Si la valeur est true, les employés peuvent modifier leur propre statut de travail, par exemple à l’aide de l’application mobile de suivi<br>- <code>est_supprimé</code> - L’attribut is_deleted de la table status_listings</td></tr><tr><td><strong>Relations</strong></td><td>Référencé par <code>devices.status_listing_id</code> et <code>statuses.listing_id</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Les indicateurs de contrôle déterminent qui peut modifier les statuts : réservé au superviseur, en libre-service par l’employé, ou les deux</td></tr></tbody></table>

</details>

<details>

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

**Description**: Journal d’audit de toutes les transitions d’état de l’appareil avec horodatages (changed\_datetime sur l’appareil, server\_datetime sur le serveur), attribution utilisateur (updated\_by) et capture de la localisation (latitude, longitude, adresse), permettant une analyse géographique des changements de statut et un reporting des lieux de début/fin de journée de travail

<table><thead><tr><th width="143">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>status_history_id</code> - Identifiant d’entité de l’historique des statuts<br>- <code>device_id</code> - Identifiant de l'entité d'appareil<br>- <code>old_status_id</code> - Identifiant de l'entité pour l'ancien statut<br>- <code>new_status_id</code> - Identifiant de l'entité pour le nouveau statut<br>- <code>updated_by</code> - La date et l'heure associées à l'attribut updated_by<br>- <code>changed_datetime</code> - Date et heure d'attribution d'un nouveau statut sur l'appareil<br>- <code>server_datetime</code> - Date et heure d'attribution du nouveau statut du serveur<br>- <code>Latitude</code> - Localisation des appareils lors des changements de statut<br>- <code>Longitude</code> - Localisation des appareils lors des changements de statut<br>- <code>adresse</code> - Localisation des appareils lors des changements d'état</td></tr><tr><td><strong>Relations</strong></td><td>Liens vers <code>appareils</code>, <code>statuts</code> (ancien et nouveau), <code>paramètres de description</code> (pour <code>updated_by</code> rôle)</td></tr><tr><td><strong>Notes particulières</strong></td><td>La capture de localisation permet l’analyse géographique des transitions d’état ; utile pour les rapports de localisation de début et de fin de journée de travail</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>Mots clés</code></strong></summary>

**Description**: Étiquettes de catégorisation définies par l'utilisateur avec un codage couleur qui permettent un filtrage et une recherche rapides parmi plusieurs types d'entités (lieux, géozones, employés, missions, trackers, véhicules) pour une organisation flexible

<table><thead><tr><th width="149">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>identifiant_de_mot_clé</code> - Mots clés d'identifiant de l'entité<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>Mots clés_label</code> - L’attribut tag_label de la table Mots clés<br>- <code>couleur</code> - L'attribut de couleur du tableau des Mots clés</td></tr><tr><td><strong>Relations</strong></td><td>Appliqué aux entités via <code>liens_de_mots_clés</code>; portée définie par l'utilisateur</td></tr><tr><td><strong>Notes particulières</strong></td><td>Système de catégorisation flexible prenant en charge plusieurs mots clés par entité</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>liens_de_mots_clés</code></strong></summary>

**Description**: table de relation polymorphe associant des Mots clés à tout type d'entité via entity\_type et entity\_id, avec un champ ordinal pour la gestion de l'ordre d'affichage, permettant un marquage flexible multi-entités

<table><thead><tr><th width="127">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>identifiant_de_mot_clé</code> - Mots clés d'identifiant de l'entité<br>- <code>type d'entité</code> - L’attribut entity_type de la table tag_links<br>- <code>identifiant de l’entité</code> - Identifiant d’entité<br>- <code>ordinal</code> - L'attribut ordinal de la table des liens de Mots clés</td></tr><tr><td><strong>Contenu</strong></td><td><code>type d'entité</code> identifie la table (véhicule, employé, Mission, etc.); <code>ordinal</code> définit l'ordre d'affichage</td></tr><tr><td><strong>Notes particulières</strong></td><td>La relation polymorphe permet d’étiqueter différents types d’entités</td></tr></tbody></table>

</details>

Groupes et hiérarchie

<details>

<summary><strong><code>groupes</code></strong></summary>

**Description**: Structure de regroupement organisationnel pour les trackers permettant une organisation visuelle dans l’interface utilisateur grâce à des couleurs personnalisables (group\_color) et à une gestion hiérarchique de type dossier, actuellement utilisée uniquement à des fins visuelles

<table><thead><tr><th width="148">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>groupe_id</code> - Groupe de trackers (lié par objects.group_id). La répartition en groupes est visible dans la liste des balises, par exemple<br>- <code>client_id</code> - Identifiant de l'entité cliente<br>- <code>étiquette du Groupe</code> - Titre du Groupe défini par l'utilisateur, de 1 à 60 caractères imprimables, par exemple "Employees"<br>- <code>couleur_groupe</code> - Couleur du groupe au format web (sans #), par ex. "FF6DDC". Détermine la couleur des marqueurs du tracker sur la carte</td></tr><tr><td><strong>Relations</strong></td><td>Référencé par <code>objects.group_id</code>; propriété du client via <code>client_id</code> (références <code>users</code>)</td></tr><tr><td><strong>Notes particulières</strong></td><td>Permet une organisation des entités de surveillance de type dossier pour les rapports et les permissions</td></tr></tbody></table>

</details>

<details>

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

**Description**: Relation plusieurs-à-plusieurs entre les groupes et les objets utilisant une clé primaire composite (groups\_client\_id, objects\_client\_id), permettant aux objets d’appartenir simultanément à plusieurs groupes pour des structures organisationnelles flexibles

<table><thead><tr><th width="135">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>groups_client_id</code> - Identifiant de l'entité client pour les groupes<br>- <code>objects_client_id</code> - Identifiant de l'entité client pour les objets</td></tr><tr><td><strong>Notes particulières</strong></td><td>Permet aux objets d'appartenir simultanément à plusieurs groupes ; interrogez avec les deux <code>client_id</code> valeurs d'appartenance au groupe</td></tr></tbody></table>

</details>

Champs personnalisés et entités

<details>

<summary><strong><code>entités</code></strong></summary>

**Description**: Registre des types d'entité définissant quelles entités métier prennent en charge les Champs personnalisés et la structure de disposition de leurs champs (sections, field\_order) stockée dans entity\_label (JSONB), permettant une extension dynamique du schéma sur les Lieux, les Missions et d'autres entités sans modification de la base de données

<table><thead><tr><th width="141">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>identifiant de l’entité</code> - Identifiant d’entité<br>- <code>user_id</code> - identifiant d'entité utilisateur<br>- <code>entity_label</code> - id - int. Identifiant de l'entité. type - enum. Actuellement, seul "place" est pris en charge. layout - objet décrit la disposition des champs pour l'entité. sections - tableau d'objets. Chaque section peut contenir un ou plusieurs champs. Au moins une section doit exister dans une disposition. label - chaîne de caractères. Nom de la section. field_order - tableau de chaînes de caractères. Champs intégrés et identifiants des Champs personnalisés (sous forme de chaînes de caractères)<br>- <code>builtin_type</code> - L'attribut builtin_type de la table des entités</td></tr><tr><td><strong>Relations</strong></td><td>Référencé par <code>custom_fields</code> pour définir quels Champs personnalisés s'appliquent à quels types d'entité</td></tr><tr><td><strong>Notes particulières</strong></td><td><code>builtin_type</code> renvoie à <code>paramètres de description</code> pour les classifications d'entité définies par le système</td></tr></tbody></table>

</details>

<details>

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

**Description**: Définitions de Champs personnalisés permettant l'extension dynamique du schéma pour les types d'entité, avec des types de champ configurables (custom\_field\_type), des règles de validation et des options dans parameters (JSONB), ainsi que des indicateurs d'obligation (is\_required) pour une collecte de données flexible à travers Lieux, Missions et d'autres entités

<table><thead><tr><th width="146">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>custom_field_id</code> - Identifiant d'entité du champ personnalisé<br>- <code>identifiant de l’entité</code> - Identifiant d’entité<br>- <code>custom_field_label</code> - Nom du champ<br>- <code>custom_field_type</code> - Type de données dans le champ<br>- <code>description</code> - Description du champ<br>- <code>is_required</code> - Est-ce obligatoire ou non ?<br>- <code>paramètres</code> - Paramètres du champ</td></tr><tr><td><strong>Contenu</strong></td><td><code>paramètres</code> (JSONB) stocke la configuration spécifique au type de champ (règles de validation, options de liste déroulante, etc.)</td></tr><tr><td><strong>Relations</strong></td><td>Définit les attributs personnalisés disponibles pour les entités ; le type de champ renvoie à <code>paramètres de description</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Permet l’extension dynamique du schéma sans modification de la base de données ; utilisé largement dans <code>Lieux</code> et <code>Missions</code></td></tr></tbody></table>

</details>

Suivi historique

<details>

<summary><strong><code>historique_du_conducteur</code></strong></summary>

**Description**: Piste d’audit complète des affectations employé-véhicule au fil du temps, avec suivi des transitions de old\_employee\_id vers new\_employee\_id avec horodatages (changed\_datetime, server\_datetime), données de localisation (latitude, longitude, adresse), informations sur la clé matérielle et attribution à l’utilisateur (updated\_by), permettant des analyses spécifiques au conducteur lorsque les conducteurs passent d’un véhicule à l’autre

<table><thead><tr><th width="146">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>id_historique_du_conducteur</code> - Identifiant d'entité d'historique du Conducteur<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>old_employee_id</code> - Ancien identifiant de l'entité employé<br>- <code>new_employee_id</code> - Identifiant de la nouvelle entité employé<br>- <code>hardware_key</code> - L'attribut hardware_key de la table Conducteur_history<br>- <code>changed_datetime</code> - Des modifications de la date et de l'heure ont été apportées à l'appareil<br>- <code>server_datetime</code> - Date et heure des modifications effectuées sur le serveur<br>- <code>updated_by</code> - La date et l'heure associées à l'attribut updated_by<br>- <code>Latitude</code> - L’attribut de latitude de la table driver_history<br>- <code>Longitude</code> - L’attribut de longitude de la table driver_history<br>- <code>adresse</code> - L’attribut address de la table driver_history</td></tr><tr><td><strong>Relations</strong></td><td>Suit les affectations du conducteur aux véhicules au fil du temps ; renvoie à <code>employés</code> et <code>objets</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Essentiel pour les rapports spécifiques aux conducteurs lorsque les conducteurs changent de véhicules ; la capture de la position permet l’analyse de la localisation lors des changements d’affectation</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>historique_des_trackers_de_véhicules</code></strong></summary>

**Description**: Suivi de la piste d’audit indiquant quels appareils GPS (object\_id) ont été installés dans quels Véhicules (vehicle\_id) au fil du temps, avec les horodatages de modification (changed\_datetime), permettant une attribution précise des données historiques et le calcul du kilometrage lorsque les trackers sont déplacés d’un véhicule à l’autre

<table><thead><tr><th width="144">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>vehicle_tracker_history_id</code> - Identifiant d'entité de l'historique du tracker du véhicule<br>- <code>identifiant du véhicule</code> - Identifiant de l'entité du véhicule<br>- <code>object_id</code> - objet identifiant d'entité<br>- <code>changed_datetime</code> - La date et l'heure associées à l'attribut changed_datetime</td></tr><tr><td><strong>Relations</strong></td><td>Suit quel appareil GPS a été installé dans quel véhicule au fil du temps</td></tr><tr><td><strong>Notes particulières</strong></td><td>Essentiel pour l’analyse des données historiques lorsque les trackers sont déplacés entre Véhicules ; permet une attribution précise du kilometrage et de l’utilisation</td></tr></tbody></table>

</details>

Données de référence et de consultation

<details>

<summary><strong><code>paramètres de description</code></strong></summary>

**Description**: Données de référence à l’échelle du système fournissant des libellés lisibles par l’humain (description) pour les valeurs entières énumérées (clé) utilisées dans toute la base de données, organisées par champ de type (p. ex., task\_status, fuel\_type, counter\_type, entity\_classification) afin d’assurer une traduction cohérente des valeurs dans les rapports et l’affichage de l’interface utilisateur

<table><thead><tr><th width="146">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>clé</code> - Valeur possible dans l'attribut<br>- <code>type</code> - Un attribut composite constitué du nom de la table suivi d’un trait de soulignement et du nom d’un attribut de la table<br>- <code>description</code> - Valeur implicite d'un attribut</td></tr><tr><td><strong>Contenu</strong></td><td>Fournit des libellés lisibles pour les valeurs codées dans toute la base de données (statut de mission, types de carburant, types de compteur, etc.)</td></tr><tr><td><strong>Relations</strong></td><td>Référencé via des clés étrangères depuis plusieurs tables pour une catégorisation standardisée</td></tr><tr><td><strong>Notes particulières</strong></td><td>Essentiel pour traduire des codes entiers en valeurs lisibles dans les rapports; <code>type</code> énumérations associées aux groupes de champs</td></tr></tbody></table>

</details>

<details>

<summary><strong><code>compteurs</code></strong></summary>

**Description**: Configurations du Compteur kilométrique et du compteur d’heures moteur reliant les relevés de capteurs de l’appareil (sensor\_id) aux mesures de distance ou de temps, avec des coefficients multiplicateurs pour la conversion d’unités (km, miles, heures) et counter\_type dans description\_parameters définissant le type de mesure

<table><thead><tr><th width="140">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>counter_id</code> - ID interne<br>- <code>device_id</code> - Identifiant de l'entité d'appareil<br>- <code>counter_type</code> - Type de compteur<br>- <code>sensor_id</code> - Identifiant d'entité du capteur<br>- <code>multiplier</code> - Coefficient de conversion des valeurs vers l’une des unités de mesure (km, l, etc.)</td></tr><tr><td><strong>Relations</strong></td><td>Lie les appareils aux relevés de capteurs représentant des compteurs de distance ou de temps</td></tr><tr><td><strong>Notes particulières</strong></td><td><code>multiplier</code> convertit les impulsions des capteurs en unités réelles (km, miles, heures); <code>counter_type</code> de <code>paramètres de description</code> définit le type de mesure</td></tr></tbody></table>

</details>

<details>

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

**Description**: Libellés personnalisés pour les canaux de sortie de l'appareil, associant les identifiants de sortie numériques (number) à des noms définis par l'utilisateur (label), tels que "Verrouillage de porte" ou "Blocage du moteur", pour des rapports et une analyse lisibles des commandes et des états des sorties de l'appareil

<table><thead><tr><th width="140">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>device_id</code> - Identifiant de l'entité d'appareil<br>- <code>nombre</code> - L'attribut number de la table device_output_name<br>- <code>label</code> - L'attribut label de la table device_output_name</td></tr><tr><td><strong>Contenu</strong></td><td>Associe les numéros des canaux de sortie à des noms définis par l'utilisateur (p. ex. "Verrouillage de porte", "Blocage du moteur")</td></tr><tr><td><strong>Notes particulières</strong></td><td>Permet des rapports lisibles lors de l'analyse des commandes et des états des sorties de l'appareil</td></tr></tbody></table>

</details>

<details>

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

**Description**: Paires clé-valeur de configuration de l'appareil synchronisées depuis la plateforme source. Chaque ligne stocke un paramètre de configuration pour un appareil spécifique.

<table><thead><tr><th width="140">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>device_id</code> - Identifiant de l'entité d'appareil<br>- <code>clé</code> - Nom du paramètre<br>- <code>valeur</code> - Valeur du paramètre</td></tr><tr><td><strong>Clé primaire</strong></td><td>Composite: <code>(device_id, key)</code></td></tr><tr><td><strong>Notes particulières</strong></td><td>Renseigné lors de la synchronisation complète du client. Utilisez cette table pour lire les valeurs de configuration au niveau de l'appareil, en parallèle des données télématiques ou métier.</td></tr></tbody></table>

</details>

<details>

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

**Description**: Table de référence des codes d'événements du tracker avec des descriptions lisibles par l'humain. Contient 134 entrées couvrant des événements courants du tracker tels que SOS, Mode "veille", Contact et les changements des entrées/sorties numériques.

<table><thead><tr><th width="140">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td>- <code>event_id</code> - Code d'événement (clé primaire)<br>- <code>description</code> - Nom d'événement lisible par l'humain</td></tr><tr><td><strong>Notes particulières</strong></td><td>Joindre à <code>raw_telematics_data.Suivi_data_core</code> activé <code>event_id</code> pour afficher les noms des événements dans les Rapports et les tableaux de bord au lieu de codes numériques.</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/fr/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.
