Project

General

Profile

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 
 * vehicle_name 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.

Back