> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/Braian551/viax/llms.txt
> Use this file to discover all available pages before exploring further.

# Vehicle Management

> Add, update, and manage your vehicle information and documents

## Overview

Vehicle management allows you to register and maintain information about the vehicles you use for Viax trips. Each vehicle must be verified and approved before you can use it for passenger transport.

## Vehicle Types

Viax supports four vehicle categories:

<Tabs>
  <Tab title="Moto">
    **Motorcycle**

    * License required: A2 or higher
    * Capacity: Driver + 1 passenger
    * Best for: Solo passenger trips
    * Insurance: Third-party liability minimum

    **Requirements:**

    * Valid registration (SOAT)
    * Technical inspection (revisión técnico-mecánica)
    * Age: Less than 10 years old
  </Tab>

  <Tab title="Carro">
    **Car/Automobile**

    * License required: C1 or higher
    * Capacity: Driver + up to 4 passengers
    * Best for: Group trips, comfort
    * Insurance: Comprehensive recommended

    **Requirements:**

    * Valid registration (SOAT)
    * Technical inspection
    * Age: Less than 15 years old
    * 4 or 5 seats minimum
  </Tab>

  <Tab title="Moto Carga">
    **Motorcycle Cargo**

    * License required: A2 + cargo endorsement
    * Capacity: Small packages up to 20kg
    * Best for: Document delivery, small items
    * Insurance: Cargo insurance required

    **Requirements:**

    * Cargo box or carrier
    * Valid cargo permit
    * Technical inspection
  </Tab>

  <Tab title="Carro Carga">
    **Car/Van Cargo**

    * License required: C1 + cargo endorsement
    * Capacity: Medium packages up to 100kg
    * Best for: Furniture, large deliveries
    * Insurance: Comprehensive cargo coverage

    **Requirements:**

    * Cargo area (trunk or van)
    * Valid cargo permit
    * Technical inspection
    * Weight capacity certificate
  </Tab>
</Tabs>

## Vehicle Entity Structure

From the source code:

```dart theme={null}
class Vehicle {
  final int? id;
  final String tipoVehiculo;      // 'moto', 'carro', 'moto_carga', 'carro_carga'
  final String? placa;             // License plate number
  final String? marca;             // Make/brand
  final String? modelo;            // Model
  final int? anio;                 // Year
  final String? color;             // Color
  final String? soatUrl;           // SOAT document URL
  final String? tecnicoMecanicaUrl; // Tech inspection URL
  final DateTime? soatVencimiento;  // SOAT expiration
  final DateTime? tmVencimiento;    // Tech inspection expiration
  
  bool get isComplete {
    return placa != null &&
        placa!.isNotEmpty &&
        marca != null &&
        modelo != null &&
        anio != null &&
        soatUrl != null &&
        tecnicoMecanicaUrl != null;
  }
}
```

## Adding a Vehicle

<Steps>
  <Step title="Go to vehicle section">
    Navigate to **Profile** > **My Vehicles** > **Add Vehicle**
  </Step>

  <Step title="Enter vehicle details">
    Fill in required information:

    * Vehicle type (moto, carro, etc.)
    * Plate number (format: ABC123)
    * Make/Brand (e.g., Chevrolet, Yamaha)
    * Model (e.g., Spark, FZ16)
    * Year (e.g., 2020)
    * Color
  </Step>

  <Step title="Upload documents">
    Required documents:

    * **SOAT** (mandatory insurance)
    * **Tecnomecánica** (technical inspection)
    * **Tarjeta de Propiedad** (ownership card)
    * Vehicle photos (front, back, both sides)

    <Note>
      All documents must be current and not expired.
    </Note>
  </Step>

  <Step title="Submit for verification">
    Submit your vehicle for admin approval.

    Verification typically takes 24-48 hours.
  </Step>

  <Step title="Receive approval">
    Once approved, you can select this vehicle for trips.
  </Step>
</Steps>

## Document Requirements

### SOAT (Mandatory Insurance)

<Accordion title="SOAT Requirements">
  * Valid and not expired
  * Plate number must match registered vehicle
  * Coverage: At least third-party liability
  * Clear, readable photo or scan
  * PDF or JPG format
  * Max file size: 5MB
</Accordion>

### Tecnomecánica (Technical Inspection)

<Accordion title="Technical Inspection Requirements">
  * Valid certificate from authorized center
  * Not older than 1 year
  * Vehicle must have passed inspection
  * Clear photo showing:
    * Certificate number
    * Expiration date
    * Vehicle plate
    * Pass/approval stamp
</Accordion>

### Tarjeta de Propiedad (Ownership Card)

<Accordion title="Ownership Card Requirements">
  * Official vehicle registration document
  * Owner name must match driver or show authorization
  * Both sides of card photographed
  * Clearly shows plate number and vehicle details
</Accordion>

## Updating Vehicle Information

