Task #163
Updated by Dana Basheer about 2 months ago
This module is used to manage vehicle details provided by transporters. Each vehicle is linked to a transporter and contains pricing details such as daily rent, rate per kilometer, and extra kilometer charges. These vehicles will be used in tour planning and transportation allocation. The vehicle must belong to a transporter and can be activated or deactivated as needed.
**Table**
vehicle_master
* vehicle_id (PK) INT AUTO_INCREMENT Unique vehicle ID
* transporter_id (FK) INT References transporter_master.transporter_id
* transporter_name VARCHAR(150) Name of the transporter (display purpose)
* km_rate DOUBLE Rate per kilometer
* day_rent DOUBLE Daily vehicle rent
* extra_km_rate DOUBLE Extra kilometer rate
* is_active BOOLEAN DEFAULT TRUE Active / inactive status
* created_at DATETIME Record created date
* updated_at DATETIME Record updated date
**Validations**
Mandatory
* transporter_id required
* km_rate required
* day_rent required
* extra_km_rate required
Transporter
* transporter_id must exist in transporter_master
* transporter must be active
Transporter Name
* Should automatically fetch from transporter_master
* Should not be manually typed
Rate
KM Rate (double)
* Must be numeric
* Must be greater than or equal to 0
Day Rent
* Must be numeric
* Must be greater than 0
Extra KM Rate
* Must be numeric
* Must be greater than or equal to 0
Duplicate
Prevent duplicate vehicle entries for same transporter.
Edit
Allow edit:
* km_rate
* day_rent
* extra_km_rate
* is_active
Do NOT allow edit:
* transporter_id
Delete Rule
* Soft delete only.
Set:
* is_active = FALSE
* Do not physically delete record.