Project

General

Profile

Actions

User Story #673

open

EPIC #670: Package Catalogue Management - 2 days front end and 2 days backend

Feature #671: Package Listing

backend - Manage Package listing

Added by Islam Mansoori about 1 month ago. Updated about 1 month ago.

Status:
To Do
Priority:
low
Assignee:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

User Story

As a Super Admin, I want the system to retrieve and manage package catalogue data efficiently so that the frontend can display accurate, searchable, and filterable package information.


Business Background

The backend package listing service provides the source of truth for package records used throughout the administration portal. It supports catalogue management by retrieving package data, applying business rules, and enforcing access permissions before exposing information to the frontend.


Functional Behaviour

The system shall:

  • Retrieve all package records.
  • Apply role-based access restrictions.
  • Support searching by package attributes.
  • Apply filter criteria.
  • Apply sorting rules.
  • Return paginated datasets.
  • Include package status.
  • Return audit-related metadata (e.g., created by, last updated).

Business Logic

  • Only active package records are returned by default unless archived items are explicitly requested.
  • Search shall match configured searchable fields (Package Name, Code, Country, City).
  • Multiple filters shall be combined using logical AND.
  • Sorting shall be applied before pagination.
  • Package status shall determine available actions.
  • Deleted packages shall not appear in the default listing.
  • Only users with package management permission may retrieve the catalogue.

Database Entity Changes

No new entities are introduced.

Primary entities referenced:

  • Package
  • Country
  • City
  • User
  • Package Status

The listing shall include relationships required for display without exposing unnecessary internal data.


Validation Rules

  • Validate search input length.
  • Validate filter values against master data.
  • Validate sort fields against supported attributes.
  • Validate pagination limits.
  • Verify user permissions before processing the request.

Audit Requirements

The system shall maintain and expose:

  • Created By
  • Created Date
  • Last Updated By
  • Last Updated Date
  • Current Package Status

Acceptance Criteria

  1. Package records are returned based on user permissions.
  2. Search results reflect matching package data.
  3. Filter combinations return only qualifying records.
  4. Sorting is consistently applied.
  5. Pagination returns the correct record subset.
  6. Audit metadata is available for each package.
  7. Archived or deleted packages follow configured visibility rules.

In Scope

  • Retrieve package list
  • Search processing
  • Filter processing
  • Sorting
  • Pagination
  • Permission validation
  • Audit metadata

Out of Scope

  • Package creation
  • Package editing
  • Image storage
  • Publish workflow
  • Country management
  • Itinerary management

Dependencies

  • Authentication
  • Authorization
  • Package Master
  • Country Master
  • City Master

Edge Cases

  • Large catalogue volumes.
  • Missing master data references.
  • Concurrent updates during retrieval.
  • Invalid search combinations.
  • Archived package visibility rules.

Definition of Done

  • Business rules implemented.
  • Validation completed.
  • Permission checks enforced.
  • Audit metadata returned.
  • Acceptance criteria satisfied.
  • QA and Product Owner approval completed.
Actions

Also available in: Atom PDF