Project

General

Profile

Actions

User Story #684

open

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

Feature #683: Package CRUD

Frontend – Publish, Unpublish & Archive Package

Added by Islam Mansoori about 1 month ago.

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

0%

Estimated time:

Description

As a Super Admin, I want to publish, unpublish, or archive a package so that only approved and relevant travel packages are visible to customers while maintaining control over the package lifecycle.


Business Background

Creating a package does not automatically make it available to customers. A package should only become visible after all mandatory business information has been completed and verified. Similarly, packages may need to be unpublished for temporary maintenance or archived when they are no longer offered. The lifecycle management process ensures accurate catalogue management and prevents customers from viewing incomplete or obsolete travel packages. This aligns with the package management process described in the build specification.


Objective

Allow the Super Admin to:

  • Publish a completed package.
  • Temporarily unpublish a package.
  • Archive obsolete packages.
  • View package lifecycle status.
  • Prevent invalid lifecycle transitions.

Preconditions

  • User is authenticated.
  • User has Publish Package permission.
  • Package exists.
  • Package has passed required validation checks.

Screen Name

Package Lifecycle Management

Accessible from:

  • Package Listing
  • Package Details
  • Action Menu

Lifecycle Actions

Publish Package

Available only when:

  • Package is in Draft status.
  • Mandatory information is complete.
  • Validation checks have passed.

Unpublish Package

Available only for Published packages.

Purpose:

  • Temporarily hide package from customers.
  • Keep package available for future publication.

Archive Package

Available for:

  • Draft
  • Unpublished
  • Published (with confirmation)

Purpose:

  • Remove package from active catalogue.
  • Preserve historical information.

Package Status Workflow

Draft
   │
Publish
   │
Published
   │
Unpublish
   │
Unpublished
   │
Archive
   │
Archived

Allowed Status Transitions

Current Status Allowed Action New Status
Draft Publish Published
Draft Archive Archived
Published Unpublish Unpublished
Published Archive Archived
Unpublished Publish Published
Unpublished Archive Archived
Archived Restore (Separate Story) Draft

User Interface Behaviour

  • Available actions shall change based on current status.
  • Invalid actions shall not be displayed.
  • Status badge updates immediately after successful action.
  • Lifecycle history shall remain visible.
  • Confirmation dialog required before status changes.

Confirmation Dialogs

Publish Package

Title

Publish Package

Message

This package will become visible to customers after publishing. Do you want to continue?

Buttons

  • Publish
  • Cancel

Unpublish Package

Title

Unpublish Package

Message

Customers will no longer be able to view this package until it is published again.

Buttons

  • Unpublish
  • Cancel

Archive Package

Title

Archive Package

Message

Archived packages will be removed from the active catalogue but retained for future reference.

Buttons

  • Archive
  • Cancel

Success Messages

Action Message
Publish Package published successfully.
Unpublish Package unpublished successfully.
Archive Package archived successfully.

User-facing Error Messages

Scenario Message
Validation incomplete Complete all required package information before publishing.
Permission denied You do not have permission to perform this action.
Invalid status This action cannot be performed in the current package status.
Action failed Unable to complete the requested action. Please try again.

Business Rules Matrix

Rule Behaviour
Draft packages Can be Published or Archived
Published packages Visible to customers
Unpublished packages Hidden from customers
Archived packages Hidden from all active catalogue listings
Only authorised users May change lifecycle status

Impact Analysis

Publish

  • Package becomes visible on website.
  • Package available in search results.
  • Package available for quotation requests.
  • Package included in promotional sections (if configured).

Unpublish

  • Removed from customer search.
  • Existing enquiries remain unaffected.
  • Package editable by administrators.

Archive

  • Removed from all active listings.
  • Historical data retained.
  • Cannot receive new enquiries.

Acceptance Criteria

  1. Only valid lifecycle actions are displayed.
  2. Publish is allowed only after validation passes.
  3. Confirmation dialog appears before status changes.
  4. Status badge updates immediately.
  5. Published package becomes visible to customers.
  6. Unpublished package is hidden from customers.
  7. Archived package is removed from active catalogue.

Role Permission Matrix

Role Publish Unpublish Archive
Super Admin
Admin Based on Permission Based on Permission Based on Permission
Supplier
Partner
Customer

In Scope

  • Publish package
  • Unpublish package
  • Archive package
  • Lifecycle workflow
  • Confirmation dialogs
  • Status updates
  • Business rule validation

Out of Scope

  • Package validation logic
  • Package restoration
  • Package deletion
  • Pricing approval
  • Supplier approval

Definition of Done

  • Lifecycle actions implemented.
  • Workflow rules enforced.
  • Confirmation dialogs verified.
  • Status updates displayed correctly.
  • Customer visibility updated appropriately.
  • Acceptance criteria passed.
  • Product Owner approval completed.

No data to display

Actions

Also available in: Atom PDF