User Story #928
openEPIC #670: Package Catalogue Management - 2 days front end and 2 days backend
Feature #927: Package Groups Management
Frontend – Manage Package Groups (Adults / Children / Rooms)
0%
Description
As a Super Admin, I want to configure traveller categories and supported room occupancy for each package so that customers can understand whether the package suits their travel group before submitting an enquiry.
Business Background¶
Every travel package supports different traveller combinations. Some packages are suitable for couples, some for families, while others are designed for larger groups. The Package Groups module allows administrators to define the supported traveller categories and room occupancy options. This information is displayed on the package details page and is also used by the enquiry process.
For the MVP, the module focuses only on traveller configuration. Pricing and occupancy calculations will be managed in future releases.
Business Objective¶
Allow administrators to:
- Configure traveller categories.
- Configure supported room occupancy.
- Define minimum and maximum travellers.
- Display traveller information on customer package pages.
Preconditions¶
- User is authenticated.
- User has Package Management permission.
- Package exists.
- Package is editable.
Screen Name¶
Manage Package Groups
Accessible from:
Package Details → Package Groups
UI Components Inventory¶
| Component | Description |
|---|---|
| Traveller Configuration | Configure traveller categories |
| Room Occupancy | Select supported room types |
| Numeric Inputs | Minimum and Maximum Travellers |
| Save Button | Save configuration |
| Cancel Button | Exit without saving |
Screen Layout¶
Section 1 – Traveller Categories¶
Administrator can enable or disable:
- Adults
- Children
- Infants
Each option shall be presented as a checkbox.
Section 2 – Room Occupancy¶
Select supported room types:
- Single Room
- Twin / Double Sharing
- Triple Sharing
- Quad Sharing
Multiple selections are allowed.
Section 3 – Traveller Limits¶
Fields:
- Minimum Travellers *
- Maximum Travellers *
Example
Minimum : 1
Maximum : 20
User Interface Behaviour¶
- Existing values shall be preloaded.
- Multiple room types may be selected.
- Traveller limits accept numeric values only.
- Maximum Travellers cannot be less than Minimum Travellers.
- Changes remain in Draft until saved.
Validation Rules¶
| Field | Validation |
|---|---|
| Minimum Travellers | Required, Numeric, Minimum 1 |
| Maximum Travellers | Required, Numeric |
| Maximum Travellers | Greater than or equal to Minimum |
| Room Occupancy | At least one option must be selected |
| Traveller Categories | At least Adult must be enabled |
Button Actions¶
Save¶
- Validate all inputs.
- Save Package Group configuration.
- Return success message.
Save & Continue¶
- Save current information.
- Return to Package Details.
Cancel¶
- Prompt confirmation if unsaved changes exist.
Business Rules Matrix¶
| Rule | Behaviour |
|---|---|
| Adult category | Mandatory |
| Child category | Optional |
| Infant category | Optional |
| Room occupancy | At least one selection |
| Maximum Travellers | Cannot be less than Minimum |
Analytics & Tracking Events¶
| Event | Trigger |
|---|---|
| Package Groups Opened | Screen viewed |
| Package Groups Updated | Save successful |
Responsive Behaviour¶
Desktop
- Two-column layout.
Tablet
- Single-column grouped sections.
Mobile
- Vertical responsive layout.
Accessibility¶
- Keyboard accessible.
- Screen-reader friendly labels.
- Visible focus indicators.
- Accessible checkbox controls.
Success Messages¶
| Scenario | Message |
|---|---|
| Save | Package group information updated successfully. |
User-facing Error Messages¶
| Scenario | Message |
|---|---|
| Minimum missing | Please enter the minimum number of travellers. |
| Maximum missing | Please enter the maximum number of travellers. |
| Invalid traveller range | Maximum travellers must be greater than or equal to the minimum travellers. |
| Room type missing | Please select at least one room occupancy option. |
Acceptance Criteria¶
AC-1¶
Given an editable package
When the administrator opens Package Groups
Then the existing traveller configuration shall be displayed.
AC-2¶
Given valid traveller information
When Save is clicked
Then the configuration shall be saved successfully.
AC-3¶
Given no room occupancy option is selected
When Save is clicked
Then the system shall display a validation message.
AC-4¶
Given Maximum Travellers is less than Minimum Travellers
When Save is clicked
Then the configuration shall not be saved.
AC-5¶
Given a published package
When customers view the package
Then the configured traveller information shall be displayed.
In Scope¶
- Traveller categories
- Room occupancy
- Traveller limits
- Validation
- Customer display
Out of Scope (MVP)¶
- Traveller pricing
- Occupancy pricing
- Seasonal pricing
- Dynamic room allocation
- Group discounts
- Extra bed configuration
- Age-based pricing rules
Dependencies¶
- Package Master
- Package Details
- Customer Package Details
Edge Cases¶
- Minimum and maximum values are the same.
- Very large group sizes.
- Concurrent administrator updates.
- Package archived while editing.
Definition of Done¶
- Traveller configuration implemented.
- Room occupancy configuration implemented.
- Validation completed.
- Customer display verified.
- Acceptance criteria passed.
- QA completed.
- Product Owner approval obtained.
No data to display