Discarded section for multiple pricing
1. Introduction
This document outlines a product requirement document (PRD) for implementing a system that offers multiple pricing options for both one-time and subscription-based services. This system will cater to businesses that want to provide customers with flexibility and cater to different usage needs.
2. User Stories
As a customer, I want to see different pricing options for a service so I can choose the one that best fits my needs.
As a business owner, I want to define different tiers of service with varying features at different price points.
3. Functional Requirements
Product/Service Configuration:
The system should allow defining products and services with clear descriptions.
Businesses should be able to create multiple pricing tiers for each service, with variations in features, usage limits, or access levels.
Both one-time and subscription-based pricing models should be supported.
Example:
Onetime: Service 1 has 3 tiers
Tier 1: 100$
Tier 2: 200$
Tier 3: 300$ etc.
Subscription: Subscription type service can have different pricing for the same service like
Weekly: 7$
Monthly: 20$ etc.
While creating an order only one price will be selected. Generate invoice based on that price.
4. Customer Interface:
The system should present all available pricing options for a service clearly and concisely.
Customers should be able to easily compare features and pricing across different tiers.
The interface should guide customers towards choosing the most suitable option based on their needs.
5. User Flow
Browse Products/Services:
User lands on a product or service page.
The page displays a clear overview of the product's features and benefits.
Pricing Options Presented:
The page clearly displays multiple pricing tiers for the product/service.
Each tier should be clearly labeled with its name (e.g., Basic, Pro, Premium) and price point.
Checkout Process:
Based on the chosen Service type (one-time or subscribe):
One-Time Purchase: User enters payment information and completes the purchase.
Subscription: User chooses a billing cycle, confirms free trial details (if applicable), enters payment information, and completes the purchase.
Multiple packages
1. Introduction
This document outlines a product requirement document (PRD) for implementing a "Multiple Packages" feature within Agency Handy, with a limitation of a maximum of three packages per service. This feature allows agencies to offer various service tiers or options within a single service.
2. Business Needs
Increase service flexibility: Cater to diverse client needs by offering tiered packages within a service, allowing clients to choose the option that best suits their budget and requirements.
Improve sales opportunities: Encourage upselling by presenting different service tiers with varying features and pricing.
Enhance client experience: Provide clients with clear choices and transparent pricing for different service levels.
3. User Stories
As an agency owner, I want to create a service with different packages (up to 3) to offer my clients a range of options.
As an agency owner, I want to define the features and pricing for each package within a service.
As a client, I want to easily compare different service packages to choose the one that best fits my project needs.
4. Functional Requirements
Package Creation:
Super Admin, Admin, PM can create a new service with the option to add multiple packages (up to 3).
Each package should have a clear and concise name.
Package name should be a string (64 char)
Package details should include:
Features and functionalities offered in the package. (max 15) (140 character)
Duration will be set package wise
Use
this before each feature name
Pricing for the package.
If the pricing of the service is set to “subscription” the prices of the packages will be subscription based
If the pricing of the service is set to “one time” the prices of the packages will be one time based
Package Management:
Super Admin, Admin, PM can edit the name, offerings, and pricing of existing packages within a service.
Super Admin, Admin, PM can delete a package within a service.
A package can only be deleted if it has no order or order with only completed/cancelled status.
For “pending”, “ongoing”, “review” status of an order disable the delete button
if a package is deleted the name should be saved as a string and shown in the order details.
If a package is updated but it has an ongoing order. It should not impact on the order.
A package can be updated anytime but the changes will not affect any order that has been created. It will only impact new orders.
Package purchase
Visit the Catalog
User navigates to the catalog to browse available services.
View Details
User selects "View Details" on a service to see the details page, which displays available packages.
Initiate Purchase
User clicks "Purchase" to start the buying process.
Select Package
User selects the desired package from the available options.
Intake form Display
Show the intake form of the main service
Show the intake form of the upsells service (selected)
Order Form Display
The order form is shown, prompting the user to fill in required details.
Add-Ons and Upsell
Add-ons and upsell options are presented on separate pages.
For upsells, once a client selects a service, the packages and offerings for that service are displayed.
Complete Order Form
User selects the desired package, fills out the order form, and the intake form if applicable.
Payment
User completes the payment process for the selected service, add-ons, and upsell options.
Proposal
While sending a proposal agency can send a specific package or a service with all the packages
based on the clients package selection
User Interface:
Design a user-friendly interface for creating and managing multiple packages within a service.
Clearly differentiate between the service description and the individual package offerings.
Visually indicate the maximum limit of 3 packages per service.
Client View:
When viewing a service, clients should see a clear presentation of all available packages with their respective descriptions and pricing.
Allow clients to easily compare and choose the desired service package.
Webhook for packages
Webhook event for package creation
package delete
package update
Acceptance criteria:
Package Creation
Agency owners can create a new service and add up to 3 packages.
Acceptance Criteria:
Agency owners can create up to 3 packages per service.
Each package must have a name (string) and details including features (max 15) and pricing.
If the service is subscription-based, package prices are subscription-based.
If the service is one-time-based, package prices are one-time-based.
Package Management
Super Admin, Admin, PM can manage existing packages.
Acceptance Criteria:
Super Admin, Admin, PM can edit package names, features, and pricing.
Packages can be deleted only if they have no orders or only completed/cancelled orders.
Disable delete button for packages with orders in "pending", "ongoing", or "review" status.
Retain the package name as a string in order details if a package is deleted.
Updates to packages do not affect ongoing orders; changes apply only to new orders.
Package Purchase
Users can browse, view, and purchase packages from the catalog.
Acceptance Criteria:
Users can navigate to the catalog and view service details.
Users can initiate purchase by selecting "Purchase" and choosing a package.
Display order form, followed by add-ons and upsell options on separate pages.
Users can select packages, fill out order forms, and complete payment.
User Interface
Design a user-friendly interface for package creation and management.
Acceptance Criteria:
Interface clearly differentiates service description and package offerings.
Visual indication of a maximum of 3 packages per service.
Clear presentation of all available packages with descriptions and pricing for clients.
Clients can easily compare and choose desired packages.
Client View
Clear presentation and comparison of packages for clients.
Acceptance Criteria:
Clients can view all available packages with respective descriptions and pricing.
Clients can easily compare and select the desired package.

