← 3. Agency Brand set up_

Chunks — 3. Agency Brand set up_

The FRD markdown is the source of truth; these chunks are the derived retrieval index used to give the test-case generator only the relevant slices. Rebuilt automatically when the FRD is saved.

58 chunks · ~4,018 tokens

#1
(intro)
~50 tok
FRD

**Agency Brand Setup Module**

**Functional Requirement Document**

**BA & Ideation: Sooraj Panicker**

**Reviewed By: KG**

**Updated Date: 17 September 2025  
Status: Approved**

**Version 1.0**
#2
(intro)
~1 tok
#
#3
**Functional Requirements Document (FRD) - Brand Setup Module**
~16 tok
# **Functional Requirements Document (FRD) - Brand Setup Module**
#4
**Functional Requirements Document (FRD) - Brand Setup Module** > **1\. Module Overview**
~117 tok
## **1\. Module Overview**

*   **Module Name:** Brand Setup Module
*   **Purpose:** Multi-step wizard enabling agencies to create and configure brand identities within the CRM system, collecting essential brand information, visual assets, business details, and service configurations for use throughout the platform
*   **Business Goal:** Establish consistent brand representation across invoicing, proposals, client communications, and all client-facing interfaces
#5
**Functional Requirements Document (FRD) - Brand Setup Module** > **2\. User Roles & Permissions**
~89 tok
## **2\. User Roles & Permissions**

**Role**

**Key Permissions**

Agency Owner

Full access to all brand setup features allows for the addition of brand-related data, including general information, theme, events, service selection, business details, service area information, and social media links.

Admin

Can perform a complete Brand Setup Operations
#6
**Functional Requirements Document (FRD) - Brand Setup Module** > **3\. User Flow**
~95 tok
## **3\. User Flow**

**Main Success Scenario:**

1.  User accesses Brand Setup from Dashboard or Settings → Brands
2.  Completes 5-step wizard: Basic Info → Appearance → Events/Services → Business Info → Service Area → Social Media
3.  The system saves the brand configuration and makes it available system-wide
4.  Users can proceed to the dashboard or create additional brands
#7
**Functional Requirements Document (FRD) - Brand Setup Module** >
~1 tok
##
#8
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations**
~10 tok
## **4\. Field Details & Validations**
#9
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 1: Basic Brand Information**
~84 tok
### **Step 1: Basic Brand Information**

**Field Name**

**Type**

**Required**

**Validation Rules**

Business Name

Text

Yes

100 characters, can have alphabets, numbers, and special characters

Business Website

URL

No

Valid URL format

Phone Number

Combined Input

Yes

Country code dropdown + phone number field, max 15 digits
#10
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 2: Customize Appearance**
~223 tok
### **Step 2: Customize Appearance**

**Field Name**

**Required**

**Validation Rules**

**Tooltip**

Primary Logo

Yes

Supported formats are jpeg, .jpg, .webp, .png

Size- max 15 MB

Refer- [Click Here](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=13406-375045&t=3EX49Qcrf7KzlJPH-0)

Secondary Logo

No

Supported formats are jpeg, .jpg, .webp, .png

Size- max 15 MB

Refer- [Click Here](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=13406-375045&t=3EX49Qcrf7KzlJPH-0)

Brand Colors

Yes

By default, the system provides 9 preset color options. For additional flexibility, users can select custom colors using the built-in color picker.

\--

Default cover photo

Yes

Supported formats are jpeg, .jpg, .webp, .png

Size- max 15 MB

  
A default header image is provided by the system in the Library. The users have the option to replace it.

–
#11
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#12
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#13
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#14
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#15
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 3: Events & Services**
~128 tok
### **Step 3: Events & Services**

**Field Name**

**Required**

**Validation Rules**

**Tooltip**

Event Types

Yes

At least one is required. Max 50 events, including the custom entries

Refer - [Click here](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=13406-375394&t=1FfbSpHIa4vNLPp6-0)  