You can update certain vehicle details:

**Can be updated without re-approval:**

* Color
* Phone number (contact)
* Notes

**Requires re-approval:**

* Plate number
* Make/model
* Year
* SOAT document
* Technical inspection
* Vehicle type

<Warning>
  Changing critical information like plate number requires admin re-verification before the vehicle can be used again.
</Warning>

## Document Expiration

The app tracks document expiration dates:

```dart theme={null}
// Document expiration tracking
class Vehicle {
  DateTime? soatVencimiento;       // SOAT expiration
  DateTime? tmVencimiento;         // Technomechanical expiration
  
  bool get hasValidSOAT {
    return soatVencimiento != null &&
           soatVencimiento!.isAfter(DateTime.now());
  }
  
  bool get hasValidTM {
    return tmVencimiento != null &&
           tmVencimiento!.isAfter(DateTime.now());
  }
}
```

### Expiration Notifications

<CardGroup cols={2}>
  <Card title="30 Days Before" icon="bell">
    First reminder to renew expiring documents
  </Card>

  <Card title="15 Days Before" icon="bell-exclamation">
    Urgent reminder with instructions
  </Card>

  <Card title="7 Days Before" icon="triangle-exclamation">
    Final warning before document expires
  </Card>

  <Card title="On Expiration" icon="ban">
    Vehicle automatically disabled from service
  </Card>
</CardGroup>

## Multiple Vehicles

You can register multiple vehicles:

* Add up to 5 vehicles per driver account
* Switch between vehicles before going online
* Each vehicle verified independently
* Cannot use multiple vehicles simultaneously
* Set a default vehicle for quick starts

### Switching Vehicles

<Steps>
  <Step title="Go offline">
    You must be offline (not accepting trips) to switch
  </Step>

  <Step title="Select vehicle">
    Go to **Profile** > **My Vehicles** > **Active Vehicle**
  </Step>

  <Step title="Choose vehicle">
    Select from your approved vehicles
  </Step>

  <Step title="Confirm">
    Confirm the switch
  </Step>

  <Step title="Go online">
    Now online with the selected vehicle
  </Step>
</Steps>

## Vehicle Photos

Upload clear photos of your vehicle:

**Required angles:**

* Front view
* Rear view (showing plate)
* Driver side
* Passenger side
* Interior (front and rear seats)

**Photo guidelines:**

* Good lighting (daytime preferred)
* Clean vehicle
* Clear plate number visibility
* No filters or editing
* Recent photos (within 3 months)

## Colombian Plate Number Format

Viax validates Colombian license plates:

```dart theme={null}
// Plate validation from source
static final RegExp colombianPlateRegex = RegExp(
  r'^[A-Z]{3}[0-9]{3}$',
  caseSensitive: false,
);

// Examples:
// ABC123 ✓ Valid
// XYZ789 ✓ Valid  
// AB1234 ✗ Invalid (wrong format)
// ABCD12 ✗ Invalid (4 letters)
```

## Vehicle Verification Status

| Status      | Description           | Can Use for Trips |
| ----------- | --------------------- | ----------------- |
| `pending`   | Awaiting admin review | No                |
| `approved`  | Verified and active   | Yes               |
| `rejected`  | Failed verification   | No                |
| `expired`   | Documents expired     | No                |
| `suspended` | Temporarily disabled  | No                |

## Removing a Vehicle

To remove a vehicle from your account:

<Warning>
  You cannot remove your only vehicle if you have active trip history with it.
</Warning>

1. Ensure no active trips with this vehicle
2. Go to **My Vehicles**
3. Select vehicle to remove
4. Tap **Remove Vehicle**
5. Confirm removal

Removed vehicles can be re-added later but require re-verification.

## Troubleshooting

<Accordion title="Document upload failed">
  **Common causes:**

  * File too large (over 5MB)
  * Wrong format (only JPG, PNG, PDF)
  * Poor image quality
  * Network connection issue

  **Solutions:**

  * Compress image before upload
  * Use supported formats
  * Ensure good lighting and clarity
  * Try again with stable internet
</Accordion>

<Accordion title="Vehicle rejected">
  Check rejection reason in notification:

  * Expired documents
  * Unreadable photos
  * Plate number mismatch
  * Vehicle doesn't meet requirements

  Correct the issue and resubmit.
</Accordion>

## Next Steps

<CardGroup cols={2}>
  <Card title="Document Verification" icon="file-check" href="/drivers/document-verification">
    Learn about required documents and verification
  </Card>

  <Card title="Profile Management" icon="user" href="/drivers/profile-management">
    Manage your driver profile
  </Card>

  <Card title="Start Driving" icon="play" href="/drivers/accepting-rides">
    Begin accepting trips with your vehicle
  </Card>
</CardGroup>

## Related API

* [Update Vehicle](/api/drivers/vehicle)
* [Get Driver Profile](/api/drivers/profile)