FAQ

Can a package name be duplicate? means a user can create 3 packages with same name under a single service?
Ans: No A single service cannot have multiple packages with same the same name.
Error Handling: Error UI with the text “You cannot have same package name under a single service”
Can a user create package without providing any feature name?
No, at least one feature name should be provided
Error handling: Error UI with grayed out save option
Can a feature name need to unique under a package?
No
Do add on service have any package name?
No package system for Addons
What is the default repeat duration?
Solution is already in the UI, We show user the text “Specify the total billing cycles or leave blank to continue the subscription until cancelled” under billing cycle input box
How do we handle manual order?
TBD
What about Proposal creation with service?
in manual order if payment Type is subscription can user manually input repeat Order, BillingCycleCount? or should it come from the package?
@Ali Shaown
Superadmin/Admin/PM can change no of billing cycle (how long it will continue) and the amount.
The currency, the subscription interval will come from the package.
h. Please describe more about this line:
Webhook event for package creation
package delete
package update
i. In our current system we don’t have any sent proposal button. Is it coming in our new system? What will be proposal status before sent proposal?
@Tasfiah Tabassum
please clarify
Ans: We can keep it the way it is right now. I don’t see any issue
j. If a payment gets failed should a order will be created? Both for subscription and new orders? Should a user get a failed payment method notification?
For a new order if payment fails no order will be created
For an ongoing subscription
order will be created
payment failed notification and email will be sent.
invoice will be created with status open

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.