Custom Event Types

No

Allow only the alphabet. No special characters.

Cannot be duplicated.

\--

Service Types

Yes

Photography / Videography / Content Creation

At least one is required.

\--
#16
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 4: Business Information**
~156 tok
### **Step 4: Business Information**

**Field Name**

**Required**

**Validation Rules**

Search Business Address

Yes

\- Based on the user’s input in the search bar, the dependent fields below (Street address, City, state/Province, Country, Zip code) are auto-populated.

\- The user must search at least to the city level for auto-fill to trigger.

\- All fetched values are from the Google Maps API.

\- If any field is missing or incomplete, the user needs to edit or enter the data manually.

\- If the ZIP/Postal code is not auto-fetched, the user can enter it manually. Alphanumeric, should not exceed 10 characters.
#17
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#18
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#19
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** >
~1 tok
###
#20
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 5: Service Area Configuration**
~84 tok
### **Step 5: Service Area Configuration**

**Field Name**

**Required**

**Validation Rules**

**Tooltip**

Service Areas

Yes

Alphanumeric and special characters, Max 50 characters in one service area field

Refer - [Click here](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=13406-375399&t=1FfbSpHIa4vNLPp6-0)
#21
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 6: Social Media Links**
~251 tok
### **Step 6: Social Media Links**

**Field Name**

**Required**

**Validation Rules**

Facebook

No

Valid URL format, max 250 characters

Instagram

No

Valid URL format, max 250 characters

LinkedIn

No

Valid URL format, max 250 characters

Pinterest

No

Valid URL format, max 250 characters

Vimeo

No

Valid URL format, max 250 characters

YouTube

No

Valid URL format, max 250 characters

TikTok

No

Valid URL format, max 250 characters

**Action button CTAs**

**CTA Name**

**Action**

Next

Will redirect the user to the next page in the Brand setup.

Back

Navigate the user back to the previous page they accessed, while retaining all entered data to prevent any loss.

Finish

Completes the setup Process and redirects users to the set-up finished page

Add Additional Brand

This will be visible post-brand setup to redirect the user to create an additional brand

Open Dashboard

This will be visible post-brand setup to redirect users to the Dashboard

**5\. Error Message Handling**
#22
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 1 - Basic Information**
~101 tok
### **Step 1 - Basic Information**

**Field**

**Validation Scenario**

**Error Message**

Brand Name

Empty submission

"Please enter your business name."

Too /long

"Business name cannot exceed 100 characters."

Brand Website

Invalid format

"Please enter a valid website URL."

Phone Number

Empty submission

"Please enter your phone number."

Invalid format

"Please enter a valid phone number."
#23
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 2 - Customize Appearance**
~69 tok
### **Step 2 - Customize Appearance**

**Field**

**Validation Scenario**

**Error Message**

Primary Logo

Empty submission

"Please upload a logo."

File too large

"Please upload a file under 15MB."

Header Image

File too large

" Please upload a header image under 15MB."
#24
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 3 - Events & Services**
~108 tok
### **Step 3 - Events & Services**

**Field**

**Validation Scenario**

**Error Message**

Event Types

None selected

"Please select at least one event type."

Service Types

None selected

"Please select at least one service type."

Events Selection

Selection exceeds the limit of 50 events

"You can only select up to 50 events."

Custom Events

Duplicate entry

"Event name already exists. Please add a different event name."
#25
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 4 - Business Information**
~37 tok
### **Step 4 - Business Information**

**Field**

**Validation Scenario**

**Error Message**

ZIP/Postal Code

Empty

"Please enter the ZIP code."
#26
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 5 - Service Area**
~63 tok
### **Step 5 - Service Area**

**Field**

**Validation Scenario**

**Error Message**

Service Area

None added

"At least one service area is required."

Service Area

Service area character exceeds the limit

"Service Area cannot exceed 50 characters."
#27
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **Step 6 - Social Media**
~53 tok
### **Step 6 - Social Media**

