Hypothesis

Most of agency use multiple apps for managing clients and internal team
So, they have to pay for each app
which increases their operation cost
Also, managing multiple apps is a hassle.
Decision 1: Agencies needs an end-to-end solution for managing clients and maintain their internal team to reduce their operational cost.

Solution

Agency handy is a client portal management solution for agencies. Here agency can manage their clients, projects and tasks. For client, there will be a similar login portal where he can check the project progress, can review the task and provide feedback if necessary.

Competitor

Product specification flow

Account
Signup
Required field for Creating a new account.
First name
Last name
Email (unique)
Password
Minimum 8 characters, with at least one uppercase letter, one lowercase letter, one number, and one special character
Workspace name (no uppercase of special characters allowed)
An email can be added into multiple workspaces.
After successful signup, a verification mail will be sent to the user mail.
In email URL and password will be sent.
After user click on that link, should redirect to card information.
If the user is redirected from affiliate URL show lifetime deal option else only the credit card information
Once the promo for lifetime is accepted no need to ask for credit card information
User can only view the lifetime promo tab if they come from affiliate links.
User can add promos from settings as well.
After both promo and credit card section take the user to dashboard
User can also signup with google.
An Email can have multiple companies
A company can have multiple workspaces
After successful signup login the user automatically and send an email with verification code
user will see a bar saying “verify your account”
in the email user will receive numerical code to verify the account
Once the user clicks on verify button
user will enter the code received in email
verify the user and start the trial mode
This user will be SuperAdmin.
Sign in
User will select the workspace first. then put email and password
After successful 200,
Admin, Super Admin, Client will redirect to their dashboard. (Dashboard data provided in the dashboard section)
Assignee, PM will redirect to Order list.
We are Making every company unique in DB. Under that company a user can be a client but in a different company he can be an agency owner.
Forget Password:
Once the forgot password is clicked ask the user for email
once the proper email is given a code will be sent
once the code is entered ask the user to give new password and confirm password
if wrong pattern is entered show a error message
User Profile
user profile will be under settings
user can change their name
user can change their password
Service
Create Service (By Agency)
Super Admin, Admin can create service, update, Delete Service page form contains
name min(3), max(64),
descriptions (no limit),
price min(1),
Image,
duration,
type of service: One-time payment, Subscription.()
In recurrent 2 options:
weekly
monthly
daily
yearly
User can add multiple recurrent pricing.
status: isPublish
SuperAdmin, Admin, Client, PM can view the service.
SuperAdmin, Admin, PM can delete, edit the service.
Every service will have two options ‘Order’ and ‘Send Quotation.’
While deleting a service user will get prompt with checkbox to confirm if he wants to delete the orders and quotations relating to service.
If the clients select then delete the service and orders
if not only delete the service from view and keep the orders
If a client is deleted it will show greyed out for all the data points that has client info
created by and created date is removed (12/5/2023 -ali)
Service list public
All the published service list can be viewed with direct URL.
Catalog URL will be “/catalog.”
the individual purchase URL will be “/service_name/checkout”
On top of the service/services there will be a form
First name (mandatory)
Last name (mandatory)
email (mandatory)
order details/brief (required)
user can select the amount of a service. (quantity)
the price will update automatically.
Coupon code (to be added later)
user will be able to pay directly.
with the firstname, lastname, email a client will be created and an order will be created once the payment is completed.
client onboarding will progress as regular.
if the email address has already a client registered it will automatically create an order with status “in progress”
Once the order is created after payment an invoice will be created with the paid amount and “Paid Status”
after successful payment redirect to service page with a toaster saying “Payment successful”
In “catalog” purchase button will be available and if no payment method is set up by agency it will show and error message (update date: 27/3/2024)
Client
Admin, super admin can create client information.
Name (Required)
address
email (Required)
Company
category
Status
Lead (By default)
Status (Once an order is given)
Import client list from csv, excel.
From CSV we will take the required name and email field.
The optional fields if it is populated like address (city, state, country etc.) we will take it else discard.
Send a welcome email to client email address with username, password, and login URL.
While deleting a client give prompt with a Checkbox to confirm if he wants to delete order, invoice, quotations and tickets.
Items the user selects will be deleted.
Items the user didn’t select will remain.
A client can’t can be added as a team member
Proposal
Admin, Super Admin, PM, Client can create quotation.
Required fields for quotation.
Id (auto increment)
Order Brief
Duration
Attachment
Quantity
Budget
Select service (Required)
PM
If Admin, Super Admin, PM creates a quotation then they need to select a client. if Client creates the quotation, the field don’t need to show.
Admin, Super Admin, PM will send it to the agency. Client will get notification
Orvi sends you a quotation. Please review it.
Client can review the quotation.
If accepts, it will create an order automatically. Check section
If rejects, send a notification to the person with reasoning. the text will be
Facebook rejects your quotation because the price is too high
Client will send it to the agency. Super Admin & Admin will get notification
Facebook sends you a quotation. Please review it.
Super Admin, Admin can review the quotation.
If accepts, it will create an order automatically. Check section
If rejects, send a notification to client with reasoning. the text will be
Orvi rejects your quotation because the price is too high
For Each rejection, User has to send new quotation. After sending a quotation there’s no way to edit it.
Order Flow
PM, Super Admin, Admin, Client can create an order.
Required field for creating an order.
Name
Select Service, (Multiple service can be selected)
Select client,
Order Brief,
kick off date (optional),
end date (optional),
Attachments (optional),
budget,
Select PM (optional),
id(incremental)
Quantity (default 1)
Status - Pending, Ongoing, Review, Completed, Cancelled
An order have 5 status. Pending, Ongoing, In Review, Complete, Cancelled
After creating an order (By PM, Super admin, admin) all the super admin in a company will get access to the order and send a created order notification to the client. the text will be.
Orvi created an order “order_id” for you.
When client creates an order a notification will be sent to the company Super Admin & Admin. The text will be
Client Facebook wants to purchase Service 1. Please review.
Super Admin & Admin can accept/reject the order.
If accepts, Order status will change into ongoing.
“Orvi” has accepted your order, and your order is currently ongoing.
If rejects, Rejecter will show the reason. A notification will sent to the client. The text
Orvi rejects your order because the price is too high.
Only PM, Super Admin, Admin can change the status.
The created person also add to the order. His role will be his default role.
Orvi added you in order 1.
SuperAdmin, Admin, PM can add employee in order. The member will get notification.
Super Admin, Admin, PM, Client can send feedback/chat
SuperAdmin, Admin, PM can create discussion
When new order created one default discussion would be created. “client name”
Admin, SuperAdmin can create other discussion and add team members from order list in the discussion.
While deleting the order client prompt with checkbox of tickets, invoice
Items the user selects will be deleted.
Items the user didn’t select will remain.
Order Update
Only the items given below can be edited
Details
Start/End Date
attachment
note
Task
PM, Super Admin, Admin able to create task
Member can be assigned to task
Required fields for task
name (min char: 3 max: 160)
description
manual progress
assignee
status - pending(default), progress, review, done.
When user changes status to review it should send a notification to the client (Super Admin, Admin, PM) . Notification Text link: Mail text link:
A checkbox to select if a task needs client review or not.
if client review is checked
Client can see those tasks from pending to completed
when the task is set to in review send and email and notification to client
if client accepts, the status will move to done and task will mark as complete. Notification will be sent to super admin, admin, pm.
if client rejects, the status will move to progress and a notification will be super admin, admin, pm.
notification text link:
if a client mistakenly rejects a task Super Admin, Admin, PM can either send for review again or directly mark it as complete.
when the task is sent for client review assignee can’t change the task status
Super Admin, Admin, PM can change the task status while in client review
SuperAdmin, Admin, PM can edit the task while in client review
If client review is unchecked
client will be unable to see the task
agency (superadmin, admin, pm, assignee) can change the task status without needing any approval.
There shouldn't be any section like client comment when client review is off (Updated at 27-6-24)
time log (same as onethread)
label
Priority
Task has 2 views. Board and List.
List view should have search, filter, sorting
A board can be make by status and assignee
Client can only view the task
Assignee can see only his assigned task.
Super Admin, Admin, PM, Assignee, Client can comment/chat in task.
A selection box for tasks that needs client review.
By default, it is checked.
If it checked that specific task requires client review if unchecked doesn’t require client review.
A separate box for both client and internal team. Only admin, super admin, PM can send and reply feedback to the clients. (For task)
if a task is unchecked for client review client can’t be mentioned in the comment section.
If need client review is on then agency cannot create task with status “done”
Order Form
The idea of order form is to enable our consumers to customize their order form. The purpose of order form is to
Discussion
A chatting system similar to telegram/WhatsApp
A discussion sidebar with all the discussions
Whoever creates a team discussion will be the admin.
Once a order is created a Discussion is created automatically for that order
Members would be Client, Admin, Super Admin, PM (if there is one)
Superadmin , Admin can add members to the discussion.
Superadmin , Admin can create a separate discussion with team members.
Features
Basic chatting (one on one)
Team chatting (Can create groups)
file share (size to be selected)
Like, dislike
Text can be edited after send.
Text can be deleted after send.
Ticket management
Admin, Super Admin, PM, Client can create ticket.
Required field for creating ticket.
Select order (Required)
Name (Required)
Description
Assignee
Priority
Issued Date
Status: Open, close, Hold
Time log (from ticket creation time to close, timer will pause when ticket is on hold)
Once a ticket is created, Client can’t edit anything on the ticket but can leave comments
Super admin, Admin, PM can edit the description of the ticket which is created by agency and client.
Super admin, Admin, PM, Assignee can change the status, priority and assign members
To close a ticket a popup box for the closing statements.
Closed ticket can be reopened.
In case of reopening a pop up box will be opened to state the reason to reopen.
Invoice
Invoice Flow
Agency creates the invoice.
Once the invoice is created the status is draft
Send the invoice to client by clicking send to client button and the status is changed to open.
From open status agency can change the status to paid, void, uncollectable.
client can only view the generated invoice.
both parties can download the invoice
invoice generate should contain - created date, paid date/Void date.
When showing invoice show the service
When the status is changed to paid/void. auto capture the paidDate’
Agency logo and address will be added in the invoice(template)
In draft, open and uncollectable agency can edit the paid, due and discount.
Once the invoice is sent it will have the payment(stripe) link in the invoice
once the user pays using the link the status will automatically change to paid.
Create invoice.
invoice creation for client (agency) (Super admin, admin, PM can create invoice)
client name, order, address, partial amount, total amount, upfront, due date, created, discount%, status - draft, open (Unpaid), paid, void(cancelled), uncollectable.
Status details
Draft
The invoice isn’t ready to use. All invoices start in draft status.
Edit any part of the invoice.
When the invoice is ready to use, finalize it by changing its status to open.
If the invoice isn’t associated with a subscription, delete it.
Open/Unpaid
The invoice is finalized and awaiting payment.
Send the invoice to a customer for payment.
Change the invoice’s status to paid, void, or uncollectible.
Paid (The Invoice is paid)
Void (This invoice is canceled.)
Uncollectable (The customer is unlikely to pay the invoice. Normally, you treat it as bad debt in your accounting process)
Change the invoice’s status to void or paid.
Client name selected from dropdown.
order selected from dropdown.
textbox for amount, discount
date selector.
Role Permission
Role Permission
Super Admin
Admin
PM
assignee
Client
1
Can create a service
Can create a service
can create a service
2
Can view Unpublished service
Can view Unpublished service
Can view Unpublished service
Can view Unpublished service
N/A
3
View Published service
View Published service
View Published service
View Published service
View Published service
4
Can unpublish a service
Can unpublish a service
Can unpublish a service
5
Update a service
Update a service
Update a service
6
Delete a service
Delete a service
Delete a service
7
Create an order
Create an order
Create an order
N/A
Create an order
8
Can View all orders
Can View all orders
Can View all orders (assigned)
Can view assigned orders
Can view own order (self order and a client of)
9
View orders list
View orders list
View orders list
View orders list
View orders list
10
Update an order
Update an order
Update an order
11
create a discussion
create a discussion
create a discussion
12
Add member in discussion
Add member in discussion
Add member in discussion
13
Can view all Discussions
Can View all Discussions
Can view all Discussions
Can view assigned discussion
Can view discussions which is a member of
14
create a task in an order
create a task in an order
create a task in an order (assigned)
Can only view the task (in review, done)
15
Can View all tasks
Can View all tasks
Can View all tasks
Can view assigned tasks
Can only view the task (in review, done)
16
Can assign member in order
Can assign member in order
Can assign member in order
17
Can remove a member in order
Can remove a member in order
Can remove a member in order
18
Edit/update a task
Edit/update a task
Edit/update a task
Edit/update a task if assigned
19
delete a task
delete a task
delete a task
20
Can send a task to client for approval
Can send to client for approval
Can send to client for approval
Can approve/reject a task
21
Can assign member in a task
Can assign member in a task
Can assign member in a task
N/A
N/A
22
Can remove a member in task
Can remove a member in task
Can remove a member in task
23
can change a task status
can change a task status
can change a task status
can change assigned task status
24
Add/remove a client
Add/remove a client
N/A
N/A
N/A
25
Can create invoice
Can create invoice
can create invoice
26
Can update invoice
Can update invoice
Can update invoice
27
Can delete invoice
Can delete invoice
Can delete invoice
28
Can View all invoices
Can View all invoices
Can View all invoices
Can View own invoices
29
Create a ticket
Create a ticket
Create a ticket
Create a ticket
30
Update a ticket
Update a ticket
Update assigned ticket
update own created ticket(to close and comment on the ticket)
31
Close a ticket
Close a ticket
Close a ticket
Close a ticket (If assigned)
Close a ticket(OWN)
32
Can delete a ticket
Can delete a ticket
Can delete his/her own ticket
33
Can view all tickets
Can view all tickets
Can view all tickets
Can view all tickets
Can view own tickets
34
Can send feedback
Can send feedback
can send feedback
can send feedback to assigned task
can send feedback
35
can change agency name, color, logo
can change agency name, color, logo
can change agency, color, logo
36
Can create a quotation
Can create a quotation
Can create a quotation
Can create a quotation
37
Can delete a quotation
Can delete a quotation
Can delete a quotation
38
Can approve/reject a quotation sent by client
Can approve/reject a quotation sent by client
Can approve/reject a quotation sent by client
Can approve/reject a quotation sent by agency
39
Can view all quotations
Can view all quotations
Can view all quotations
Can view own quotations. (sent by client and sent by agency)
40
add team member
add team member
can add team member
41
Can View all the members
Can view all the members
42
Can change a members role
Can change a members role
43
Can delete a member
Can delete a member
44
Can get timesheet
Can get timesheet
Can get timesheet
Can view his own timesheet
45
Can delete workspace
46
Can view revenue widget
There are no rows in this table
Settings
Profile
Name
password
Super Admin, Admin can change Agency name
Super admin, Admin, PM can change color, add logo
Navbar
Top bar
Promo code
Custom Domain Setup
It is for our paid customers. It will show in trial but not accessible.
Under settings > Company profile > Custom domain setup
A text box for domain name
in list view type, Name, Value, status and delete option
Name will have the subdomain value and Value will have the
like for and agencyhandy.com
Example
Type
Name
Value
Status
1
CName
testing
testing.onethread.com
2
Cname
@
agencyhandy.com
There are no rows in this table
Under workspace settings
A option for asking us for support.
If the custom domain is disconnected the Superadmin will receive email
Subject: Domain on $(Company name) needs configurationAgencyHandy Domain setup deleted
Body : “${company.customDomain} has been disconnected from AgencyHandy. Please review your domain
Kind Regards,
Agency Handy”
Custom email template configuration
Purpose:
Enable users to modify email templates for enhanced personal communication with options to edit the subject, body, email signature, and add social icons. Targeted for businesses to manage client onboarding, project proposals, task reviews, and invoice notifications.
Goals:
- Simplify email customization process. - Allow dynamic content insertion for personalized communication.
Functional Requirements
Editable templates for client onboarding, project proposals, task reviews, and invoice acceptance.
Customizable subject lines, email bodies with placeholder support, signatures, and social media links.
Real-time previews of edits. (under 2 sec)
Save and manage custom templates.
Non-Functional
Intuitive UI for non-technical users.
Fast performance with sub-2-second response for edits.
Should have 2 previews web and mobile
Send a test mail button for testing
User Stories
1. As a user, I want to easily customize email templates to match my brand and communicate effectively with clients. 2. As a user, I need to insert dynamic fields like {{firstName}} to personalize emails automatically.
Custom Email Setup
Purpose: Enable users to send emails from their custom email addresses directly through our platform, enhancing brand consistency and trust.
Goals: - Provide a seamless setup process for using custom email addresses. - Ensure secure and reliable email delivery.
Functional
Allow users to register their custom email address with the platform.
Implement verification process for the ownership of the custom email address.
Provide SMTP/IMAP configuration settings to integrate custom email services.
Enable users to compose and send emails from the platform using their custom email address.
Support secure authentication methods (e.g., OAuth 2.0) for email service providers that require it.
Implement a fallback mechanism for email delivery failures.
Non-Functional
User-friendly setup interface.
Ensure email delivery within 3 minutes of sending.
Adhere to email security standards (e.g., SPF, DKIM, DMARC) to minimize the risk of emails being marked as spam.
Scalable infrastructure to support a growing number of users and emails.
Setup and Configuration Steps (For Developers)
Email Address Registration & Verification: - Users enter their custom email address. - Send a verification email with a unique link or code to confirm ownership.
SMTP/IMAP Configuration: - Provide fields for SMTP and IMAP server details: Host, Port, Username, Password, and Encryption (SSL/TLS). - Include instructions for common email providers and links to their documentation.
Authentication Integration: - For providers supporting OAuth 2.0, integrate the OAuth flow to request email sending permissions. - Store access tokens securely and handle token refreshes.
Email Sending Functionality: - Develop a feature for composing emails in the platform with options for subject, body, attachments, etc. - Utilize the configured SMTP details for sending emails.
5. Delivery Failure Handling: - Implement logic to retry sending emails when temporary issues are encountered. - Notify users of permanent failures and suggest troubleshooting steps.
User Stories
As a business owner, I want to send emails from my business email address through the platform to maintain a professional image.
As a marketer, I need to ensure emails sent from the platform reach the inbox and not the spam folder, maintaining our reputation.
As a developer, I require clear configuration steps and secure authentication methods to integrate custom email services without compromising security.
Files
All the files of an order can be accessed from here.
In files there will order lists
in order all the order specific files.
Dashboard
Widgets
Revenue (Super admin)
Only paid invoices will be calculated.
No of Unpaid invoice (Super Admin, Admin, PM)
recent order, recent opened ticket (Super admin, admin, PM)
Recent order - list of five last orders
Recent tickets list of five last opened tickets

