Project

General

Profile

Task #110

Updated by Dana Basheer 18 days ago

This module is used to assign one or more Room Categories to a specific Hotel. 
 It creates a relationship between hotel_master and room_category_master, allowing each hotel to define which room categories it supports (Example: Deluxe, Suite, Standard). 
 This mapping also supports Active / Inactive status, so room categories can be temporarily disabled without deleting data. 

 **Table** 

 hotel_room_category_map 

 * id (PK) 	 INT 	 Unique mapping ID 
 * hotel_id (FK) 	 INT 	 References hotel_master.id 
 * enterprise_id (FK)INTReferences enterprise_master.enterprise_id  
 * room_category_id (FK) 	 INT 	 References room_category_master.id 
 * is_active 	 BOOLEAN 	 Active (1) or Inactive (0) status 
 * added_date 	 DATETIME 	 Record creation date 

 **Validation** 

 Add 

 * Hotel must be selected (mandatory) 
 * Room Category must be selected (mandatory) 
 * Same Room Category cannot be assigned to same Hotel more than once 
 * Duplicate validation must be case-insensitive (via ID logic) 
 * Only active hotels can be assigned 
 * Only active room categories can be assigned 

 Edit 

 * Cannot change hotel_id (recommended lock) 
 * Cannot create duplicate mapping during edit 
 * Must allow change of: 
     * Room Category (if needed) 
     * Active / Inactive status 

 Active / Inactive Validations 

 * is_active = 1 → Room Category is available for that hotel 
 * is_active = 0 → Room Category is disabled for that hotel 
 * Inactive categories: 
          * Should NOT appear in booking / room selection 
          * Should still remain in database (no hard delete)

Back