**Field**

**Validation Scenario**

**Error Message**

Any URL field

Invalid format

"Please enter a valid URL."

Any URL field

Exceeds length

"URL cannot exceed 250 characters."
#28
**Functional Requirements Document (FRD) - Brand Setup Module** > **4\. Field Details & Validations** > **General Errors**
~64 tok
### **General Errors**

**Scenario**

**Error Message**

Session timeout

"Session timed out. Please log in again."

Server error

"Something went wrong."

Google Place API is unavailable

"Location service temporarily unavailable. Please try again later."
#29
**Functional Requirements Document (FRD) - Brand Setup Module** > **Success handling Message**
~8 tok
## **Success handling Message**
#30
**Functional Requirements Document (FRD) - Brand Setup Module** > **Success handling Message** > **General Success Messages**
~8 tok
### **General Success Messages**
#31
**Functional Requirements Document (FRD) - Brand Setup Module** > **Scenario**
~4 tok
## **Scenario**
#32
**Functional Requirements Document (FRD) - Brand Setup Module** > **Success Message**
~6 tok
## **Success Message**
#33
**Functional Requirements Document (FRD) - Brand Setup Module** > Brand setup completion
~6 tok
## Brand setup completion
#34
**Functional Requirements Document (FRD) - Brand Setup Module** > "Brand setup completed successfully!"
~10 tok
## "Brand setup completed successfully!"
#35
**Functional Requirements Document (FRD) - Brand Setup Module** > Brand details update
~6 tok
## Brand details update
#36
**Functional Requirements Document (FRD) - Brand Setup Module** > "Brand details updated successfully."
~10 tok
## "Brand details updated successfully."
#37
**Functional Requirements Document (FRD) - Brand Setup Module** > **6\. Functional Logic**
~7 tok
## **6\. Functional Logic**
#38
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.1 When No Brand is Created**
~100 tok
## **6.1 When No Brand is Created**

The users must create a brand before performing any action in the portal, as projects, events, invoices, proposals, agreements, questionnaires, emails, integrations (Stripe, QuickBooks), invite contractors and team members, and automations all depend on brand data. The users will be prompted to create a brand whenever they try to perform any of these actions.
#39
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process**
~9 tok
## **6.2. Brand Creation Process**
#40
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 1: Business Information**
~90 tok
### **Step 1: Business Information**

When an agency creates its **first** brand, the system auto-populates Business Name, Website, and Phone Number using agency data provided during the Sign Up > Agency onboarding, which users can review and edit. From the **second brand onwards**, no details are auto-fetched, and the users must enter all fields manually.
#41
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 2: Logos & Branding**
~8 tok
### **Step 2: Logos & Branding**
#42
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 2: Logos & Branding** > **Primary and Secondary Logos:**
~9 tok
#### **Primary and Secondary Logos:**
#43
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 2: Logos & Branding** > **Primary Logo →** The main visual mark of the brand. The users must upload a Primary Logo.
~24 tok
#### **Primary Logo →** The main visual mark of the brand. The users must upload a Primary Logo.
#44
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 2: Logos & Branding** > **Secondary Logo →** An alternate version of the brand’s logo.
~145 tok
#### **Secondary Logo →** An alternate version of the brand’s logo.

*   **Crop Logo:** The users can crop the logo after uploading, if required
*   The Secondary logo is used consistently across all client-facing documents and throughout the system UI as the default identifier, appearing across multiple modules such as contracts, proposals, invoices, questionnaires, emails, brand settings, client/contractor portals, integrations, forms, events, project headers, dashboards, and other UI elements. When the Secondary logo is not uploaded, the Primary logo is used by default.
#45
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 2: Logos & Branding** > **Brand Colors:** The selected color scheme defines the brand’s look across the portal.
~96 tok
#### **Brand Colors:** The selected color scheme defines the brand’s look across the portal.

