Actions
Task #159
openSightseeing Master
Start date:
03/05/2026
Due date:
03/05/2026 (Due in 0 days)
% Done:
0%
Estimated time:
Description
This module is used to manage sightseeing places available in different locations. Each sightseeing spot belongs to a district and a location. The module stores details such as sightseeing name, description, geographic coordinates (latitude and longitude), and an image. These sightseeing records can later be used in tour planning and public APIs to display tourist attractions.
Table
sightseeing_master
- id (PK) INT AUTO_INCREMENT Unique sightseeing ID
- district_id (FK) INT References district_master.id
- location_id (FK) INT References loc_master.loc_id
- loc_name VARCHAR(150) Name of the sightseeing place
- description TEXT Description of the sightseeing place
- latitude DECIMAL(10,8) Latitude coordinate
- longitude DECIMAL(11,8) Longitude coordinate
- image_url VARCHAR(255) URL of sightseeing image
- is_active BOOLEAN DEFAULT TRUE Active / inactive status
- created_at DATETIME Record created date
- updated_at DATETIME Record updated date
Validations
Mandatory
- district_id required
- location_id required
- loc_name required
- latitude required
- longitude required
Name
- Minimum 2 characters
- Maximum 150 characters
- Cannot be empty
Duplicate
- Prevent duplicate sightseeing place under the same location.
District
- district_id must exist in district_master
- district must be active
Location
- location_id must exist in loc_master
- location must belong to the selected district
- Latitude & Longitude Validation
- Must be numeric
- Latitude range: -90 to 90
- Longitude range: -180 to 180
Image
- Image URL is required when image is uploaded
- Allowed formats: jpg, jpeg, png, webp
- Maximum file size: 5 MB (if uploading through admin panel)
- Stored value should be full URL or public path
Edit
Allow edit:
- loc_name
- description
- latitude
- longitude
- image
- is_active
Do NOT allow edit:
- district_id
- location_id
Delete
- Soft delete only.
Set:
- is_active = FALSE
- Do not physically delete the record.
Updated by Uthara Udayan about 13 hours ago
- Status changed from New to In Progress
Actions