Vehicle management

Create a custom vehicle

It is possible to create a custom vehicle from your own data. Create your vehicle using the method:

fun createCustomVehicle(characteristics: VehicleBaseCharacteristics,
                        name: String,
                        id: String,
                        listener: VehicleCreateQueryListener
)

Each vehicle will have a unique identifier and this unique ID will be added into the trip synchronization response.

This method have the following parameters:

NameTypeDescription

characteristics

Characteristics of the vehicle you want to create. Model is detailed in the References part.

name

String

The name of the vehicle you want to create

id

String

The unique identifier of the vehicle you want to create

Check the VehicleManagerStatus value to ensure your vehicle is correctly created:

ValueDescription

SUCCESS

Vehicle is successfully created and saved in the local database.

INVALID_CHARACTERISTICS

Vehicle is not created and not saved in the local database because provided characteristics are not valid.

VEHICLE_ID_ALREADY_USED

Vehicle is not created and not saved in the local database because the provided vehicleId already exists.

ONLY_ONE_GPS_VEHICLE_ALLOWED

This value is not returned for this service.

ERROR

Vehicle is not created and not saved in the local database because there was an unexpected error.

e.g: User not logged to DriveKit

Vehicle model is described in the References part.

Synchronize vehicle list

You can retrieve the user’s vehicle list from the DriveQuant servers by calling the following method:

fun getVehiclesOrderByNameAsc(
    listener: VehicleListQueryListener,
    type: SynchronizationType = DEFAULT
)

This method have the following parameter:

NameTypeDescription

type

SynchronizationType

Can be DEFAULT or CACHE.

  • DEFAULT will synchronize the vehicles by calling the DriveQuant servers

  • CACHE will retrieve the vehicles already synchronized in the local database.

VehicleSyncStatus and Vehicle models are described in the References part.

Retrieve local vehicle list

You can retrieve the list of vehicles stored in the DriveKit local database by calling the previous method but with the type parameter to CACHE.

Replace a vehicle

Instead of deleting and then creating a new vehicle, you can use only one method to replace an existing vehicle.

A previously paired beacon to that vehicle is automatically paired to the new vehicle.

Replace a car

fun replaceCarVehicle(
    	oldVehicleId: String,
    	carCharacteristics: CarCharacteristics,
    	name: String,
    	liteConfig: Boolean = false,
    	callback: (status: VehicleReplaceStatus, vehicle: Vehicle?) -> Unit
)

This method have the following parameter:

NameTypeDescription

oldVehicleId

String

The unique identifier of the car you want to replace

carCharacteristics

Characteristics of the car you want to create

name

String

The name of the car

liteConfig

Boolean

Advanced configuration. Leave this parameter as false.

VehicleReplaceStatus and Vehicle models are described in the References part.

Replace a truck

fun replaceTruckVehicle(
    	oldVehicleId: String,
    	truckCharacteristics: TruckCharacteristics,
    	name: String,
    	callback: (status: VehicleReplaceStatus, vehicle: Vehicle?) -> Unit
)

This method have the following parameters:

NameTypeDescription

oldVehicleId

String

The unique identifier of the truck you want to replace

truckCharacteristics

Characteristics of the truck you want to create

name

String

The name of the truck

VehicleReplaceStatus and Vehicle models are described in the References part.

Delete a vehicle

When you delete a vehicle, a previously paired beacon or Bluetooth device to that vehicle is automatically unpaired and released from the vehicle. By this way, you can immediately pair the beacon or the Bluetooth device to another vehicle.

To delete a vehicle, you have to call the following method:

fun deleteVehicle(vehicle: Vehicle, listener: VehicleDeleteQueryListener)

This method have the following parameter:

NameTypeDescription

vehicle

The vehicle you want to delete.

Check the VehicleManagerStatus value to ensure your vehicle is successfully deleted:

ValueDescription

SUCCESS

Vehicle is successfully deleted and changes are saved in the local database.

UNKNOWN_VEHICLE

The specified vehicle could not be deleted because the vehicle id is not a vehicle or belongs to another user account.

INVALID_CHARACTERISTICS

This value is not returned for this service.

VEHICLE_ID_ALREADY_USED

This value is not returned for this service.

ONLY_ONE_GPS_VEHICLE_ALLOWED

This value is not returned for this service.

ERROR

Vehicle is not deleted and changes are not saved in the local database because there was an unexpected error. e.g: No network

Rename a vehicle

To rename a vehicle, you have to call the following method:

fun renameVehicle(name: String, vehicle: Vehicle, listener: VehicleRenameQueryListener)

This method have the following parameters:

NameTypeDescription

name

String

The new name for the vehicle

vehicle

The vehicle you want to rename

Check the VehicleManagerStatus value to ensure your vehicle is successfully deleted:

ValueDescription

SUCCESS

Vehicle is successfully renamed and changes are saved in the local database.

UNKNOWN_VEHICLE

The specified vehicle could not be renamed because the vehicle id is not a vehicle or belongs to another user account.

INVALID_CHARACTERISTICS

This value is not returned for this service.

VEHICLE_ID_ALREADY_USED

This value is not returned for this service.

ONLY_ONE_GPS_VEHICLE_ALLOWED

This value is not returned for this service.

ERROR

Vehicle is not renamed and changes are not saved in the local database because there was an unexpected error.

e.g: No network

Change the detection mode of a vehicle

When you have a vehicle, it is necessary to set its DetectionMode type. The following function is used to select the DetectionMode of a vehicle:

fun updateDetectionMode(
    vehicle: Vehicle,
    detectionMode: DetectionMode,
    listener: VehicleUpdateDetectionModeQueryListener,
    forceGPSVehicleUpdate: Boolean = false
)

This method have the following parameters:

NameTypeDescription

vehicle

The vehicle which you want to update the DetectionMode

detectionMode

The detection mode you want for the vehicle

forceGPSVehicleUpdate

Boolean

Optional parameter to force the GPS detection mode for a new vehicle if there is already a vehicle with this mode.

The default setting is false. In this case, the response of this service request will be GPS_MODE_ALREADY_EXISTS and the new vehicle will not be configured in GPS mode. If this setting is true, the vehicle will inherit the GPS trigger mode and the existing vehicle that had this mode will be switched to the DISABLED mode.

DetectionModeStatus model is described in the References part.

Information: If a driver has more than one vehicle, only one can be configured in GPS mode. If you choose a GPS trigger mode for a vehicle while there is already another vehicle with this trigger mode, then you must specify the appropriate action with the forceGPSVehicleUpdate parameter to true. The other vehicle will have its detection mode updated to DISABLED.

Last updated