User Story #678
openEPIC #670: Package Catalogue Management - 2 days front end and 2 days backend
Feature #677: edit Package
Frontend – Edit Package
0%
Description
er Story¶
As a Super Admin, I want to edit an existing travel package so that I can keep package information accurate, up-to-date, and ready for customer enquiries and publishing.
Business Background¶
Travel packages frequently require updates due to supplier changes, destination updates, seasonal offerings, or business decisions. The system should allow administrators to modify package information while maintaining data consistency and ensuring that unpublished changes do not unintentionally impact customer-facing content. This supports ongoing package maintenance throughout the package lifecycle described in the build specification.
Objective¶
Allow the Super Admin to:
- Modify package information
- Update destination details
- Update package overview
- Change package configuration
- Save changes without publishing
- Maintain package history
Preconditions¶
- User is authenticated.
- User has Package Management permission.
- Package already exists.
- Package is not permanently deleted.
Screen Name¶
Edit Package
Screen Overview¶
The Edit Package page shall display all previously saved package information, allowing the administrator to review and update the package.
The page should clearly indicate:
- Package Name
- Package Code (Read Only)
- Current Status
- Created Date
- Last Modified Date
Editable Sections¶
Basic Information¶
Fields
- Package Name
- Country
- City
- Duration
- Package Type
- Short Description
Package Overview¶
Fields
- Overview
- Highlights
- Suitable For
- Best Travel Season
Additional Configuration¶
Fields
- Display Order
- Featured Package
- Package Visibility
Read Only Information¶
The following fields cannot be modified:
- Package ID
- Package Code
- Created By
- Created Date
User Interface Behaviour¶
- Existing information shall be pre-populated.
- Only editable fields can be modified.
- Read-only fields shall appear disabled.
- Unsaved modifications shall be tracked.
- Changes shall not be automatically published.
- Mandatory fields shall always remain editable.
Validation Rules¶
| Field | Validation |
|---|---|
| Package Name | Required |
| Country | Required |
| City | Required |
| Duration | Required |
| Package Type | Required |
| Package Code | Read Only |
| Display Order | Positive Number |
Buttons¶
Save Changes¶
Action
- Validate updated information.
- Save modifications.
- Remain on Edit Package page.
- Update Last Modified information.
Save & Exit¶
Action
- Save package.
- Return to Package Listing.
Cancel¶
Action
- Detect unsaved changes.
- Display confirmation dialog.
- Return without saving.
Confirmation Dialog¶
Unsaved Changes¶
Title
Discard Unsaved Changes?
Message
You have unsaved changes. Leaving this page will discard all modifications.
Buttons
- Discard
- Continue Editing
Success Messages¶
| Scenario | Message |
|---|---|
| Package updated | Package updated successfully. |
| Changes saved | Changes saved successfully. |
| Draft updated | Draft package updated successfully. |
User-facing Error Messages¶
| Scenario | Message |
|---|---|
| Mandatory information missing | Please complete all required fields. |
| Duplicate package detected | Another package with similar details already exists. |
| Save failed | Unable to update the package. Please try again. |
| Record unavailable | The selected package is no longer available. |
Responsive Behaviour¶
Desktop
- Two-column editable layout.
Tablet
- Single-column grouped layout.
Mobile
- Vertical responsive layout with sticky Save actions.
Accessibility¶
- Keyboard navigation supported.
- Focus indicators visible.
- Required fields announced.
- Validation messages linked to input fields.
- Screen-reader compatible labels.
Acceptance Criteria¶
AC-1¶
Given an existing package
When the administrator opens the Edit Package page
Then all saved package information shall be displayed.
AC-2¶
Given editable information is modified
When Save Changes is clicked
Then the package shall be updated successfully.
AC-3¶
Given mandatory information is removed
When Save Changes is clicked
Then validation messages shall prevent saving.
AC-4¶
Given Package Code is displayed
When the page loads
Then it shall remain read-only.
AC-5¶
Given unsaved modifications exist
When Cancel is clicked
Then the confirmation dialog shall be displayed.
AC-6¶
Given the package has been updated successfully
When the save operation completes
Then the Last Modified information shall be refreshed.
AC-7¶
Given the package status is Draft
When changes are saved
Then the package shall remain in Draft status until published.
In Scope¶
- Edit package
- Update package details
- Update overview
- Modify destination
- Draft updates
- Unsaved changes detection
- Validation
- Save actions
Out of Scope¶
- Package publishing
- Itinerary editing
- Image management
- Halal facilities
- Package pricing
- Banner assignment
- Blog assignment
Dependencies¶
- Package Listing
- Package Creation
- Country Management
- City Management
- Role & Permission Management
Edge Cases¶
- Package deleted while editing.
- Another administrator updates the same package simultaneously.
- Country becomes inactive during editing.
- City removed before saving.
- Session timeout during editing.
- Browser refresh before saving.
- Network interruption during update.
Definition of Done¶
- Existing package loads correctly.
- Editable fields function as expected.
- Read-only fields are protected.
- Validation rules verified.
- Unsaved changes detection implemented.
- Responsive behaviour verified.
- Accessibility requirements met.
- Acceptance criteria passed.
- Product Owner approval completed.
No data to display