Project

General

Profile

Task #131

Updated by Dana Basheer 14 days ago

This module is used to create and manage vendor details in the system. A vendor represents a service provider such as sightseeing providers, activity providers, or other external service partners. Each vendor is mapped to a specific location from the Geography Master and belongs to an enterprise. The stored vendor details will be used in other modules like sightseeing, enquiry, and service assignment. 

 **Table** 

 vendor_master 

 * id 	 INT (PK) 	 Unique vendor ID 
 * vendor_name 	 VARCHAR(150) 	 Name of vendor 
 * location_id 	 INT (FK) 	 Reference to khm_loc_mst_geography.geog_id 
 * mobile 	 VARCHAR(15) 	 Vendor mobile number 
 * email 	 VARCHAR(150) 	 Vendor email 
 * address 	 TEXT 	 Vendor address 
 * gstin 	 VARCHAR(15) 	 GST number 
 * display_name 	 VARCHAR(150) 	 Display name 
 * enterprise_id 	 INT (FK) 	 Reference to enterprise_master.id 
 * is_active 	 BOOLEAN 	 Active / Inactive status 
 * added_date 	 DATETIME 	 Created date 
 * updated_date 	 DATETIME 	 Last updated date 

 Validations 

 Add 

 * Vendor Name required 
 * Location required 
 * Mobile Number required 
 * enterprise_id required 

 Vendor Name 

 * Cannot be empty 
 * Minimum 3 characters required 

 Duplicate 

 * Prevent duplicate: 
 * Same vendor_name + enterprise_id 

 Location 

 * Must be selected from Geography Master 
 * Must reference khm_loc_mst_geography.geog_id 
 * Cannot be free text 

 Mobile Number 

 * Cannot be empty 
 * Must be numeric 
 * Must be exactly 10 digits 

 Email 

 * If entered, must be valid email format 

 GSTIN 

 * If entered, must be exactly 15 characters 

 Address 

 * Maximum 500 characters allowed 

 Display Name 

 * Optional field 
 * Maximum 150 characters allowed 

 Enterprise 

 * enterprise_id required 
 * Must match logged-in enterprise 
 * Cannot create vendor for another enterprise 

 Edit 

 Allow editing: 

 * vendor_name 
 * location_id 
 * mobile 
 * email 
 * address 
 * gstin 
 * display_name 
 * is_active 

 Do NOT allow editing: 

 * id 
 * enterprise_id 

 Delete Validation 

 * Do NOT hard delete. 
 * Soft delete only. 

 Update: 

 * is_active = FALSE 

 Active / Inactive Rule 

 * is_active = TRUE → Vendor usable 
 * 

 is_active = FALSE → Vendor hidden

Back