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