← FRD Management
3. Agency Brand set up_
Pixally CRM

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

Functional Requirements Document (FRD) - Brand Setup Module

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

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

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

4. Field Details & Validations

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

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

Secondary Logo

No

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

Size- max 15 MB

Refer- Click Here

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.

–

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

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.

--

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.

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

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

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."

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."

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."

Step 4 - Business Information

Field

Validation Scenario

Error Message

ZIP/Postal Code

Empty

"Please enter the ZIP code."

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."

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."

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."

Success handling Message

General Success Messages

Scenario

Success Message

Brand setup completion

"Brand setup completed successfully!"

Brand details update

"Brand details updated successfully."

6. Functional Logic

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.

6.2. Brand Creation Process

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.

Step 2: Logos & Branding

Primary and Secondary Logos:

Primary Logo → The main visual mark of the brand. The users must upload a Primary Logo.

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.

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.

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.

Step 4:Business Information (Address) → The agency’s registered office address, captured during brand setup and applied across documents (e.g., contracts, invoices).

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

Business Info is used in → Brand Settings, Lead Form, Proposals, Contracts

Step 5: Service Areas:

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
  • 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.

6.3 Post-Brand Creation Impact

Once a brand is created, it enables functionality across all modules in 6.1 Agency Brand set up

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.

8. Test Cases

Test Cases: Pixally Test cases - 01.04.25

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

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

11. References

• Figma Design Link: Brand Setup UI Design

Linked tickets (0)

No tickets linked — generate test cases directly from this FRD instead.

—