Fleet

Vehicles and drivers

MarketplaceOperationsVersion 0.2.0manifest

What it is for ​

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

What the package does and does not do ​

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

Models ​

fleet_vehicle ​

A vehicle the business operates

Read group: fleet.user. Write group: fleet.manager.

FieldKindData classPersonal dataGroupAgents seeDescription
platetextnonenofleet.userin clearRegistration plate
modeltextnonenofleet.userin clearMake and model, for example Renault Master
vintextnonenofleet.userin clearVehicle identification number (chassis number)
fuelselect (petrol, diesel, hybrid, electric, other)nonenofleet.userin clearFuel or drive type: petrol, diesel, hybrid, electric, other
odometer_kmnumbernonenofleet.userin clearLast known odometer reading in kilometres
acquired_ondatenonenofleet.userin clearDate the vehicle entered the fleet (YYYY-MM-DD)
drivertextinternalyesfleet.usermaskedName of the driver currently using the vehicle, as free text
driver_idref → fleet_vehicle_drivernonenofleet.userin clearDriver record currently assigned to the vehicle
stateselect (available, in_service, maintenance, retired)nonenofleet.userin clearAvailability: available, in_service, maintenance, retired

fleet_vehicle_driver ​

A person authorised to drive fleet vehicles

Read group: fleet.user. Write group: fleet.manager.

FieldKindData classPersonal dataGroupAgents seeDescription
nametextpublic_directoryyesfleet.usermaskedFull name of the driver
phonetextinternalyesfleet.usermaskedWork phone number of the driver
licence_numbertextconfidential_hryesfleet.managerwithheldDriving licence number
licence_expirydateconfidential_hryesfleet.managerwithheldDate the driving licence expires (YYYY-MM-DD)
stateselect (active, suspended)nonenofleet.userin clearDriver status: active, suspended

fleet_vehicle_service ​

A maintenance, repair or inspection job on a vehicle

Read group: fleet.user. Write group: fleet.user.

FieldKindData classPersonal dataGroupAgents seeDescription
vehicle_idref → fleet_vehiclenonenofleet.userin clearThe vehicle serviced
kindselect (maintenance, repair, inspection, tyres, other)nonenofleet.userin clearType of job: maintenance, repair, inspection, tyres, other
service_ondatenonenofleet.userin clearDate of the job (YYYY-MM-DD)
odometer_kmnumbernonenofleet.userin clearOdometer reading in kilometres when serviced
costmoneynonenofleet.userin clearTotal invoiced by the workshop (minor currency units, e.g. cents)
workshoptextnonenofleet.userin clearName of the workshop or garage
noteslongtextnonenofleet.userin clearWhat was done or found
stateselect (planned, done, cancelled)nonenofleet.userin clearJob status: planned, done, cancelled

Workflows ​

fleet_vehicle ​

ActionMovesWho may run itApproval
fleet_vehicle.dispatchstate: available → in_servicefleet.managerno
fleet_vehicle.return_to_poolstate: in_service → availablefleet.managerno
fleet_vehicle.retirestate: available → retiredfleet.approveryes

fleet_vehicle_driver ​

ActionMovesWho may run itApproval
fleet_vehicle_driver.suspendstate: active → suspendedfleet.managerno
fleet_vehicle_driver.reactivatestate: suspended → activefleet.managerno

fleet_vehicle_service ​

ActionMovesWho may run itApproval
fleet_vehicle_service.completestate: planned → donefleet.userno
fleet_vehicle_service.cancelstate: planned → cancelledfleet.userno

Permission groups ​

Groups used by this app:

  • fleet.approver
  • fleet.manager
  • fleet.user

Approval steps ​

Steps an agent can only propose:

  • fleet_vehicle.retire

What agents can and cannot do ​

An agent can read, search, create and update records of this app, and run the actions that need no approval, within the permission groups of its token.

It can only propose these steps, and a person must approve them: fleet_vehicle.retire, fleet_vehicle.delete, fleet_vehicle_driver.delete, fleet_vehicle_service.delete.

Personal data is masked as placeholder tokens: fleet_vehicle.driver, fleet_vehicle_driver.name, fleet_vehicle_driver.phone.

These fields are withheld from agents entirely: fleet_vehicle_driver.licence_number, fleet_vehicle_driver.licence_expiry.

Dependencies ​

None.

Install ​

Install it from the Customize app (Marketplace), or from the command line:

bash
obop modules install-from fleet

Needs a database and administrator rights.

Build your own ​

The module guide shows how apps like this one are written