User Stories:
As an Agency Owner, I want to create service groups with specific names, images, and descriptions so that I can organize and present my services effectively. I want to add, unpublish, or hide groups from the catalog to control visibility. Service Management within Groups: As an Agency Owner, I want to manage services within groups, including adding, removing, and editing groups and services to ensure efficient management. As an Agency Owner, I want to view a list of all service groups and their details to quickly see how my services are organized. As an Agency Owner, I want to restrict client group visibility of certain services and payment methods to tailor service offerings to specific client groups. Functional Requirements:
Group Creation:
Superadmin/Admin can create a group by selecting one or more services. Groups must have a unique name (32 characters max), a single image, and a description (140 characters). (design breaks for limitless description in groups) An option to hide the entire group from the catalog is available. A service can only be part of one group at a time. Service Management within Groups:
Superadmin/Admin can add services to a group through a modal displaying all ungrouped services. Remove Services from a Group: Services can be removed via a three-dot menu within the group view. Groups can be edited to change the name, image, or description. The group and all services within can be ungrouped using a delete option. (only show in group level) Group View:
Superadmin/Admin can view all groups and their details (name, image, description, and services within each group). Service Configuration:
Access to Service Configuration: Superadmin/Admin can access the service configuration via a dedicated button. Restrict Services for Clients: Admins can restrict visibility of specific service groups for selected . Multiple restrictions can be added. Payment Method Restrictions: Admins can restrict payment methods for specific service groups. Client Experience:
Logged-in clients can view services grouped or individually. Groups are listed under the search bar. Clients can toggle to view all services without groups. When viewing individual services, a label shows the group each service belongs to. Additional logic: For manual order select the client first then select services (as client restriction is active)
In the next version allow users to hide from catalog a single service.
Acceptance Criteria:
Group Creation:
Group Creation Interface: A form is provided for entering the group name, uploading an image, and writing a description. The user can select one or more services for the group. Options to unpublish services or hide the entire group from the catalog are available. A service cannot be part of more than one group. Once saved, the group appears in the Group Overview with its name, image, and description. Service Management within Groups:
Clicking "Add Services" opens a modal with a list of ungrouped services. The user can select one or more services to add to the group. The user can remove services from a group via a three-dot menu next to the service. The user can edit the group's name, image, and description via a three-dot menu option. The user can delete a group, and all services within it are ungrouped. Group View:
Groups are displayed with their name, image, description, and associated services. Service Configuration:
Restricting Services for Clients: The user can select a client group and hide specific service groups from their view. Multiple restrictions can be applied. Payment Method Restriction: The user can restrict specific payment methods for each service group. Client Experience:
Clients can toggle between grouped and individual service views. Each service shows a label indicating its group, if applicable.