---
title: "Fleet"
description: "Véhicules et conducteurs. Chaque application est un module sur un même modèle de données."
canonical: "https://obop.dev/fr/apps/fleet/"
lang: "fr"
---

# Fleet

## À quoi elle sert

Keep a register of company vehicles, who drives them and their service history. It records status and services; it does not compute running costs.

## Ce que fait et ne fait pas le paquet

Vehicles, drivers and service history for a small fleet. Tracks status and service records; it does not compute running costs or fuel use.

## Modèles

### `fleet_vehicle`

A vehicle the business operates

Groupe de lecture: `fleet.user`. Groupe d'écriture: `fleet.manager`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `plate` | text | `none` | non | `fleet.user` | en clair | Registration plate |
| `model` | text | `none` | non | `fleet.user` | en clair | Make and model, for example Renault Master |
| `vin` | text | `none` | non | `fleet.user` | en clair | Vehicle identification number (chassis number) |
| `fuel` | select (petrol, diesel, hybrid, electric, other) | `none` | non | `fleet.user` | en clair | Fuel or drive type: petrol, diesel, hybrid, electric, other |
| `odometer_km` | number | `none` | non | `fleet.user` | en clair | Last known odometer reading in kilometres |
| `acquired_on` | date | `none` | non | `fleet.user` | en clair | Date the vehicle entered the fleet (YYYY-MM-DD) |
| `driver` | text | `internal` | oui | `fleet.user` | masqué | Name of the driver currently using the vehicle, as free text |
| `driver_id` | ref → fleet_vehicle_driver | `none` | non | `fleet.user` | en clair | Driver record currently assigned to the vehicle |
| `state` | select (available, in_service, maintenance, retired) | `none` | non | `fleet.user` | en clair | Availability: available, in_service, maintenance, retired |

### `fleet_vehicle_driver`

A person authorised to drive fleet vehicles

Groupe de lecture: `fleet.user`. Groupe d'écriture: `fleet.manager`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `name` | text | `public_directory` | oui | `fleet.user` | masqué | Full name of the driver |
| `phone` | text | `internal` | oui | `fleet.user` | masqué | Work phone number of the driver |
| `licence_number` | text | `confidential_hr` | oui | `fleet.manager` | non communiqué | Driving licence number |
| `licence_expiry` | date | `confidential_hr` | oui | `fleet.manager` | non communiqué | Date the driving licence expires (YYYY-MM-DD) |
| `state` | select (active, suspended) | `none` | non | `fleet.user` | en clair | Driver status: active, suspended |

### `fleet_vehicle_service`

A maintenance, repair or inspection job on a vehicle

Groupe de lecture: `fleet.user`. Groupe d'écriture: `fleet.user`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `vehicle_id` | ref → fleet_vehicle | `none` | non | `fleet.user` | en clair | The vehicle serviced |
| `kind` | select (maintenance, repair, inspection, tyres, other) | `none` | non | `fleet.user` | en clair | Type of job: maintenance, repair, inspection, tyres, other |
| `service_on` | date | `none` | non | `fleet.user` | en clair | Date of the job (YYYY-MM-DD) |
| `odometer_km` | number | `none` | non | `fleet.user` | en clair | Odometer reading in kilometres when serviced |
| `cost` | money | `none` | non | `fleet.user` | en clair | Total invoiced by the workshop (minor currency units, e.g. cents) |
| `workshop` | text | `none` | non | `fleet.user` | en clair | Name of the workshop or garage |
| `notes` | longtext | `none` | non | `fleet.user` | en clair | What was done or found |
| `state` | select (planned, done, cancelled) | `none` | non | `fleet.user` | en clair | Job status: planned, done, cancelled |

## Flux de travail

### `fleet_vehicle`

| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
| `fleet_vehicle.dispatch` | state: available → in_service | `fleet.manager` | non |
| `fleet_vehicle.return_to_pool` | state: in_service → available | `fleet.manager` | non |
| `fleet_vehicle.retire` | state: available → retired | `fleet.approver` | oui |

### `fleet_vehicle_driver`

| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
| `fleet_vehicle_driver.suspend` | state: active → suspended | `fleet.manager` | non |
| `fleet_vehicle_driver.reactivate` | state: suspended → active | `fleet.manager` | non |

### `fleet_vehicle_service`

| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
| `fleet_vehicle_service.complete` | state: planned → done | `fleet.user` | non |
| `fleet_vehicle_service.cancel` | state: planned → cancelled | `fleet.user` | non |

## Groupes de permissions

Groupes utilisés par cette application :

- `fleet.approver`
- `fleet.manager`
- `fleet.user`

## Étapes d'approbation

Étapes qu'un agent ne peut que proposer :

- `fleet_vehicle.retire`

## Ce que les agents peuvent et ne peuvent pas faire

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : `fleet_vehicle.retire`, `fleet_vehicle.delete`, `fleet_vehicle_driver.delete`, `fleet_vehicle_service.delete`.

Les données personnelles sont masquées sous forme de jetons de substitution : `fleet_vehicle.driver`, `fleet_vehicle_driver.name`, `fleet_vehicle_driver.phone`.

Ces champs ne sont pas communiqués aux agents : `fleet_vehicle_driver.licence_number`, `fleet_vehicle_driver.licence_expiry`.

## Dépendances

Aucune.

## Installation

Installez-la depuis l'application Customize (Place de marché), ou en ligne de commande :

```bash
obop modules install-from fleet
```

Nécessite une base de données et des droits d'administrateur.

## Créer la vôtre

[Le guide des modules montre comment sont écrites les applications de ce type](/fr/docs/reference/module-manifest/)
