# CDL

The CDL (Commercial Driver's License) section allows tracking of a driver’s license information, including class, expiration, endorsements, and restrictions. Users can add, edit, or renew a CDL, upload documents, and void expired licenses.

`![DriverCDLModal](../assets/driver-cdl-modal.png)`

Figure: CDL modal with full field list and document handling.

#### Add CDL Modal

<table><thead><tr><th width="200">Field</th><th width="90" align="center">Required</th><th>Description</th></tr></thead><tbody><tr><td>Issue Date</td><td align="center">✅</td><td>Must be before expiration date</td></tr><tr><td>Expiration Date</td><td align="center">✅</td><td>Must be after issue date</td></tr><tr><td>License Number</td><td align="center">✅</td><td>Official CDL number as printed on the license</td></tr><tr><td>State</td><td align="center">✅</td><td>State that issued the license</td></tr><tr><td>Class</td><td align="center">✅</td><td>CDL class: A, B, or C</td></tr><tr><td>Endorsements</td><td align="center">Optional</td><td>Multi-select (e.g., H, N, T)</td></tr><tr><td>Restrictions</td><td align="center">Optional</td><td>Multi-select (e.g., E, L, Z)</td></tr><tr><td>Document Upload</td><td align="center">Optional</td><td>Upload file (PDF, image); required if set by company</td></tr></tbody></table>

* Save button becomes active only when all required fields are filled and valid.
* Dropdowns support search for long option lists.

#### Edit CDL Modal

* All fields are editable.
* Existing document can be replaced.
* Save and Delete options are available.

#### Renew CDL

* Available when CDL is expired or near expiry.
* Shows the current CDL as read-only.
* User must input a new license and dates.
* "Void previous license" toggle is shown and recommended.
* A warning is displayed before renewal to confirm replacement.

#### Validation Rules

* Issue Date must be a valid past or current date.
* Expiration Date must be after Issue Date.
* License cannot be renewed with the same number and date range.
* Voiding the old CDL deactivates it in the system history.

#### Notes

* Drivers with no active CDL are marked visually in the list/card view.
* CDL status (valid, expired, voided) impacts other modules like MVR and Compliance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rute.gitbook.io/carrier/compliance/cdl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