no of clients
revenue month based.
new quotations
If agency creates a ticket with open status, it should show in the Recent open ticket section of client dashboard
For recent order and tickets from dashboard onclick should redirect.
Teams
Super Admin, Admin,PM can add team member.
To add team member email and role is required.
Super admin, admin can delete a team member.
Super admin, admin can change role.
Once a user is invited/added in team
user will get a subdomain sign up URL
Team member can be client
Integration
A sidebar button where upon interacting will take us to Integration panel.
In the panel Integration item list (Stripe, drive, quickbook, zapier etc).
Only Superadmin can integrate and will see this panel.
Every item will have connect and disconnect option.
Full integration item list given below.
Zapier
Google and Onedrive
Super admin can integrate Google /One Drive
once the connection is established “Files” will sync
Initially a folder will be created with the workspace name
Then inside that folder it will follow the same structure as files.
QUESTION:
How should the folder structure be? Putting everything in "order" or "service" won't cut it since there's quotation which doesn't belong to neither of them.
What will happen if user remove files from drive?

Outloook and
Google Docs (2nd)
Google Sheet (2nd)
Stripe (1st)
We will be using direct charges system for this (we will not take any charges agency will bear the clients transaction charges)
Integration with Stripe’s payment processing platform.
Support for credit cards, debit cards.
store payment details securely.
send invoices to recurring customers.
show payment history of order.
Support for custom pricing models. (discount, individual pricing etc.)
User story
As a client, I want to be able to charge my clients using Stripe.
As a client, I want to be able to store my payment details securely so that I don’t have to enter them every time I make a payment.
As a client, I want to be able to receive invoices for recurring payments.
As an administrator, I want to be able to customize pricing models so that I can offer different pricing options to different clients.
QuickBook (3rd)
Hubspot
Whatsapp
Filtering
Invoice
Filter by Client
Filter by service
Filter by status
Order
Filter by status
Filter by service
Filter by client
Filter by due date
Filter by start date
Order Task
Filter by assignee
Filter by status
Filter by due date
Filter by start date.
Filter by label
Filter by priority
Quotation
Agency
Filter by client
Filter by service
Filter by status.
Client
Filter by service
Filter by status
Service
Agency
Filter by service name
Filter by status
Filter by payment type (Onetime/ recurring)
Filter by price (select range)
Client
Filter by service name
Filter by payment type
Ticket
Filter by assignee
Filter by status
Filter by due date
Filter by start date.
Filter by priority
Sorting
Sort by (A-Z)
Sort by (Z-A)
Sort By Priority (High to Low)
Sort By Priority (Low to High)
Sort By Start Date
Sort By End Date
Subscription
30 days subscription
30 days shall be counted from the payment date.
Solo entrepreneur
when adding team member in this plan
You cannot add team member in Solopreneur Plan. To add team member please upgrade your plan.
Client purchased on 1st Nov then next charge 1st Dec.
If a client purchases within trial period, the 30 days count will start from the payment date
Subscription Downgrade:
once a subscription is downgraded the Super admin will have select which team members will stay
Apart from the owner everyone will show on the list.
Billing
if a user has selected solo plan (49$) and want to upgrade to pro(149$) after 15 days then the adjusted price would be 124.5$.
in case of the downgrade from pro (149$) to solo (49$) after 15 days the price should be 74.5$ so no charge for the first month and adjusting the price after later months as well. in this case 25.5$ adjustment in the second month.
plan price/30=daily usage
upgrade price = plan price-total daily usage (no of days)
downgrade price = plan price-total daily usage
Notification
- Agency will get notification if client cancel a purchased service
‘Client’ has canceled the order ‘order_ID’ from “service_name”
- if Admin, Super Admin, PM send quotation to client, Client will get a notification
you have received a new quotation for “service_name”
- If client reject, it will sent a notification to the agency with a reason.
“Client name” has rejected the order/ the task for “order id”
- If agency rejects quotation of client, client will get a notification with a reason.
“super admin/admin/pm name” has rejected a proposal for “service name”
- If client sent quotation to agency, admin or super admin will get notification
“client name” has sent a proposal for “service name” please review.
- If agency add company member in a order, that member should get notification
“adder name” has added you in a task in a order “order id”
- if PM Creates a order, admin and super admin will get notification
a new order was created by “pm name” for “client name”
- Client should get a notification with reason for rejection if agency rejects order.
“rejector name” has rejected your order
- If agency change their task status to in "review” or creates with status “review”, client should get notification
you have a task to be reviewed for “order id”
- If agency change their task status to in review, if client accepts, agency will receive notification
client name has accepted the task
- If client rejects, he needs to give a reason for rejection which will be sent to agency with notification
client name has rejected the task
- Agency will get notification if client create an ticket
“client name” has created a ticket for “order id”
- Client will get notification if agency creates an ticket
Agency has created a ticket for order “order id”
- Client should got a notification when agency sent a invoice to client
you have received an invoice “invoice id” for order “order id”
client should get notification when order is completed
“client_name” Your order has been successfully completed for “service_name”
client should get notification when order is completed
“client_name” Your order has been canceled for “service_name”
once payment is received from client (for agency)
“client_name has successfully paid for service service_name”
once payment is received from client (for client)
You have successfully paid for service service_name”
Subscription reminder (Agency)
7 days before
The subscription for [Client Name] to the service [Service Name] is due for renewal in 7 days.
3 days before
The subscription for [Client Name] to the service [Service Name] is due for renewal in 3 days.
1 day before
The subscription for [Client Name] to the service [Service Name] is due for renewal tomorrow.
missed payment
The subscription for [Client Name] to the service [Service Name] has missed payment
Subscription reminder (Client)
7 days before
Your subscription to [Service Name] is due for renewal in 7 days.
3 days before
Your subscription to [Service Name] is due for renewal in 3 days.
1 day before
Your subscription to [Service Name] is due for renewal tomorrow
missed payment
Your subscription payment for the service [Service Name] was missed. Please update your payment details to continue using the service.
Email
Package activation.
Dear {client_name}
Congratulations (client_name), you have upgraded to our (package_name) package. With this now you can enjoy:
(list of features in the package)
We are very happy to have you on board at Agency Handy.
You can find your purchase receipt attached to this email.
(attach purchase receipt)
Best regards,
Agency Handy
Purchase failed email:
Catalog
Subject: Issue with Guest User Purchase Attempt
Dear [Agency Owner's Name],
I hope this email finds you well.
We noticed that a guest user with the email address [Guest User's Email] attempted to purchase a service (service_name) but was unable to complete the transaction. Please feel free to review the issue and follow up with the user if necessary to ensure a smooth purchasing process.
Let us know if you need any additional information or assistance.
Kind Regards,
Agency Handy
Service Page
Subject: Issue with clients (client_name) Purchase Attempt
Dear [Agency Owner's Name],
I hope this email finds you well.
We noticed that a client [client_name] with the email address [clients Email] attempted to purchase a service (service_name) but was unable to complete the transaction. Please feel free to review the issue and follow up with the client if necessary to ensure a smooth purchasing process.
Let us know if you need any additional information or assistance.
Kind Regards,
Agency Handy
Team member invite
Subject: You have been invited to [workspace name] - Agency Handy
Hello {name},
You have been invited as a [role name] on [workspace]. To join please click the button below
[CTA: Join {workspace name}]
Best regards,
[company name]

Proposal received for both parties.
Agency:
Sub: You have received a new proposal for {service_name}
Hi,
{client name} has sent you a new proposal for {service_name}
{preview of our proposal page}
To accept/reject please login to your workspace. [CTA: Login]
after login directly redirect to proposal page
Regards,
AgencyHandy
Client
Sub: You have received a new proposal for {service_name} from {company name}
Hi,
{Company_name} has sent you a new proposal for {service_name}
{preview of our proposal page}
To accept/reject please login to your workspace. [CTA: View proposal]
after login directly redirect to proposal page
Regards,
[Company_name]
Order creation.
Client has purchased a service.
Subject: Order Confirmation: #[Order Number] for [service_name]
Dear [Client's Name],
We're excited to confirm that your order has been created successfully.
Order Details:
Order Number: #[Order Number]
Date of Order: [Insert Date]
Services Ordered: [Service name]
Total Amount: [Insert Total Amount]
Quantity: [Quantity]
If you have any questions or need assistance or want to see the progress, please login to the portal.
[CTA: Log in]
after login directly redirect to the order details
Regards,
[Company_name]
Client has purchased a service from catalog
Subject: Order Confirmation: #[Order Number] for [service_name]
Dear [Client's Name],
We're excited to confirm that your order has been created successfully.
Order Details:
Order Number: #[Order Number]
Date of Order: [Insert Date]
Services Ordered: [Service name]
Total Amount: [Insert Total Amount]
Quantity: [Quantity]
If you have any questions or need assistance or want to see the progress, please login to the portal. You should have received an email detailing your signup/sign in process and credentials.
[CTA: Log in]
after login directly redirect to the order details
Regards,
[Company_name]
Agency created an order for client
Sub: An order has been created for [client_name] by [company_name] for [service_name]
Dear [Client's Name],
We're excited to confirm that your order has been created successfully.
Order Details:
Order Number: #[Order Number]
Date of Order: [Insert Date]
Services Ordered: [Service name]
Total Amount: [Insert Total Amount]
Quantity: [Quantity]
If you have any questions or need assistance or want to see the progress, please login to the portal.
[CTA: Log in]
after login directly redirect to the order details
Regards,
[Company_name]
Ticket creation
Client created a ticket
Sub: New Ticket Created: [Ticket Number] - [Ticket Subject]
Dear [Team/Asignee_name],
A new ticket has been created by a client.
Ticket Information:
Ticket Number: [Insert Ticket Number]
Client Name: [Insert Client Name]
Brief Description: [Insert Brief Description of the Issue]
Action Required:
Please review the ticket details and assign it to the appropriate team member for further action.
[CTA: View Ticket]
after login directly redirect to the ticket details
Agency creates a ticket for client
Sub: New Ticket Created: [Ticket Number] - [Ticket Subject]
Dear [Team/Asignee_name],
A new ticket has been created by a client.
Ticket Information:
Ticket Number: [Insert Ticket Number]
Client Name: [Insert Client Name]
Brief Description: [Insert Brief Description of the Issue]
Action Required:
Please review the ticket details and assign it to the appropriate team member for further action.
[CTA: View Ticket]
after login directly redirect to the ticket details
Comment
From Team to Client
Subject: New Comment on ticket “ticket_name/”ticket_subject”
Dear [Client's Name],
You have received a new comment on [ticket_name/”ticket_subject”]:
Date/Time: [Insert Date/Time]
Comment: [Insert Comment]
Please review and respond as necessary.
Thank you.
Best regards,
[Company_Name]
From Client to Team
Subject: New Comment on ticket “ticket_name”/”ticket_subject”
Dear [Company_name],
You have received a new comment on [ticket name/”ticket_subject”]:
Date/Time: [Insert Date/Time]
Comment: [Insert Comment]
Please review and respond as necessary.
Thank you.
Best regards,
Agency Handy
Task Review
Agency
Client (with action button)
Sub: You have a task to review from [Company Name] for the [Service Name]. Action required!
Dear [Client's Name],
You have received a task to review.
Task Details:
Task Name/Number: [Insert Task Name - Number]
Action Required: (button)
Approve Task
Reject Task
You can also log in into your client portal to review the task. [login url]- redirect to the order
Thank you for your cooperation.
Best regards,
[company name]

Client (without action button)
Sub: You have a task to review from [Company Name] for the [Service Name]. Action required!
Dear [Client's Name],
You have received a task to review.
Task Details:
Task Name/Number: [Insert Task Name - Number]
You can log in into your client portal to review the task.
[CTA: Review Task]
after login directly redirect to the task details
Thank you for your cooperation.
Best regards,
[company name]

Comment
From Team to Client
Subject: New Comment: [order_id] for [service_name]
Dear [Client's Name],
You have received a new comment on [order_id]:
Date/Time: [Insert Date/Time]
Comment: [Insert Comment]
Please review and respond as necessary.
Thank you.
Best regards,
[Company_Name]
From Client to Team
Subject: New Comment: [order_id] for [service_name]
Dear [Company_name],
You have received a new comment on [order_id]:
Date/Time: [Insert Date/Time]
Comment: [Insert Comment]
Please review and respond as necessary.
Thank you.
Best regards,
Agency Handy
Payment received (to be added in template)
Agency (from support@agencyhandy)
Subject: Payment Confirmation for [Service Name]
Hi [Agency Owner],
We are pleased to inform you that [Client Name] has successfully paid for the service [Service Name].
Details of the transaction are as follows:
- Service Name: [Service Name] - Payment Amount: [Payment Amount] - Payment Date: [Payment Date]
- Invoice ID: [Invoice ID] - Order ID: [Order ID]
regards,
Agency Handy team
Client (from agency email)
Dear [Client Name],
Thank you for your payment! We have successfully received your payment for the service [Service Name].
**Payment Details: ** - Service Name: [Service Name] - Payment Amount: [Payment Amount] - Payment Date: [Payment Date]
- Invoice ID: [Invoice ID] - Order ID: [Order ID]
Your account has been updated accordingly, and your service will continue without interruption. If you have any questions or need further assistance, please feel free to contact us.
Thank you for choosing [Your Company Name].
Best regards, The [Your Company Name] Team
Payment reminder (to be added in template)
Agency (from support@agencyhandy)
Dear [Agency Owner],
This is a friendly reminder that the subscription for [Client Name] to the service [Service Name] is due for renewal in 7/3 days/tomorrow.
**Subscription Details:** - Service Name: [Service Name] - Client Name: [Client Name] - Renewal Date: [Renewal Date] - Subscription Amount: [Subscription Amount] - Order ID: [Order ID]
Please ensure that all necessary steps are taken to facilitate the renewal process.
If you have any questions or need further assistance, please feel free to contact us.
Best regards,
Agency Handy Team
Client (from agency email)
Dear [Client Name],
We hope you are enjoying our [Service Name]. This is a friendly reminder that your subscription is due for renewal in 2 days.
**Subscription Details:** - Service Name: [Service Name] - Renewal Date: [Renewal Date] - Subscription Amount: [Subscription Amount] - Order ID: [Order ID]
To ensure uninterrupted service, please make sure your payment details are up to date. You can manage your subscription and payment information from your account dashboard.
If you have any questions or need further assistance, please feel free to contact us.
Thank you for choosing our service!
Best regards, Company_Name
Missed payment
Agency(from support @agenyhandy)
Dear [Agency Owner/Admin Name],
We wanted to inform you that [Client Name] has missed their recent payment for the service [Service Name].
**Subscription Details:** - Service Name: [Service Name] - Client Name: [Client Name] - Due Date: [Due Date] - Missed Payment Amount: [Missed Payment Amount] - Order ID: [Order ID]
Please reach out to the client to address this issue and ensure their service continues without interruption.
If you have any questions or need further assistance, please feel free to contact us.
Best regards, Agency Handy Team
Client (from agency email)
Dear [Client Name],
We hope you are well. Our records indicate that we were unable to process your recent payment for the service [Service Name].
**Subscription Details:** - Service Name: [Service Name] - Due Date: [Due Date] - Missed Payment Amount: [Missed Payment Amount] - Order ID: [Order ID]
Please update your payment details to avoid any interruption in your service. You can manage your payment information from your account dashboard.
If you have any questions or need further assistance, please feel free to contact us.
Thank you for your prompt attention to this matter.
Best regards, Company_name

Multi-Currency
The Multi-Currency Pricing feature enables users of our SAAS platform to set service prices in different currencies, offering flexibility to cater to global markets and diverse customer preferences.
Currency Selection: Users can select the desired currency from a dropdown menu when setting service prices.
Default currency should be based on location.
In setting - Default currency (later version)
Integration Points: Changes will be implemented across multiple platform areas:
Service creation.
Service editing.
Service viewing.
Service listing and catalog display.
Order details.
Order creation by agencies.
Proposal generation
Invoice generation.
Currency Display in Invoice and Proposal:
The currency will be displayed and calculated as usual in invoices and proposals.
For example, if the service price is set in EUR, only EUR will be shown in the proposal and invoice.
Dashboard Enhancement:
A "three-dot button" will be added to the dashboard, enabling users to switch between currencies in revenue and revenue overviews.
Only currencies used in services/orders will be loaded for selection.
Order creation:
When agency is creating an order they are not allowed to add multiple currencies in one order
services with the same currency can be added.
Multiple language
The Multi-Language Translation feature enriches the user experience within our application by enabling users to access content in their preferred language. By supporting multiple languages, we enhance accessibility and usability, ensuring that our platform caters to a diverse global audience.
Language Selection: Users can easily translate content into their preferred language.
Default language based on location: if we do not support that locations language yet default to English
Language Switch Button: A language switch button will be placed beside the notification button, allowing users to change the language effortlessly.
Initial Language Support: The feature will initially support English, Bangla, Spanish, Mandarin, French, and German languages to accommodate a broad user base.
Comprehensive Translation: All content, including backend data such as priority and status, will be translated to ensure a seamless user experience across all aspects of the application.
Once a language is changed it should be saved and not changed.

Pricing strategy

(14 days trial) 7 days trial- changed on 10/15/2024
In trial period user will have all the services from pro plan. After trial ends
Suppose user use pro feature there will an option to downgrade the plan or user have to pay for the current plan. So, lets assume, User use pro plan in the trial period and want to use teams during subscription. there will be a downgrade option where system tells the user to remove 10 members and custom domain (if it’s connected)
trail will have 1tb storage
Plan
Trial
Yearly Price
Monthly Price
Lifetime price
Users
Clients
Orders
Custom Brand
Task Management
Invoicing
Notes
Client & Internal Team Conversation
Client Approval
Custom Domain
Email
email template
Webhook
paypal
storage
Workspace
Upload Limit attachment
1
Trial
2
Soloprenuear
14
$49.00
$69.00
1
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
yes
1
yes
5000 (off in trial)
yes
1TB
No
1gb
3
Teams
14
$99.00
$149.00
10
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
yes
1
yes
10000 (off in trial)
yes
5TB
No
5gb
4
Pro
14
$149.00
$199.00
30
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3
yes
30000 (off on trial)
yes
20TB
10
10gb
5
Enterprise
14
$249.00
$299.00
unlimited
unlimited
unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
5
yes
100000(off the trial)
yes
40TB
unlimited
6
LTD
$499.00
$49.00 (offer)
5
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
No
1
yes
1000
No
7
Lifetime Plan 1
$500.00
3
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
yes
3
yes
5000 (off in trial)
yes
1TB
No
1gb
8
Lifetime Plan 2
$750.00
10
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
yes
1
yes
10000 (off in trial)
yes
5TB
3
5gb
9
Lifetime Plan 3
$1,000.00
30
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3
yes
30000 (off on trial)
yes
20TB
10
10gb
10
Lifetime Plan 4
$1,500.00
unlimited
unlimited
unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
5
yes
100000 (of the trial)
yes
40TB
unlimited
11
Rockethub Ltd Tier 1
$99.00
3
1 tb
1
1gb
12
Rockethub Ltd Tier 2
$179.00
15
5 tb
1
5gb
13
Rockethub Ltd Tier 3
$349.00
Unlimited
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3
yes
30000 (off on trial)
yes
20TB
10
10gb
14
Ltd - Tier 1
3
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
yes
1
yes
5000 (off in trial)
yes
1TB
No
15
Ltd - Tier 2
30
Unlimited
Unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3
yes
30000 (off on trial)
yes
20TB
10
16
Black Friday LTD- 1
$99.00
2
unlimited
unlimited
Yes
Yes
Yes
yes
Yes
Yes
Yes
1
yes
5000 event
yes
1TB
1
1gb
17
Black Friday LTD- 2
$249.00
10
unlimited
unlimited
Yes
Yes
Yes
yes
Yes
Yes
Yes
1
yes
10000 event
yes
5TB
1
5gb
18
Black Friday LTD- 3
$399.00
unlimited
unlimited
unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3
yes
30000 event
yes
10TB
3
10gb
19
Black Friday LTD- 4
$599.00
unlimited
unlimited
unlimited
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3
yes
100000
yes
20TB
15
There are no rows in this table
Lifetime plan 1 update user update from 3 to 10
LTD
LTD will be a separate package. The pricing is 499$. user will have a coupon. the first 50 coupon users can purchase at 49$.
only available in Bangladesh
no custom domain
member 5 people
expire date: 100 years.
user can change their lifetime plan to other plans. (upgrade/downgrade)
The flow for upgrade and downgrade will be same as our other packages.
for downgrade remove team members if the number is high
custom domain auto disconnect.
Once the user switches from lifetime to another plan user will be charged monthly/yearly.

LTD

Overview

This feature enables users to purchase and redeem a limited-time Black Friday Lifetime Deal (LTD) license through a designated section on the Agency Handy landing page. Following purchase, users receive a unique redemption code via email, which they can apply within the Agency Handy platform to activate their license. Codes needed per Black friday package 200

User Stories

As a prospective user, I want to purchase a Black Friday LTD license and receive a code for redemption.
As a licensed user, I want to redeem my Black Friday LTD code within Agency Handy settings to activate my subscription.

Functional Requirements

Landing Page Section for Black Friday LTD:
Purchase Option: Users can access the LTD section on the landing page to initiate the purchase process.
Payment Flow: Users enter their email address and complete the payment for the LTD license through the checkout process.
Email Collection: The system will collect the user’s email address during purchase for license delivery.
Email Delivery for Code:
Automated Email Trigger: Upon successful payment, an automated email is sent to the user.
Email Content:
Subject: "Thank you for Purchasing Agency Handy"
Body: Contains a redemption code and step-by-step instructions for code application.
Code Display: The unique LTD code generated for the user.
Instructions: Guide the user to "Settings > Promotion Tab > Paste the code for code redemption.
Subject: Thank You for Purchasing Agency Handy's Black Friday Lifetime Deal!
Body:
Hello [User(email before@)],
Thank you for taking advantage of our exclusive Black Friday Lifetime Deal for Agency Handy! We’re thrilled to have you on board and look forward to supporting your business needs.
Here’s your unique code to redeem your lifetime access:
Code: [LTD-REDEMPTION-CODE]
To activate your license:
or log into your Agency Handy account.
Go to Settings and navigate to the Promotion tab.
Enter your code in the provided field.
Follow the prompts to complete your redemption.
Once redeemed, your lifetime access will be activated, and you’ll have full access to the benefits of Agency Handy!
Signup Button (Sign up link)
Need Help? If you have any questions or run into any issues during the redemption process, feel free to reach out to our support team at [].
Thank you once again, and welcome to the Agency Handy family!
Best regards, The Agency Handy Team
Redemption Process within Agency Handy:
Settings Section Access: Users must first sign up for an account or log in to an existing account.
Promotion Tab Configuration:
Users navigate to Settings > Promotion Tab
Redeem Code Option: An input field for users to enter their unique code.
Verification: The system verifies the code’s validity and checks for redemption status.
Activation Confirmation: A success message confirming activation of the LTD license.
Subscription Activation:
License Application: Upon successful redemption, the user's account is upgraded to the LTD license status with access to applicable features.
Account Management: The LTD license is linked to the user’s account and viewable in account settings.

Non-Functional Requirements

Email Reliability: Ensure prompt and reliable email delivery upon successful payment.
User Experience: Ensure the LTD section on the landing page is visually engaging and easy to navigate.
Redemption Security: Codes should be uniquely generated, trackable, and secure against multiple redemptions.
Performance: Ensure smooth processing of code verification and activation in real time.

Acceptance Criteria

Purchase and Email Delivery:
Users successfully complete the payment and receive a confirmation email with the LTD redemption code and instructions.
Code Redemption:
Users can redeem their LTD code via the Promotion Tab in Settings without errors.
Code validation correctly identifies valid and expired codes.
License Activation:
Successful code redemption upgrades the user’s account to LTD license status.
Account settings display LTD license status after activation.

Dependencies

Payment Gateway: Integration with a payment processor for secure LTD license purchases.
Email Service: Reliable email service to automate delivery of purchase confirmation and redemption code.
User Account System: To enable redemption and license management post-purchase.

FAQ

Can the code be redeemed more than once?
No, each code is valid for a single redemption only.
What if a user doesn’t receive the email?
Users can request a resend of the confirmation email through the support team.
Is the LTD license transferable?
No, the LTD license is non-transferable and tied to the user’s account email.

User Stories


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.