Actions
Task #131
openSet Vendor
Start date:
02/20/2026
Due date:
02/20/2026 (13 days late)
% Done:
0%
Estimated time:
Description
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
- 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
- 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
- is_active = TRUE → Vendor usable
- is_active = FALSE → Vendor hidden
Actions