*   **Color Picker** → Allows users to set brand colors either by dragging on the palette or by entering a hex code manually.
*   Brand colors are used in client-facing elements such as Lead Forms, Proposal, Invoices, and the Client Portal (Login), ensuring a customized branded experience.
#46
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 2: Logos & Branding** > **Header Image**: A banner/cover image reinforcing brand identity.
~391 tok
#### **Header Image**: A banner/cover image reinforcing brand identity.

*   **Header Images** are used mainly in the Projects header image across agency, contractors, and client portals, and the Client-Facing Proposals and Questionnaires.

**Step 3: Events, Custom Events, and Services:**

**Events:**

*   Events represent distinct occasions within a project, such as weddings, engagement ceremonies, rehearsal dinners, corporate shoots, etc. A project can have one or many events.
*   The default Events list is provided by the system. The users can create custom events as per their business requirements.
*   **Custom Events**: User-created events not included in the system defaults, allowing users to define unique event types for their operations.
*   **Event Type Management**: The user must select at least 1 Event. System events can be unselected, while custom-created events can be deleted.

**Services:**

*   Services represent the actual offerings delivered for each event.
*   The services include photography, videography, and content creation.
*   Services are linked to events, which in turn are part of a project. Multiple services can be linked to a single event.

**Preview Display** → In Events & Services, the first 4 events are shown; additional events appear in an “+n” format indicating the remaining count.

**Impact Modules** → Project & Event Management, Lead Form, Packages, Proposals, Contracts, Calendars & Availability, Automations, Contractor Management (Invite, Setup and Assign Contractor), Reports, Filters, and Brand Settings.
#47
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 4:Business Information (Address)** → The agency’s registered office address, captured during brand setup and applied across documents (e.g., contracts, invoices).
~43 tok
### **Step 4:Business Information (Address)** → The agency’s registered office address, captured during brand setup and applied across documents (e.g., contracts, invoices).
#48
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > Google Places Integration → Initially, only a search bar is visible; once a value is searched, fields like country, state, city, and zip code are auto-populated via the Google Places API along with the valid data, with manual input allowed for any missing details. For example, Zip code
~73 tok
### Google Places Integration → Initially, only a search bar is visible; once a value is searched, fields like country, state, city, and zip code are auto-populated via the Google Places API along with the valid data, with manual input allowed for any missing details. For example, Zip code
#49
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > Business Info is used in → Brand Settings, Lead Form, Proposals, Contracts
~20 tok
### Business Info is used in → Brand Settings, Lead Form, Proposals, Contracts
#50
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > **Step 5: Service Areas:**
~8 tok
### **Step 5: Service Areas:**
#51
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.2. Brand Creation Process** > Service areas define the geographic regions where an agency or brand provides its offerings. These areas can be set up dynamically based on business needs.
~309 tok
### Service areas define the geographic regions where an agency or brand provides its offerings. These areas can be set up dynamically based on business needs.

