> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ctechnology.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Vehicles

> Comprehensive explanation of vehicles and their role within the c.technology platform.

Vehicles are the core entities within the c.technology platform, representing physical assets - potentially equipped with IoT devices that collect and transmit real-time data.

## Vehicle types

Given c.technology's origin in the powersports and marine industries, the platform is designed to accommodate a wide variety of vehicle types:

* `BOAT`: Boats and watercraft of all sizes and types, from small personal watercraft to large yachts.
* `MCYCLE`: Motorcycles, including cruisers, sportbikes, touring bikes, and off-road motorcycles.
* `EBIKE`: Electric bicycles, including pedal-assist and throttle-controlled models.
* `CLASSCAR`: Classic cars, vintage vehicles, and collector automobiles.
* `MOTOR`: Individual motors or engines, such as outboard motors, inboard engines, or standalone power units.

<Note>The list of supported vehicles is continuously expanding as the platform evolves to meet the needs of diverse industries and use cases.</Note>

Similarly, each vehicle type can be associated with different drivetrain types:

* `GASOLINE`: Traditional internal combustion engines powered by gasoline.
* `DIESEL`: Engines powered by diesel fuel, commonly used in larger vehicles and commercial applications.
* `ELECTRIC`: Fully electric vehicles powered by batteries and electric motors.

## Vehicle identification and metadata

Vehicles contain multiple identification methods to support various operational scenarios.

* **UUID**: Each vehicle is assigned a globally unique identifier (UUID) upon creation, ensuring uniqueness across the entire platform. This UUID is usually presented in [TypeID](https://github.com/jetify-com/typeid) format, such as `veh_01jnk61e5pf6zs5ag6483xqe43`.
* **Device ID**: Each vehicle is assigned a manufacturer-specific short device ID that can be used by customers for convenience.
* **VIN**: The Vehicle Identification Number (VIN) is used for official vehicle registration or as a manufacturer serial number.
* **Vehicle Registration ID**: This is typically the license plate number or registration number assigned by governmental authorities.
* **Organization-specific IDs**: Organizations can assign custom IDs to vehicles for internal tracking and management purposes.

Additional metadata includes:

* **Name**: A user-friendly name for easy identification.
* **Description**: A text field for additional details about the vehicle.
* **Category, Family, Type**: Organizational metadata that allows grouping and classification of vehicles based on predefined categories, families, and types.
* **Installable Parts**: A list of parts that can be installed on the vehicle, each with its own metadata and tracking capabilities.

The most important data fields of a vehicle look as follows:

```json theme={null}
{
    "brand": "Demo Brand",  // May be used if no organization vehicle type is set.
    "delivery_date": "2025-03-04 12:56:09.654672+00:00",
    "desc": "No description given",
    "development_vehicle": false,  // Indicates if this is a development/test vehicle with additional capabilities.
    "device_id": "123456789",  // Manufacturer-specific short device ID.
    "drivetrain_type": "DIESEL",
    "group_id": null,
    "id": "veh_01jnk61e5pf6zs5ag6483xqe43",  // Unique vehicle ID in TypeID format.
    "image_id": "img_01jnk61e73fnabjaq8c15he5za",
    "image_url": "...",
    "initial_date": "2024-06-23",
    "initial_distance": 1966482,
    "initial_operation_hours": 5742000,
    "initialization_complete": false,
    "manufacturing_organization_id": null,  // The organization that manufactured this vehicle.
    "name": "Demo Boat 1",
    "primary_organization_id": "com.demoCompany",  // The organization covering the subscription costs.
    "type": "Viper CB1",  // May be used if no organization vehicle type is set.
    "vehicle_identification_number": "544-0227-680",
    "vehicle_registration_id": "",
    "vehicle_type": "BOAT",
    "hardware_type": "FMC640",
    "protocol_type": "TELT_COD_8",
    "sim_type": "1NCE",
    "organization_vehicles": [  // List of organizational relationships, the manufacturing organization should be included here.
        {
            "organization_id": "com.demoCompany",
            "vehicle_id": "veh_01jnk61e5pf6zs5ag6483xqe43",
            "primary_organization": true,
            "role": "VEHICLE_MANUFACTURER",
            "organization_vehicle_id": "123456789",  // Organization-specific vehicle ID.
            "organization_vehicle_name": "544-0227-680",  // Organization-specific vehicle name.
            "location_main_desc": "",
            "vehicle_category_id": "vcat_01jnk61e3vf4p98dt238eesmj1",
            "vehicle_category_name": "Boats",
            "vehicle_family_id": "vfam_01jnk61e42e9dtxf4wbcs4qzwg",
            "vehicle_family_name": "Boats with combustions engine",
            "vehicle_type_id": "vtpe_01jnk61e4ef1d9jexfn6h29gg8",
            "vehicle_type_name": "Viper CB1"
        },
        ...
    ],
  ...
}
```

## Vehicle Groups and Multi-Component Systems

The platform supports vehicle groups for managing multi-component systems that should be presented as unified entities to end users.
This feature enables trailer and tow vehicle combinations, multi-engine vessel configurations, modular vehicle systems with separate monitoring units, and fleet coordination for related vehicles.
Group members share certain operational characteristics while maintaining individual sensor data and status information.

A vehicle's group is given in the `group_id` field.
More information about groups can be retrieved by querying:

```bash theme={null}
curl -X GET https://api.ctechnology.io/api/v2.2/vehicle-group/{group_id} \
  -H "Authorization: Token YOUR_TOKEN"
```
