User Story #929
openEPIC #670: Package Catalogue Management - 2 days front end and 2 days backend
Feature #927: Package Groups Management
Backend – Manage Package Groups (Adults / Children / Rooms)
0%
Description
As a Super Admin, I want the system to store traveller configuration and room occupancy information for each package so that the package can accurately represent the intended traveller group during package discovery and enquiry.
Business Background¶
Package Groups define the traveller profile supported by a package. This information helps customers understand package suitability and lays the foundation for future pricing and quotation enhancements. The MVP stores only configuration data without any pricing calculations.
Business Objective¶
The backend shall:
- Store traveller categories.
- Store room occupancy options.
- Validate traveller limits.
- Provide traveller information to customer-facing modules.
- Maintain audit history.
Functional Behaviour¶
The system shall:
- Retrieve Package Group configuration.
- Create or update Package Group information.
- Validate business rules.
- Return traveller information for Package Details.
- Maintain audit information.
Business Workflow¶
Open Package Groups
│
▼
Validate User Permission
│
▼
Retrieve Existing Configuration
│
▼
Validate Traveller Configuration
│
▼
Save Package Group Information
│
▼
Update Audit Information
│
▼
Return Updated Configuration
Business Logic¶
- Each package shall have one Package Group configuration.
- Adult traveller category is mandatory.
- At least one room occupancy option must be configured.
- Minimum Travellers must be greater than zero.
- Maximum Travellers must be greater than or equal to Minimum Travellers.
- Traveller configuration is available to Package Details and Enquiry modules.
Database Entity Changes¶
Package Group¶
Fields
- Package ID
- Adult Enabled
- Child Enabled
- Infant Enabled
- Single Room
- Twin / Double Sharing
- Triple Sharing
- Quad Sharing
- Minimum Travellers
- Maximum Travellers
- Created By
- Created Date
- Updated By
- Updated Date
Validation Rules¶
| Validation | Rule |
|---|---|
| Package ID | Must exist |
| Adult Category | Mandatory |
| Room Occupancy | Minimum one selection |
| Minimum Travellers | Greater than zero |
| Maximum Travellers | Greater than or equal to Minimum |
Business Rule Matrix¶
| Rule | Behaviour |
|---|---|
| One Package Group per Package | Mandatory |
| Adult Enabled | Required |
| Child & Infant | Optional |
| Room Occupancy | At least one selected |
| Traveller Limits | Mandatory |
Permission Matrix¶
| Role | Manage Package Groups |
|---|---|
| Super Admin | Allowed |
| Admin | Configurable |
| Supplier | Not Allowed |
| Partner | Not Allowed |
| Customer | Read Only (published packages) |
Audit Requirements¶
Automatically capture:
- Created By
- Created Date
- Updated By
- Updated Date
- Activity Type = Package Groups Updated
Analytics Events¶
| Event | Trigger |
|---|---|
| Package Groups Saved | Successful save |
| Package Groups Retrieved | Package details request |
Acceptance Criteria¶
- Package Group information is stored successfully.
- Traveller limits are validated.
- At least one room occupancy option exists.
- Traveller information is available to customer-facing modules.
- Audit history is maintained.
In Scope¶
- Traveller configuration
- Room occupancy
- Traveller limits
- Validation
- Customer data retrieval
Out of Scope¶
- Pricing calculations
- Occupancy pricing
- Group discounts
- Dynamic pricing rules
- Room inventory management
Dependencies¶
- Package Master
- Authentication
- Authorization
- Customer Package Details
- Enquiry Module
- Audit Framework
Edge Cases¶
- Minimum equals Maximum.
- Package restored after deletion.
- Concurrent updates.
- Large traveller limits.
- Package archived during update.
Definition of Done¶
- Package Group configuration stored successfully.
- Validation rules enforced.
- Audit history maintained.
- Customer retrieval verified.
- Acceptance criteria satisfied.
- QA completed.
- Product Owner approval obtained.
Future Enhancement (Phase 2)¶
The Package Groups module can later be extended to support:
- Age ranges for Adults, Children, and Infants.
- Occupancy-based pricing.
- Extra bed policies.
- Seasonal traveller limits.
- Dynamic room combinations.
- Integration with the quotation and booking engines.
No data to display