*   The user can create the same or different service areas per brand. Refer- [Click Here](#y82mf31xnb18)
*   **Impact Modules:** Project & Event Management, Lead Form, Packages, Proposals, Calendars & Availability, Automations, Contractor Management (Invite, Setup, and Assign Contractor), Reports, Filters, and Brand Settings.

**General Points (for all the steps):**

*   **Custom Appearance & Real-time Preview** – While filling in details (Business Info, Color, Logo, Header Image, Custom Appearance, Social Media Links), users see a live preview on the same page.
*   **Navigation Control** – Users cannot proceed to the next step until all required fields in the current step pass validation. They can navigate back using the Back button. Missing mandatory fields trigger inline error messages.
*   **Auto-save Functionality** – Form data auto-saves as users fill it out, ensuring persistence so they can resume later if they leave midway.
*   **Progress Tracking** – A progress indicator increases by 20% after each completed step, reaching **100% at the final step**.
#52
**Functional Requirements Document (FRD) - Brand Setup Module** > **6.3 Post-Brand Creation Impact**
~64 tok
## **6.3 Post-Brand Creation Impact**

Once a brand is created, it enables functionality across all modules in 6.1 [Agency Brand set up](https://docs.google.com/document/d/1MDX3j0CuyNREJg5020Eutf_2Tl40wzFV9SJ3JtY1DGA/edit?tab=t.0#bookmark=id.vq2rklh0bexu)
#53
**Functional Requirements Document (FRD) - Brand Setup Module** > **7\. Edge Cases**
~289 tok
## **7\. Edge Cases**

**Scenario**

**Expected Behavior**

Duplicate brand name within the agency

Show warning: "Brand name already exists in your agency. Please choose a different name."

Session timeout during file upload

Auto-save draft data, show timeout message, require re-authentication to continue

Google Places API is unavailable

Display fallback message, allow manual address entry, and retry API connection

The user exits the setup mid-process

Save current progress, allow resume from the last completed step

Maximum file upload size exceeded

Show error before upload starts, suggest image compression

Duplicate custom event name

Highlight existing events, prevent addiction, and show "already exists" message

Network connectivity loss

Buffer form data locally, sync when connection restored, show connection status

Service area limit reached (50)

When the user clicks on "the Add another" button, show a limit message, and allow removal to add new ones

If a black color code is selected by the user

The text in the CTA must automatically change to white on the black CTA button and vice versa if the white color CTA is chosen.
#54
**Functional Requirements Document (FRD) - Brand Setup Module** > **8\. Test Cases**
~5 tok
## **8\. Test Cases**
#55
**Functional Requirements Document (FRD) - Brand Setup Module** > **Test Cases:** [**Pixally Test cases - 01.04.25**](https://docs.google.com/spreadsheets/d/1RNM15mQt_Ax15liD7LeQZTvi_N01Hax4yZXSNIcN2dI/edit?gid=472614774#gid=472614774)
~43 tok
## **Test Cases:** [**Pixally Test cases - 01.04.25**](https://docs.google.com/spreadsheets/d/1RNM15mQt_Ax15liD7LeQZTvi_N01Hax4yZXSNIcN2dI/edit?gid=472614774#gid=472614774)
#56
**Functional Requirements Document (FRD) - Brand Setup Module** > **9\. Acceptance Criteria**
~289 tok
## **9\. Acceptance Criteria**

*   All form fields validate correctly according to the specified requirements
*   ​​**No Brand:** Users must create a brand before any action; the system prompts brand creation when blocked.
*   **Business Info:** First brand auto-fills from onboarding; subsequent brands require manual entry.
*   **Logos & Branding:** Primary logo mandatory, Secondary optional (used system-wide, fallback to Primary); brand colors, header image, and cropping supported.
*   **Events & Services:** At least one event required; system + custom events supported; services linked to events/projects.
*   **Business Address:** Captured via Google Places API with auto-fill + manual edits; used in contracts, invoices, and proposals.
*   **Service Areas:** Define flexible service areas per brand; applied across projects, forms, proposals, automations, and reports.
*   Data persists across sessions, and the browser refreshes. The default header image is applied when no image is uploaded
*   The progress indicator shows the correct percentage at each step
*   All error messages are displayed in the correct locations with proper formatting
#57
**Functional Requirements Document (FRD) - Brand Setup Module** > **10\. Dependencies**
~87 tok
## **10\. Dependencies**

**Module/System**

**Dependency Type**

**Impact if Unavailable**

Google Places API

External API

Manual address entry required, no auto-complete

User Authentication

Internal Module

Cannot access the brand setup, no permission validation

Dashboard Module

Internal Module

Cannot navigate back to the main interface
#58
**Functional Requirements Document (FRD) - Brand Setup Module** > **11\. References**
~44 tok
## **11\. References**

• **Figma Design Link:** [Brand Setup UI Design](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=13406-338056&t=KLzBXOilGEiPrqyT-0)