---
title: "Fleet"
description: "Fahrzeuge und Fahrer. Jede App ist ein Modul auf einem gemeinsamen Datenmodell."
canonical: "https://obop-platform.sliplane.app/de/apps/fleet/"
lang: "de"
---

# Fleet

## Wofür sie gedacht ist

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

## Was das Paket leistet und was nicht

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

## Modelle

### `fleet_vehicle`

A vehicle the business operates

Lesegruppe: `fleet.user`. Schreibgruppe: `fleet.manager`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `plate` | text | `none` | nein | `fleet.user` | im Klartext | Registration plate |
| `model` | text | `none` | nein | `fleet.user` | im Klartext | Make and model, for example Renault Master |
| `vin` | text | `none` | nein | `fleet.user` | im Klartext | Vehicle identification number (chassis number) |
| `fuel` | select (petrol, diesel, hybrid, electric, other) | `none` | nein | `fleet.user` | im Klartext | Fuel or drive type: petrol, diesel, hybrid, electric, other |
| `odometer_km` | number | `none` | nein | `fleet.user` | im Klartext | Last known odometer reading in kilometres |
| `acquired_on` | date | `none` | nein | `fleet.user` | im Klartext | Date the vehicle entered the fleet (YYYY-MM-DD) |
| `driver` | text | `internal` | ja | `fleet.user` | maskiert | Name of the driver currently using the vehicle, as free text |
| `driver_id` | ref → fleet_vehicle_driver | `none` | nein | `fleet.user` | im Klartext | Driver record currently assigned to the vehicle |
| `state` | select (available, in_service, maintenance, retired) | `none` | nein | `fleet.user` | im Klartext | Availability: available, in_service, maintenance, retired |

### `fleet_vehicle_driver`

A person authorised to drive fleet vehicles

Lesegruppe: `fleet.user`. Schreibgruppe: `fleet.manager`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `name` | text | `public_directory` | ja | `fleet.user` | maskiert | Full name of the driver |
| `phone` | text | `internal` | ja | `fleet.user` | maskiert | Work phone number of the driver |
| `licence_number` | text | `confidential_hr` | ja | `fleet.manager` | zurückgehalten | Driving licence number |
| `licence_expiry` | date | `confidential_hr` | ja | `fleet.manager` | zurückgehalten | Date the driving licence expires (YYYY-MM-DD) |
| `state` | select (active, suspended) | `none` | nein | `fleet.user` | im Klartext | Driver status: active, suspended |

### `fleet_vehicle_service`

A maintenance, repair or inspection job on a vehicle

Lesegruppe: `fleet.user`. Schreibgruppe: `fleet.user`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `vehicle_id` | ref → fleet_vehicle | `none` | nein | `fleet.user` | im Klartext | The vehicle serviced |
| `kind` | select (maintenance, repair, inspection, tyres, other) | `none` | nein | `fleet.user` | im Klartext | Type of job: maintenance, repair, inspection, tyres, other |
| `service_on` | date | `none` | nein | `fleet.user` | im Klartext | Date of the job (YYYY-MM-DD) |
| `odometer_km` | number | `none` | nein | `fleet.user` | im Klartext | Odometer reading in kilometres when serviced |
| `cost` | money | `none` | nein | `fleet.user` | im Klartext | Total invoiced by the workshop (minor currency units, e.g. cents) |
| `workshop` | text | `none` | nein | `fleet.user` | im Klartext | Name of the workshop or garage |
| `notes` | longtext | `none` | nein | `fleet.user` | im Klartext | What was done or found |
| `state` | select (planned, done, cancelled) | `none` | nein | `fleet.user` | im Klartext | Job status: planned, done, cancelled |

## Workflows

### `fleet_vehicle`

| Aktion | Bewegt | Wer sie ausführen darf | Freigabe |
|---|---|---|---|
| `fleet_vehicle.dispatch` | state: available → in_service | `fleet.manager` | nein |
| `fleet_vehicle.return_to_pool` | state: in_service → available | `fleet.manager` | nein |
| `fleet_vehicle.retire` | state: available → retired | `fleet.approver` | ja |

### `fleet_vehicle_driver`

| Aktion | Bewegt | Wer sie ausführen darf | Freigabe |
|---|---|---|---|
| `fleet_vehicle_driver.suspend` | state: active → suspended | `fleet.manager` | nein |
| `fleet_vehicle_driver.reactivate` | state: suspended → active | `fleet.manager` | nein |

### `fleet_vehicle_service`

| Aktion | Bewegt | Wer sie ausführen darf | Freigabe |
|---|---|---|---|
| `fleet_vehicle_service.complete` | state: planned → done | `fleet.user` | nein |
| `fleet_vehicle_service.cancel` | state: planned → cancelled | `fleet.user` | nein |

## Berechtigungsgruppen

Von dieser App verwendete Gruppen:

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

## Freigabeschritte

Schritte, die ein Agent nur vorschlagen kann:

- `fleet_vehicle.retire`

## Was Agenten tun können und was nicht

Ein Agent kann Datensätze dieser App lesen, durchsuchen, anlegen und aktualisieren sowie Aktionen ausführen, die keine Freigabe brauchen, und zwar innerhalb der Berechtigungsgruppen seines Tokens.

Diese Schritte kann er nur vorschlagen, und eine Person muss sie freigeben: `fleet_vehicle.retire`, `fleet_vehicle.delete`, `fleet_vehicle_driver.delete`, `fleet_vehicle_service.delete`.

Personenbezogene Daten werden als Platzhalter maskiert: `fleet_vehicle.driver`, `fleet_vehicle_driver.name`, `fleet_vehicle_driver.phone`.

Diese Felder werden Agenten vollständig vorenthalten: `fleet_vehicle_driver.licence_number`, `fleet_vehicle_driver.licence_expiry`.

## Abhängigkeiten

Keine.

## Installation

Installieren Sie sie in der App Customize (Marktplatz) oder über die Kommandozeile:

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

Erfordert eine Datenbank und Administratorrechte.

## Selbst bauen

[Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden](/de/docs/reference/module-manifest/)
