← 14. Questionnaires
Chunks — 14. Questionnaires
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.
382 chunks · ~38,397 tokens
#1
(intro)
~60 tok
☑️ Client Questionnaires List View **Questionnaires Module** **Functional Requirement Document** **BA & Ideation: Paul Sangma** **Reviewed By: KG (Project Manager)** **Updated Date: 26 December 2025 Status: Approved** **Version 1.0**
#2
**Functional Requirements Document (FRD) - Client Questionnaires List View**
~20 tok
# **Functional Requirements Document (FRD) - Client Questionnaires List View**
#3
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **1\. Module Overview**
~7 tok
## **1\. Module Overview**
#4
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **1\. Module Overview** > **1.1 Module Name**
~14 tok
### **1.1 Module Name** Client Questionnaires List View
#5
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **1\. Module Overview** > **1.2 Purpose**
~83 tok
### **1.2 Purpose** The Client Questionnaires List View provides agency users with a centralized interface to view, manage, and perform actions on all client questionnaire templates. This module serves as the primary landing page for accessing client-facing questionnaire templates under the Templates section of the CRM platform.
#6
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **1\. Module Overview** > **1.3 Business Goals**
~130 tok
### **1.3 Business Goals** * Enable agencies to efficiently manage and organize client questionnaire templates in a single view. * Provide quick access to template actions such as view, edit, duplicate, share, and delete. * Allow agencies to filter and search templates by brand for multi-brand management. * Display response metrics to help agencies track questionnaire engagement and completion rates. * Support streamlined workflows by integrating with the questionnaire builder and sharing functionality.
#7
**Functional Requirements Document (FRD) - Client Questionnaires List View** >
~1 tok
##
#8
**Functional Requirements Document (FRD) - Client Questionnaires List View** >
~1 tok
##
#9
**Functional Requirements Document (FRD) - Client Questionnaires List View** >
~1 tok
##
#10
**Functional Requirements Document (FRD) - Client Questionnaires List View** >
~1 tok
##
#11
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **2\. User Roles & Permissions**
~146 tok
## **2\. User Roles & Permissions** **Role** **View List** **Create Template** **Edit Template** **Delete Template** **Duplicate Template** **Share Template** Agency Owner ✓ ✓ ✓ ✓ ✓ ✓ Agency Admin ✓ ✓ ✓ ✓ ✓ ✓ Team Member ✓ ✓ ✓ x ✓ ✓ **Notes:** * All users with access to the Templates module can view the Client Questionnaires list. * Delete permissions may be restricted based on role-based access control (RBAC) settings configured by the Agency Owner/Admin. * Users can only view and manage templates associated with brands they have access to.
#12
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **3\. User Flow**
~531 tok
## **3\. User Flow** 3.1 The user navigates to the side navigation menu and clicks on "Templates" to expand the submenu. 3.2 The user clicks on "Questionnaire" from the Templates submenu options. 3.3 The system loads the Questionnaires landing page with the "Client Questionnaires" tab selected by default. 3.4 The system checks if any client questionnaire templates exist for the user's accessible brands. 3.5 If no templates exist (zero state), the system displays a welcome message with a prominent "Create" CTA button. 3.6 If templates exist (non-zero state), the system displays the list of client questionnaire templates in a paginated table format. 3.7 The user can use the search bar to search for templates by name. 3.8 The system filters the table results in real-time as the user types in the search bar. 3.9 The user can click on the filter icon to open the Filters Drawer. 3.10 The system displays the Filters Drawer with a "Brands" dropdown for filtering by brand. 3.11 The user selects a brand from the dropdown to filter the list. 3.12 The system updates the table to show only templates associated with the selected brand. 3.13 The user can click the reset icon in the Filters Drawer to clear all applied filters. 3.14 The user can click on the "View" icon in the Actions column to view a template in read-only mode. 3.15 The user can click on the "Edit" icon in the Actions column to open the template in edit mode. 3.16 The user can click on the kebab menu (⋮) icon in the Actions column to access additional options. 3.17 The system displays a dropdown menu with options: Duplicate Template, View Template, Share Questionnaire, and Delete Template. 3.18 The user can click on "+ Create" button to create a new client questionnaire template. 3.19 The system displays a dropdown with options: "Client Questionnaire" and "Contractor Questionnaire". 3.20 The user selects "Client Questionnaire" and the system opens the New Client Questionnaire modal. 3.21 The user can adjust pagination settings using the "Rows per page" dropdown or navigate between pages using the pagination controls.
#13
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **4\. Functional Logic**
~7 tok
## **4\. Functional Logic**
#14
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **4\. Functional Logic** > **4.1 Navigation and Access**
~133 tok
### **4.1 Navigation and Access** * The Questionnaires module is accessible via the side navigation path: Templates → Questionnaire. * The system loads the Client Questionnaires tab as the default selected tab when the user accesses the Questionnaires landing page. * The system displays the Contractor Questionnaires tab adjacent to the Client Questionnaires tab, allowing users to switch between the two views. * Users can only access templates associated with brands they have been granted access to within the system.
#15
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **4\. Functional Logic** > **4.2 Empty State**
~123 tok
### **4.2 Empty State** * When no client questionnaire templates exist for the user's accessible brands, the system displays an empty state view. * The empty state displays a welcome message: "Create and share questionnaires with clients, and view their responses in one place.” * The empty state includes a prominent "Create" CTA button to encourage template creation. * The search bar, filter icon, and pagination controls remain visible but are functionally inactive in zero state.
#16
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **4\. Functional Logic** > **4.3 List View**
~192 tok
### **4.3 List View** * The system displays all client questionnaire templates in a table format with the following columns: Name, Brand, Replies, and Actions. * The "Name" column displays the questionnaire template name as a clickable text that opens the template in view mode. * The "Brand" column displays the associated brand name for each template. * The "Replies" column displays the count of completed responses received for the questionnaire template. * The "Actions" column contains three action icons: View (eye icon), Edit (pencil icon), and Kebab menu (⋮) for additional actions. * The table data is sorted alphabetically by template name by default. * Each row in the table represents one questionnaire template with its associated metadata.
#17
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **4\. Functional Logic** > **4.4 Search Functionality**
~278 tok
### **4.4 Search Functionality** * The search bar is positioned at the top of the table area, adjacent to the filter icon, and is available on both the Client Questionnaires and Contractor Questionnaires tabs. * The search functionality allows users to search by template name only. * The system performs real-time filtering as the user types, with no need to press Enter or click a search button. * Search is case-insensitive and matches partial strings within the template name field. * **Client Questionnaires Tab:**When the search query returns no matching templates on either tab, the system displays a unified empty state with the message: "No results found" along with the subtext: "No items match your search. Try adjusting your keywords or clearing the search." * This search empty state is consistent across both the Client Questionnaires tab and the Contractor Questionnaires tab and replaces any tab-specific empty state messaging when a search is active.. * Clearing the search bar restores the full list of templates across both sections with any other active filters still applied.
#18
**Functional Requirements Document (FRD) - Client Questionnaires List View** > **4\. Functional Logic** > **4.5 Filter Functionality**
~288 tok
### **4.5 Filter Functionality** * The filter icon is positioned adjacent to the search bar in the table header area. * Clicking the filter icon opens the Filters Drawer as a slide-in panel from the right side of the screen. * The Filters Drawer contains a "Brands" dropdown as a single-select field. * The Brands dropdown is populated with all brands the user has access to within their account. * The default state of the Brands dropdown shows placeholder text: "Select a brand". * Selecting a brand immediately filters the table to show only templates associated with that brand. * The Filters Drawer includes a reset icon button at the top right to clear all applied filters. * Clicking the reset icon clears the brand selection and restores the full unfiltered list. * Users can close the Filters Drawer by clicking outside the drawer or clicking a close button. * Applied filters persist during the session until manually cleared or the page is refreshed. * If no questionnaires matched the applied filters, **No results found “**_No items match the selected filters. Try adjusting or reset your filters to see results.”_
#19
**4.5.1 Combined Search & Filter Behavior**
~143 tok
# **4.5.1 Combined Search & Filter Behavior** * Search and filter operate independently and work together — users can search within filtered results or apply filters to narrowed search results. * Clearing the search input does not reset applied filters, and resetting filters does not clear the search input. * When both search and filters are active and no results match, the corresponding empty state message is displayed for the respective tab and section. * Pagination state resets to page 1 when a search query is entered or filters are applied or cleared.
#20
**4.5.1 Combined Search & Filter Behavior** > **4.6 Pagination**
~157 tok
### **4.6 Pagination** * The table implements pagination with a default display of 10 rows per page. * The "Rows per page" dropdown allows users to select from options: 10, 25, 50, 100. * The pagination control displays the current page range (e.g., "1-10 of 64"). * Previous (<) and Next (>) navigation icons allow users to move between pages. * The Previous icon is disabled when on the first page. * The Next icon is disabled when on the last page. * Changing the rows per page selection resets the view to page 1 with the new row count applied. * Pagination state resets when filters are applied or cleared.
#21
**4.5.1 Combined Search & Filter Behavior** > **4.7 View Template Action**
~125 tok
### **4.7 View Template Action** * Clicking the View icon (eye) opens the questionnaire template in read-only mode. * The read-only view displays all questions and configuration settings without edit capability. * The read-only view includes a "Preview" button to see the respondent's view of the questionnaire. * The read-only view includes a "Share Questionnaire" button to open the sharing modal. * Users can navigate back to the list view using the back arrow in the template header.
#22
**4.5.1 Combined Search & Filter Behavior** > **4.8 Edit Template Action**
~163 tok
### **4.8 Edit Template Action** * Clicking the Edit icon (pencil) opens the questionnaire template in edit mode within the template builder. * The edit mode loads the existing template content, including all questions, settings, colors, and fonts. * All editing capabilities available during template creation are available in edit mode. * Users can rename the questionnaire in the template builder by editing the name field in the header * Users can save changes as a draft using "Save as Template" or publish using the "Publish" button. * After saving or publishing, the system redirects the user back to the Client Questionnaires tab.
#23
**4.5.1 Combined Search & Filter Behavior** > **4.9 Kebab Menu Actions**
~29 tok
### **4.9 Kebab Menu Actions** * Clicking the kebab menu (⋮) icon displays a dropdown with four action options.
#24
**4.5.1 Combined Search & Filter Behavior** > **4.9 Kebab Menu Actions** > **4.9.1 Duplicate Template**
~286 tok
#### **4.9.1 Duplicate Template**
* Selecting "Duplicate Template" creates an exact copy of the selected questionnaire template.
* The duplicated template naming follows a specific convention:
* The system extracts the base name by removing any existing "Copy of" prefix and sequential numbering (e.g., "(1)", "(2)").
* The system checks existing Client Questionnaire templates to find the next available sequential number for that base name.
* The new duplicate is named "Copy of \[Base Name\]" if no copies exist, or "Copy of \[Base Name\](N)" where N is the next sequential number.
* Example: Original: "Wedding Questionnaire" → First copy: "Copy of Wedding Questionnaire" - Copying again (original or the copy): "Copy of Wedding Questionnaire(1)" - Copying again: "Copy of Wedding Questionnaire(2)" - If "Copy of Wedding Questionnaire" and "Copy of Wedding Questionnaire(1)" exist, copying any of them creates "Copy of Wedding Questionnaire(2)"
* The duplicated template is saved in draft state (not published) until the user explicitly publishes it.
* The original template remains unchanged after duplication.#25
**4.5.1 Combined Search & Filter Behavior** > **4.9 Kebab Menu Actions** > **4.9.2 View Template**
~52 tok
#### **4.9.2 View Template** * Selecting "View Template" performs the same action as clicking the View icon. * The template opens in read-only mode with Preview and Share Questionnaire options available.
#26
**4.5.1 Combined Search & Filter Behavior** > **4.9 Kebab Menu Actions** > **4.9.3 Share Questionnaire**
~79 tok
#### **4.9.3 Share Questionnaire** * Selecting "Share Questionnaire" opens the email composition modal directly. * The modal allows users to select recipients, customize the subject and message, and send the questionnaire. * This option provides a shortcut to sharing without entering the full template view.
#27
**4.5.1 Combined Search & Filter Behavior** > **4.9 Kebab Menu Actions** > **4.9.4 Delete Template**
~189 tok
#### **4.9.4 Delete Template** * Selecting "Delete Template" triggers a confirmation dialog before deletion. * The confirmation dialog displays: "Are you sure you want to delete this template? This action cannot be undone." * The system performs a soft delete, flagging the template as deleted without permanently removing data. * Previously sent questionnaires and collected responses remain accessible after template deletion. * If the template is currently used in any Automation workflow, the system blocks deletion and displays an error message. * Upon successful deletion, the template is removed from the list view, and a success message is displayed. * After deletion, the list view refreshes to reflect the updated template count.
#28
**4.5.1 Combined Search & Filter Behavior** > **4.10 Create New Template**
~347 tok
### **4.10 Create New Template** * Clicking the "+ Create" button displays a dropdown menu with two options: "Client Questionnaire" and "Contractor Questionnaire". * Selecting "Client Questionnaire" opens the New Client Questionnaire modal. * The modal displays a "Brand" dropdown field as a mandatory selection. * If the user has only one brand associated with their account, the brand is auto-selected in the dropdown. * The modal contains two action buttons: "Cancel" and "Create Questionnaire". * Clicking "Cancel" closes the modal and returns the user to the list view without any changes. * Clicking "Create Questionnaire" validates that a brand is selected and proceeds to open the template builder. * If no brand is selected, the system displays a validation error: "Please select a brand". * Automatic Name Assignment * Upon clicking "Create Questionnaire", the system automatically assigns a default name to the new template. * The default naming convention follows this pattern: - First template: "Client Questionnaire" - Second template: "Client Questionnaire 1" - Third template: "Client Questionnaire 2" - And so on… * Users can rename the questionnaire later in the template builder by editing the name field in the header. * Upon successful creation initiation, the system navigates to the template builder with default template structure loaded.
#29
**4.5.1 Combined Search & Filter Behavior** >
~1 tok
##
#30
**4.5.1 Combined Search & Filter Behavior** > **5\. Field Details & Validations**
~10 tok
## **5\. Field Details & Validations**
#31
**4.5.1 Combined Search & Filter Behavior** > **5\. Field Details & Validations** > **5.1 List View Table Columns**
~102 tok
### **5.1 List View Table Columns** **Field Name** **Field Type** **Description** **Validation Rules** Name Text (Display) Questionnaire template name Clickable, opens view mode Brand Text (Display) Associated brand name Read-only display Replies Number (Display) Count of completed responses Non-negative integer, read-only Actions Icon Buttons View, Edit, Kebab menu Interactive icons
#32
**4.5.1 Combined Search & Filter Behavior** > **5\. Field Details & Validations** > **5.2 Search Field**
~48 tok
### **5.2 Search Field** **Field Name** **Field Type** **Description** **Validation Rules** Search Text Input Search by name No limit in character input, alphanumeric and spaces allowed
#33
**4.5.1 Combined Search & Filter Behavior** > **5\. Field Details & Validations** > **5.3 Filter Fields**
~50 tok
### **5.3 Filter Fields** **Field Name** **Field Type** **Description** **Validation Rules** Brands Dropdown (Single Select) Filter by brand Optional, populated from user's accessible brands
#34
**4.5.1 Combined Search & Filter Behavior** > **5\. Field Details & Validations** > **5.4 Pagination Controls**
~64 tok
### **5.4 Pagination Controls** **Field Name** **Field Type** **Description** **Validation Rules** Rows per page Dropdown Number of rows displayed Options: 10, 25, 50, 100 Page navigation Icon Buttons Previous/Next page Disabled at boundaries
#35
**4.5.1 Combined Search & Filter Behavior** > **5\. Field Details & Validations** > **5.5 New Client Questionnaire Modal**
~55 tok
### **5.5 New Client Questionnaire Modal** **Field Name** **Field Type** **Description** **Validation Rules** Brand Dropdown (Single Select) Select a brand for the template Mandatory, auto-selected if single brand
#36
**4.5.1 Combined Search & Filter Behavior** > **6\. Success Message Handling**
~161 tok
## **6\. Success Message Handling** **Action** **Success Message** **Trigger Condition** **Post-Success Behavior** Delete Template "Questionnaire template deleted successfully." User confirms deletion and template is not used in Automation List view refreshes, template removed from list Duplicate Template "Questionnaire template duplicated successfully." User clicks Duplicate and copy is created Duplicates the template Filter Applied No message (silent) User selects brand from filter Table updates with filtered results Filter Cleared No message (silent) User clicks reset icon Table updates with full unfiltered list
#37
**4.5.1 Combined Search & Filter Behavior** > **7\. Error Message Handling**
~279 tok
## **7\. Error Message Handling** **Error Scenario** **Error Message** **Trigger Condition** **User Action Required** Delete template used in Automation "This Questionnaire template is already used in Automation, kindly modify Automation before deleting the Questionnaire template." User attempts to delete a template linked to an active Automation User must remove template from Automation workflow first No brand selected during creation "Please select a brand." User clicks "Create Questionnaire" without selecting a brand User must select a brand from the dropdown Search returns no results "No results found" along with the subtext: "No items match your search. Try adjusting your keywords or clearing the search." Search query matches no templates User can modify search term or clear search Network error on page load "Unable to load questionnaire templates. Please try again." API call fails due to network issues User can refresh the page or try again later Network error on delete "Failed to delete template. Please try again." Delete API call fails User can retry the delete action
#38
**4.5.1 Combined Search & Filter Behavior** > **8\. Edge Cases**
~392 tok
## **8\. Edge Cases** **Edge Case** **Scenario Description** **Expected System Behavior** Single brand account User has only one brand associated with their account Brand is auto-selected in the New Client Questionnaire modal No brands configured User account has no brands set up Display message: "Please configure at least one brand to create questionnaire templates" with link to brand settings Large dataset More than 1000 templates exist Pagination handles efficiently, search and filter remain performant Special characters in search User enters special characters like @, #, $ System sanitizes input and performs search, no results shown if no match Concurrent deletion Two users attempt to delete same template simultaneously First deletion succeeds, second user sees error: "Template no longer exists or has been deleted" Template name truncation Template name exceeds display width Name is truncated with ellipsis (...), full name shown on hover tooltip Zero replies Template has never been sent or has no completed responses Replies column displays "0" Browser back navigation User presses browser back after opening edit mode System returns to list view, unsaved changes in edit mode are lost with confirmation prompt Session timeout during action User session expires while on list view System redirects to login page, user returns to list view after re-authentication Filter with no matching templates Selected brand has no associated templates Display message: "No questionnaire templates found for the selected brand"
#39
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria**
~8 tok
## **9\. Acceptance Criteria**
#40
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.1 Navigation and Access**
~73 tok
### **9.1 Navigation and Access** * Users can access the Questionnaires module via Templates → Questionnaire navigation path. * The Client Questionnaires tab is selected by default when the page loads. * Users can switch between Client Questionnaires and Contractor Questionnaires tabs.
#41
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.2 Zero State**
~61 tok
### **9.2 Zero State** * Empty state displays when no templates exist with appropriate welcome message. * Create CTA button is prominently displayed in empty state. * Clicking Create button shows dropdown with Client/Contractor options.
#42
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.3 List View Display**
~54 tok
### **9.3 List View Display** * All client questionnaire templates display in paginated table format. * Table shows Name, Brand, Replies, and Actions columns. * Replies count reflects only completed responses.
#43
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.4 Search Functionality**
~51 tok
### **9.4 Search Functionality** * Search bar filters results by template name and brand name. * Search is case-insensitive and supports partial matching. * Real-time filtering occurs as user types.
#44
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.5 Filter Functionality**
~52 tok
### **9.5 Filter Functionality** * Filter drawer opens when filter icon is clicked. * Brand dropdown is single-select with all accessible brands. * Reset icon clears all filters and restores full list.
#45
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.6 Pagination**
~47 tok
### **9.6 Pagination** * Default pagination shows 10 rows per page. * Users can change rows per page (10, 25, 50, 100). * Previous/Next navigation works correctly at page boundaries.
#46
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.7 Template Actions**
~204 tok
### **9.7 Template Actions** * View icon opens template in read-only mode. * Edit icon opens template in edit mode with all content loaded. * Kebab menu displays Duplicate, View, Share, Delete options. * Duplicate creates copy with "Copy of" prefix in draft state. * Delete performs soft delete with confirmation dialog. * Delete is blocked if template is used in Automation with appropriate error message. **9.8 Duplicate Template** * Duplicate creates copy with "Copy of \[Base Name\]" naming convention. * Subsequent duplicates use sequential numbering: "Copy of \[Base Name\](1)", "(2)", etc. * System extracts base name by removing existing "Copy of" prefix and numbering. * Duplicating any copy (original or nth copy) creates next sequential number. * Duplicate is saved in draft state.
#47
**4.5.1 Combined Search & Filter Behavior** > **9\. Acceptance Criteria** > **9.9 Create Template**
~87 tok
### **9.9 Create Template** * Create button dropdown shows Client and Contractor options. * New Client Questionnaire modal opens with Brand dropdown. * Brand auto-selects if user has single brand. * Validation prevents creation without brand selection. * System auto-assigns name: "Client Questionnaire", "Client Questionnaire 1", etc.
#48
**4.5.1 Combined Search & Filter Behavior** > **10\. Manual Test Cases**
~61 tok
## **10\. Manual Test Cases** Test cases for this module are documented in the consolidated test cases Excel file: **Refer:** [Click Here](https://docs.google.com/spreadsheets/d/1ij-Yq6QE-7rwz9L6zsWApiC4gqEMxSuDLks79NdeKjU/edit?usp=drive_link)
#49
**4.5.1 Combined Search & Filter Behavior** > **11\. Dependencies**
~202 tok
## **11\. Dependencies** **Dependency Type** **Module/Service** **Description** **Impact if Unavailable** Internal Module Brand Management Provides list of brands for filter and template creation Cannot filter by brand or create new templates Internal Module Automation Module Validates template usage before deletion Deletion validation will not work; risk of breaking automations Internal Module Template Builder Opens for edit/create actions Cannot create or edit templates Internal Module Share Questionnaire Enables email sharing functionality Share functionality unavailable API Service Questionnaire Templates API CRUD operations for templates List view, actions will not function API Service Response Count API Provides reply counts Replies column shows error or stale data
#50
**4.5.1 Combined Search & Filter Behavior** > **12\. References**
~47 tok
## **12\. References** **Refer:** [Click Here](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=21396-93305&t=KIQYn2fx03Ac8LOD-0) ☑️ Contractor Questionnaire List View
#51
**Functional Requirements Document (FRD)**
~11 tok
# **Functional Requirements Document (FRD)**
#52
**Functional Requirements Document (FRD)** > **Module: Contractor Questionnaires List View**
~13 tok
## **Module: Contractor Questionnaires List View**
#53
**Functional Requirements Document (FRD)** > **1\. Module Overview**
~7 tok
## **1\. Module Overview**
#54
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.1 Module Name**
~15 tok
### **1.1 Module Name** Contractor Questionnaire List View
#55
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.2 Purpose**
~116 tok
### **1.2 Purpose** The Contractor Questionnaire List View provides agency users with a centralized interface to view and manage contractor-facing questionnaire templates. This module displays two distinct categories of contractor questionnaires: Post-Event Questionnaires (automated feedback collection linked to specific services) and General Contractor Questionnaires (manually triggered or automation-driven questionnaires for ongoing contractor management).
#56
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.3 Business Goals**
~161 tok
### **1.3 Business Goals** * Enable agencies to manage post-event feedback collection from contractors through service-specific questionnaire templates. * Provide automation capability for sending post-event questionnaires automatically after event completion. * Allow agencies to create unlimited general contractor questionnaires for flexible contractor engagement. * Support multi-brand management with brand-specific contractor questionnaire templates. * Track response metrics to measure contractor engagement and feedback completion rates. * Integrate with the Automation module for workflow-driven questionnaire distribution.
#57
**Functional Requirements Document (FRD)** >
~1 tok
##
#58
**Functional Requirements Document (FRD)** >
~1 tok
##
#59
**Functional Requirements Document (FRD)** > **2\. User Roles & Permissions**
~150 tok
## **2\. User Roles & Permissions** **Role** **View List** **Create General Template** **Edit Template** **Delete General Template** **Duplicate Template** **Share Template** **Toggle Auto-Send** Agency Owner ✓ ✓ ✓ ✓ ✓ ✓ ✓ Agency Admin ✓ ✓ ✓ ✓ ✓ ✓ ✓ Team Member ✓ ✓ ✓ x ✓ ✓ x **Notes:** * Post-Event Questionnaires cannot be created or deleted by any user; only editing is permitted. * The "Automatically Send to Contractors" toggle requires appropriate permissions to modify. * Users can only view and manage templates associated with brands they have access.
#60
**Functional Requirements Document (FRD)** > **3\. User Flow**
~614 tok
## **3\. User Flow** 3.1 The user navigates to the side navigation menu and clicks on "Templates" to expand the submenu. 3.2 The user clicks on "Questionnaire" from the Templates submenu options. 3.3 The system loads the Questionnaires landing page with the "Client Questionnaires" tab selected by default. 3.4 The user clicks on the "Contractor Questionnaires" tab to switch to the contractor questionnaire view. 3.5 The system loads the Contractor Questionnaires tab, displaying two sections: Post-Event Questionnaires and General Contractor Questionnaires. 3.6 The system displays the "Automatically Send to Contractors" toggle at the top of the Post-Event Questionnaires section. 3.7 The user can toggle the auto-send switch to enable or disable automatic post-event questionnaire delivery. 3.8 The system displays the Post-Event Questionnaire table with pre-loaded service-specific templates (Photography, Videography, Content Creation). 3.9 The user can scroll down to view the General Contractor Questionnaires section below the Post-Event section. 3.10 The user can use the search bar to search for templates by name or brand across both sections. 3.11 The user can click on the filter icon to open the Filters Drawer for brand filtering. 3.12 The user selects a brand from the dropdown to filter the list. 3.13 The system updates both tables to show only templates associated with the selected brand. 3.14 The user can click on the "View" icon in the Actions column to view a template in read-only mode. 3.15 The user can click on the "Edit" icon in the Actions column to open the template in edit mode. 3.16 The user can click on the kebab menu (⋮) icon in the Actions column to access additional options. 3.17 For Post-Event Questionnaires, the kebab menu displays: View Template, Share Questionnaire (Duplicate and Delete options are not available). 3.18 For General Contractor Questionnaires, the kebab menu displays: Duplicate Template, View Template, Share Questionnaire, Delete Template. 3.19 The user can click on "+ Create" button and select "Contractor Questionnaire" to create a new general contractor questionnaire template. 3.20 The system opens the New Contractor Questionnaire modal with Brand dropdown field. 3.21 The user can adjust pagination settings for each table section independently. 3.22 The system automatically assigns a default name following the naming convention and opens the template builder.
#61
**Functional Requirements Document (FRD)** > **4\. Functional Logic**
~7 tok
## **4\. Functional Logic**
#62
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Navigation and Tab Structure**
~121 tok
### **4.1 Navigation and Tab Structure** * The Questionnaires module is accessible via the side navigation path: Templates → Questionnaire. * The Contractor Questionnaires tab is positioned adjacent to the Client Questionnaires tab in the tab navigation. * Clicking on the Contractor Questionnaires tab loads the contractor questionnaire view with both sections visible. * The tab maintains its selected state during the session until the user navigates away from the module.
#63
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Page Layout Structure**
~297 tok
### **4.2 Page Layout Structure** * The Contractor Questionnaires page is divided into two distinct sections displayed vertically. * The Post-Event Questionnaires section appears at the top of the page. * The General Contractor Questionnaires section appears below the Post-Event section with clear visual separation. * Each section has its own table header, data rows, and pagination controls. * The search bar and filter functionality apply to both sections simultaneously. **Empty State - General Contractor Questionnaires** * When no general contractor questionnaire templates exist, the system displays an empty state view in the General Contractor Questionnaires section. * The empty state displays an icon placeholder followed by the message: "No General Questionnaires found." * Below the message, the system displays a description: "Create and share questionnaires with contractors, and view their responses in one place." * The empty state includes a prominent "Create +" CTA button to encourage template creation. * The Post-Event Questionnaires section above remains fully functional and independent of the General Contractor Questionnaires empty state.
#64
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Post-Event Questionnaires Section**
~11 tok
### **4.3 Post-Event Questionnaires Section**
#65
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Post-Event Questionnaires Section** > **4.3.1 Section Overview**
~139 tok
#### **4.3.1 Section Overview** * Post-Event Questionnaires are pre-loaded system templates linked to specific service types. * The system creates three Post-Event Questionnaire templates per brand based on the services configured during brand setup. * Templates are created for: Photography, Videography, and Content Creation services. * Users cannot create new Post-Event Questionnaire templates; they can only edit existing templates. * Users cannot delete Post-Event Questionnaire templates to preserve process integrity and historical data.
#66
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Post-Event Questionnaires Section** > **4.3.2 Automatically Send to Contractors Toggle**
~200 tok
#### **4.3.2 Automatically Send to Contractors Toggle** * The toggle is positioned at the top of the Post-Event Questionnaires section header. * The toggle is enabled (ON) by default when the brand is first created. * When enabled, the system automatically sends the appropriate Post-Event Questionnaire to contractors the day after the event ends. * The questionnaire is matched to contractors based on their service type assignment for the event. * When disabled, Post-Event Questionnaires are not sent automatically and must be sent manually by the agency. * The toggle state persists and applies to all Post-Event Questionnaires within the brand. * Changing the toggle state takes effect immediately for future events; it does not affect already scheduled or sent questionnaires.
#67
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Post-Event Questionnaires Section** > **4.3.3 Automatic Sending Logic**
~173 tok
#### **4.3.3 Automatic Sending Logic** * The system checks for events that ended on the previous day during a daily scheduled job. * For each completed event with the toggle enabled, the system identifies all contractors assigned to that event. * Each contractor receives the Post-Event Questionnaire template matching their service type. * If an event has two photographers and three videographers, photographers receive the Photography template and videographers receive the Videography template. * The questionnaire is sent via email and also appears in the contractor's portal under Files/Documents. * The system logs the automatic send action in the questionnaire activity.
#68
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Post-Event Questionnaires Section** > **4.3.4 Post-Event Questionnaires Table Columns**
~102 tok
#### **4.3.4 Post-Event Questionnaires Table Columns** * The table displays the following columns: Name, Service Type, Brand, Replies, Actions. * The "Service Type" column displays the associated service: Photography, Videography, or Content Creation. * The "Replies" column shows the count of completed responses from contractors. * The "Actions" column contains View, Edit, and Kebab menu icons.
#69
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Post-Event Questionnaires Section** > **4.3.5 Post-Event Questionnaire Kebab Menu**
~66 tok
#### **4.3.5 Post-Event Questionnaire Kebab Menu** * The kebab menu for Post-Event Questionnaires includes: View Template, Share Questionnaire. * The “Duplicate” and "Delete” template options are intentionally excluded to prevent deletion of system templates.
#70
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 General Contractor Questionnaires Section**
~13 tok
### **4.4 General Contractor Questionnaires Section**
#71
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 General Contractor Questionnaires Section** > **4.4.1 Section Overview**
~100 tok
#### **4.4.1 Section Overview** * General Contractor Questionnaires are user-created templates for flexible contractor engagement. * Users can create unlimited General Contractor Questionnaire templates. * Templates can be sent manually to contractors or triggered via Automation workflows. * Users have full control to create, edit, duplicate, and delete General Contractor Questionnaires.
#72
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 General Contractor Questionnaires Section** > **4.4.2 Section Header**
~97 tok
#### **4.4.2 Section Header** * The section displays a header: "General Contractor Questionnaires" with an information icon. * Hovering over the information icon displays a tooltip explaining the purpose of general questionnaires. * Tooltip text: "General contractor questionnaires can be sent anytime to gather information about contractors, their expertise, and work preferences."
#73
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 General Contractor Questionnaires Section** > **4.4.3 General Contractor Questionnaires Table Columns**
~95 tok
#### **4.4.3 General Contractor Questionnaires Table Columns** * The table displays the following columns: Name, Brand, Replies, Actions. * Unlike Post-Event Questionnaires, this table does not include a "Service Type" column. * The "Replies" column shows the count of completed responses from contractors. * The "Actions" column contains View, Edit, and Kebab menu icons.
#74
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 General Contractor Questionnaires Section** > **4.4.4 General Contractor Questionnaire Kebab Menu**
~72 tok
#### **4.4.4 General Contractor Questionnaire Kebab Menu** * The kebab menu includes all four options: Duplicate Template, View Template, Share Questionnaire, Delete Template. * Delete functionality follows the same rules as Client Questionnaires (soft delete with Automation check).
#75
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Search Functionality**
~153 tok
### **4.5 Search Functionality** * The search bar is positioned at the top of the page, above both sections. * Search functionality filters templates across both Post-Event and General Contractor Questionnaires simultaneously. * Users can search by template name only. * The system performs real-time filtering as the user types. * Search is case-insensitive and supports partial string matching. * When search results return no matches in either section, both tables display "No results found" along with the subtext: "No items match your search. Try adjusting your keywords or clearing the search."
#76
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Filter Functionality**
~167 tok
### **4.6 Filter Functionality** * The filter icon is positioned adjacent to the search bar. * Clicking the filter icon opens the Filters Drawer from the right side. * The Filters Drawer contains a "Brands" single-select dropdown. * Selecting a brand filters both Post-Event and General Contractor Questionnaires tables. * The reset icon clears the brand filter and restores the full unfiltered view for both sections. * Applied filters persist during the session until manually cleared. * If no questionnaires matched the applied filters, **No results found “**_No items match the selected filters. Try adjusting or reset your filters to see results.”_
#77
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Pagination**
~91 tok
### **4.7 Pagination** * Each section (Post-Event and General Contractor Questionnaires) has independent pagination controls. * Default pagination displays 10 rows per page for each section. * Users can change rows per page independently for each section. * Pagination controls follow the same behavior as described in the Client Questionnaires list view.
#78
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Create New General Contractor Questionnaire**
~353 tok
### **4.8 Create New General Contractor Questionnaire** * Clicking the "+ Create" button displays a dropdown with "Client Questionnaire" and "Contractor Questionnaire" options. * Selecting "Contractor Questionnaire" opens the New Contractor Questionnaire modal. * The modal contains a "Brand" dropdown field (mandatory, single-select). * If the user has only one brand, it is auto-selected. * The modal does not include a "Questionnaire Type" selection; all new contractor questionnaires are created as General type. * Clicking "Create Questionnaire" navigates to the template builder. * Upon clicking "Create Questionnaire", the system automatically assigns a default name to the new template. * The default naming convention follows this pattern: - First template: "Contractor Questionnaire" - Second template: "Contractor Questionnaire 1" - Third template: "Contractor Questionnaire 2" - And so on... * The system checks existing General Contractor Questionnaire template names to determine the next available number in the sequence. * The numbering check is performed only within General Contractor Questionnaires for the selected brand. * Upon successful creation initiation, the system navigates to the template builder with the default template structure and auto-assigned name loaded. * After publishing, the new template appears in the General Contractor Questionnaires section.
#79
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 View Template Action**
~127 tok
### **4.9 View Template Action** * Clicking the View icon opens the questionnaire template in read-only mode. * The view mode displays all questions, settings, and configurations without edit capability. * The Settings panel shows "Questionnaire Type" as a read-only field displaying "Post-Event Questionnaire" or "General" based on the template type. * For Post-Event templates, the Service Type is also displayed as read-only. * Preview and Share Questionnaire buttons are available in view mode.
#80
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Edit Template Action**
~120 tok
### **4.10 Edit Template Action** * Clicking the Edit icon opens the template in the questionnaire builder with all content loaded. * Users can modify questions, settings, colors, and fonts. * For Post-Event Questionnaires, the Questionnaire Type (Post-Event) and Service Type are read-only and cannot be changed. * Changes are saved using "Save as Template" (draft) or "Publish" (live). * After saving, the user is redirected back to the Contractor Questionnaires tab.
#81
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.11 Delete Template Action (General Contractor Questionnaires Only)**
~132 tok
### **4.11 Delete Template Action (General Contractor Questionnaires Only)** * Delete functionality is only available for General Contractor Questionnaires. * The system displays a confirmation dialog before deletion. * If the template is used in any Automation workflow, deletion is blocked with an appropriate error message. * Soft delete is performed, preserving historical data and previously sent questionnaires. * Upon successful deletion, the template is removed from the General Contractor Questionnaires list.
#82
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.12 Duplicate Template Action(General Contractor Questionnaires Only)**
~338 tok
### **4.12 Duplicate Template Action(General Contractor Questionnaires Only)** * Duplicate functionality is only available for General Contractor Questionnaires. * Selecting "Duplicate Template" creates an exact copy of the selected questionnaire template. * The duplicated template naming follows a specific convention: - The system extracts the base name by removing any existing "Copy of" prefix and sequential numbering (e.g., "(1)", "(2)"). * The system checks existing General Contractor Questionnaire templates to find the next available sequential number for that base name. * The new duplicate is named "Copy of \[Base Name\]" if no copies exist, or "Copy of \[Base Name\](N)" where N is the next sequential number. * Example: Original: "Vendor Feedback Form" → First copy: "Copy of Vendor Feedback Form" - Copying again (original or the copy): "Copy of Vendor Feedback Form(1)" - Copying again: "Copy of Vendor Feedback Form(2)" - If "Copy of Vendor Feedback Form" and "Copy of Vendor Feedback Form(1)" exist, copying any of them creates "Copy of Vendor Feedback Form(2)" * The duplicated template is saved in draft state (not published) until the user explicitly publishes it * The original template remains unchanged after duplication. . * The duplicated template appears in the General Contractor Questionnaires section.
#83
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.12 Template Creation from Brand Setup**
~133 tok
### **4.12 Template Creation from Brand Setup** * When a new brand is created in the system with services configured, the system automatically creates Post-Event Questionnaire templates. * One template is created for each service type selected during brand setup. * If a brand has Photography and Videography services, two Post-Event templates are created. * Templates are pre-populated with default questions appropriate for each service type. * The brand owner can edit these templates to customize questions as needed.
#84
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations**
~10 tok
## **5\. Field Details & Validations**
#85
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.1 Post-Event Questionnaires Table Columns**
~134 tok
### **5.1 Post-Event Questionnaires Table Columns** **Field Name** **Field Type** **Description** **Validation Rules** Name Text (Display) Questionnaire template name Clickable, opens view mode Service Type Text (Display) Associated service (Photography/Videography/Content Creation) Read-only display Brand Text (Display) Associated brand name Read-only display Replies Number (Display) Count of completed responses Non-negative integer, read-only Actions Icon Buttons View, Edit, Kebab menu Interactive icons
#86
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.2 General Contractor Questionnaires Table Columns**
~108 tok
### **5.2 General Contractor Questionnaires Table Columns** **Field Name** **Field Type** **Description** **Validation Rules** Name Text (Display) Questionnaire template name Clickable, opens view mode Brand Text (Display) Associated brand name Read-only display Replies Number (Display) Count of completed responses Non-negative integer, read-only Actions Icon Buttons View, Edit, Kebab menu Interactive icons
#87
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.3 Automatically Send to Contractors Toggle**
~56 tok
### **5.3 Automatically Send to Contractors Toggle** **Field Name** **Field Type** **Description** **Validation Rules** Auto-Send Toggle Toggle Switch Enable/disable automatic post-event sending Boolean, default ON
#88
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.4 Search and Filter Fields**
~59 tok
### **5.4 Search and Filter Fields** **Field Name** **Field Type** **Description** **Validation Rules** Search Text Input Search by name No characters limit Brands Dropdown (Single Select) Filter by brand Optional selection
#89
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.5 New Contractor Questionnaire Modal**
~55 tok
### **5.5 New Contractor Questionnaire Modal** **Field Name** **Field Type** **Description** **Validation Rules** Brand Dropdown (Single Select) Select brand for template Mandatory, auto-selected if single brand
#90
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.6 Settings Panel (View/Edit Mode)**
~104 tok
### **5.6 Settings Panel (View/Edit Mode)** **Field Name** **Field Type** **Description** **Validation Rules** Questionnaire Name Text Input Name of the questionnaire Required, max 100 characters Assign Brand Dropdown (Read-only after publish) Associated brand Cannot change after publishing Questionnaire Type Text (Read-only) Displays "Post-Event Questionnaire" or "General" Read-only, not editable
#91
**Functional Requirements Document (FRD)** > **6\. Success Message Handling**
~220 tok
## **6\. Success Message Handling** **Action** **Success Message** **Trigger Condition** **Post-Success Behavior** Toggle Auto-Send ON "Automatic sending enabled. Post-event questionnaires will be sent to contractors after events." User enables the toggle Toggle state saved, immediate effect for future events Toggle Auto-Send OFF "Automatic sending disabled. Post-event questionnaires must be sent manually." User disables the toggle Toggle state saved, immediate effect for future events Delete General Template "Questionnaire template deleted successfully." User confirms deletion List refreshes, template removed Duplicate Template "Questionnaire template duplicated successfully." Duplication completes Duplicates the template Auto-Send Triggered N/A (Background process) Event ends and toggle is enabled Email sent to contractors, logged in activity
#92
**Functional Requirements Document (FRD)** > **7\. Error Message Handling**
~305 tok
## **7\. Error Message Handling** **Error Scenario** **Error Message** **Trigger Condition** **User Action Required** Attempt to delete Post-Event template "Post-event questionnaire templates cannot be deleted." User attempts deletion via any method No action; deletion is not permitted Delete template used in Automation "This Questionnaire template is already used in Automation, kindly modify Automation before deleting the Questionnaire template." User attempts to delete a template linked to Automation Remove template from Automation first No brand selected during creation "Please select a brand." User clicks "Create Questionnaire" without brand Select a brand from dropdown Auto-send fails for contractor "Failed to send post-event questionnaire to \[Contractor Name\]. Please resend manually." Email delivery fails User can manually resend from project details No services configured for brand "No services are configured for this brand. Post-event questionnaires are not available." Brand has no services set up Configure services in brand settings Search returns no results "No results found for '\[search term\]'." No matching templates found Modify search term or clear search
#93
**Functional Requirements Document (FRD)** > **8\. Edge Cases**
~372 tok
## **8\. Edge Cases** **Edge Case** **Scenario Description** **Expected System Behavior** Brand with single service Brand only has Photography service configured Only one Post-Event template (Photography) exists for that brand Brand with all three services Brand has Photography, Videography, and Content Creation Three Post-Event templates exist, one for each service Toggle changed mid-event Auto-send toggle changed after event started but before it ends New toggle state applies; if OFF, questionnaire not sent automatically Multiple events ending same day Several events end on the same date System processes each event independently, sends appropriate questionnaires to all contractors Contractor with multiple services Contractor assigned as both photographer and videographer for same event Contractor receives questionnaire for their primary service assignment Edit Post-Event after responses User edits Post-Event template after some contractors have responded Changes apply only to future sends; existing responses remain unchanged No contractors assigned to event Event ends with no contractors assigned No Post-Event questionnaires are sent Event date in past during toggle enable User enables toggle after event already ended Past events are not retroactively processed General questionnaire with same name User creates general questionnaire with same name as Post-Event template System allows duplicate names; templates distinguished by section
#94
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria**
~8 tok
## **9\. Acceptance Criteria**
#95
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.1 Navigation and Tab Structure**
~71 tok
### **9.1 Navigation and Tab Structure** * Contractor Questionnaires tab is accessible from the Questionnaires landing page. * Page displays two sections: Post-Event Questionnaires and General Contractor Questionnaires. * Sections are clearly separated with distinct headers.
#96
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.2 Post-Event Questionnaires Section**
~99 tok
### **9.2 Post-Event Questionnaires Section** * Pre-loaded templates exist for each service type configured in brand setup. * Service Type column displays correct service for each template. * "Automatically Send to Contractors" toggle is visible and functional. * Toggle default state is ON (enabled). * Kebab menu does not include Duplicate and Delete options for Post-Event templates.
#97
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.3 Auto-Send Functionality**
~79 tok
### **9.3 Auto-Send Functionality** * When toggle is ON, questionnaires are sent to contractors the day after event ends. * Contractors receive questionnaire matching their service type. * Multiple contractors from same event receive appropriate templates. * When toggle is OFF, no automatic sending occurs.
#98
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.4 General Contractor Questionnaires Section**
~66 tok
### **9.4 General Contractor Questionnaires Section** * Users can create unlimited General Contractor Questionnaire templates. * All kebab menu options (Duplicate, View, Share, Delete) are available. * Section header displays information tooltip on hover.
#99
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.5 Search and Filter**
~45 tok
### **9.5 Search and Filter** * Search filters both sections simultaneously. * Brand filter applies to both sections. * Results update in real-time as user types in search.
#100
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.6 Create New Template**
~107 tok
### **9.6 Create New Template** * Create dropdown shows "Contractor Questionnaire" option. * New templates are created as General type only. * Brand selection is mandatory. * System auto-assigns name: "Contractor Questionnaire", "Contractor Questionnaire 1", etc. * User can rename template later in template builder. * Newly created template appears in General Contractor Questionnaires section after publishing.
#101
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.7 Template Actions**
~168 tok
### **9.7 Template Actions** * View opens template in read-only mode with Questionnaire Type displayed. * Edit allows modification of all fields except Questionnaire Type. * Delete works only for General templates with confirmation dialog. * Duplicate creates copy with "Copy of" prefix in appropriate section. * Subsequent duplicates use sequential numbering: "Copy of \[Base Name\](1)", "(2)", etc. * Duplicating any copy (original or nth copy) creates next sequential number. * Duplicate is saved in draft state. * Numbering is checked only within General Contractor Questionnaires. * Duplicate appears in General Contractor Questionnaires section.
#102
**Functional Requirements Document (FRD)** > **10\. Manual Test Cases**
~61 tok
## **10\. Manual Test Cases** Test cases for this module are documented in the consolidated test cases Excel file: **Refer:** [Click Here](https://docs.google.com/spreadsheets/d/1ij-Yq6QE-7rwz9L6zsWApiC4gqEMxSuDLks79NdeKjU/edit?usp=drive_link)
#103
**Functional Requirements Document (FRD)** > **11\. Dependencies**
~267 tok
## **11\. Dependencies** **Dependency Type** **Module/Service** **Description** **Impact if Unavailable** Internal Module Brand Management Provides brand list and service configuration Post-Event templates not created; brand filter unavailable Internal Module Services Configuration Defines service types (Photography, Videography, Content Creation) Cannot match templates to services Internal Module Events Module Provides event end dates for auto-send trigger Auto-send functionality will not work Internal Module Contractors Module Provides contractor assignments and email addresses Cannot send questionnaires to contractors Internal Module Automation Module Validates template usage before deletion Deletion validation fails Internal Module Template Builder Opens for edit/create actions Cannot create or edit templates API Service Scheduled Jobs Service Runs daily job for auto-send processing Automatic sending will not trigger API Service Email Service Sends questionnaire emails to contractors Questionnaire delivery fails
#104
**Functional Requirements Document (FRD)** > **12\. References**
~49 tok
## **12\. References** **Refer:** [Click Here](https://www.figma.com/design/ej0kxwP45mDKmZCZfAJ5O8/Pixally?node-id=21396-93832&t=KIQYn2fx03Ac8LOD-0) Create Questionnaires with Template Builder
#105
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder**
~24 tok
# **Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder**
#106
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **1\. Module Overview**
~7 tok
## **1\. Module Overview**
#107
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **1\. Module Overview** > **1.1 Module Name**
~19 tok
### **1.1 Module Name** Create and Edit Questionnaires with Template Builder
#108
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **1\. Module Overview** > **1.2 Purpose**
~97 tok
### **1.2 Purpose** The Questionnaire Template Builder provides agency users with a comprehensive, Google Forms-like interface to create, edit, and customize questionnaire templates for clients and contractors. The builder supports multiple question types, conditional logic, visual styling customization, and responsive preview functionality to ensure professional questionnaire design.
#109
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **1\. Module Overview** > **1.3 Business Goals**
~160 tok
### **1.3 Business Goals** * Enable agencies to create highly customized questionnaires tailored to specific client or contractor needs. * Provide a user-friendly drag-and-drop interface for efficient questionnaire design and modification. * Support conditional question logic to create dynamic, context-sensitive questionnaires that reduce respondent fatigue. * Allow brand-consistent visual styling through color, font, and cover image customization. * Ensure questionnaire responsiveness across web and mobile devices through preview functionality. * Streamline template management with draft saving and publishing workflows.
#110
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** >
~1 tok
##
#111
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** >
~1 tok
##
#112
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **2\. User Roles & Permissions**
~116 tok
## **2\. User Roles & Permissions** **Role** **Create Template** **Edit Template** **Save as Draft** **Publish Template** **Preview** Agency Owner ✓ ✓ ✓ ✓ ✓ Agency Admin ✓ ✓ ✓ ✓ ✓ Team Member ✓ ✓ ✓ ✓ ✓ **Notes:** * All users with access to the Templates module can create and edit questionnaire templates. * Templates can only be associated with brands the user has access to. * Once published, the assigned brand cannot be changed.
#113
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **3\. User Flow**
~5 tok
## **3\. User Flow**
#114
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **3\. User Flow** > **3.1 Create New Questionnaire Flow**
~344 tok
### **3.1 Create New Questionnaire Flow** 3.1.1 The user clicks on "+ Create" button from the Questionnaires landing page. 3.1.2 The system displays a dropdown with options: "Client Questionnaire" and "Contractor Questionnaire". 3.1.3 The user selects the desired questionnaire type. 3.1.4 The system displays the New Questionnaire modal with a "Brand" dropdown field. 3.1.5 The user selects a brand from the dropdown (auto-selected if only one brand exists). 3.1.6 The user clicks the "Create Questionnaire" button. 3.1.7 The system validates that a brand is selected and navigates to the Template Builder interface. 3.1.8 The system loads the Template Builder with the Default Structure panel on the left sidebar. 3.1.9 The system displays default blank questions pre-loaded in the questionnaire canvas area. 3.1.10 The user can add, edit, remove, and reorder questions using the builder tools. 3.1.11 The user can customize colors, fonts, and settings using the left sidebar navigation icons. 3.1.12 The user can preview the questionnaire using the Preview button in the header. 3.1.13 The user can save as draft by clicking "Save as Template" or publish by clicking "Publish". 3.1.14 The system validates the questionnaire before publishing and displays any validation errors. 3.1.15 Upon successful save or publish, the system displays the success message.
#115
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **3\. User Flow** > **3.2 Edit Existing Questionnaire Flow**
~172 tok
### **3.2 Edit Existing Questionnaire Flow** 3.2.1 The user navigates to the questionnaire list view (Client or Contractor tab). 3.2.2 The user clicks the Edit icon or selects "Edit Template" from the kebab menu for the desired template. 3.2.3 The system loads the Template Builder with the existing template content. 3.2.4 All previously saved questions, settings, colors, and fonts are loaded into the builder. 3.2.5 The user modifies the questionnaire as needed using all available builder features. 3.2.6 The user saves changes using "Save as Template" (draft) or "Publish" (live). 3.2.7 The system validates and saves the changes, then redirects to the appropriate list view.
#116
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic**
~7 tok
## **4\. Functional Logic**
#117
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.1 Template Builder Interface Layout**
~172 tok
### **4.1 Template Builder Interface Layout** * The Template Builder interface consists of four main areas: Header, Left Sidebar, Canvas Area, and Right Settings Panel. * The Header displays the questionnaire type (Client/Contractor), template name, status badge (Draft/Published), and action buttons. * The Left Sidebar contains navigation icons for: Default Structure, Colors, Fonts, and Settings panels. * The Canvas Area displays the questionnaire preview with all questions and the cover image. * The Right Settings Panel displays configuration options for the currently selected question. * The interface uses a responsive layout that adapts to different screen sizes.
#118
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.2 Header Section**
~7 tok
### **4.2 Header Section**
#119
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.2 Header Section** > **4.2.1 Header Elements**
~137 tok
#### **4.2.1 Header Elements** * The header displays the questionnaire type label (e.g., "Client" or "Contractor") at the top left. * The template name is displayed as editable text, defaulting to "Untitled" for new templates. * The system automatically appends a number to ensure unique names (e.g., "Untitled", "Untitled 2", "Untitled 3"). * A status badge displays "Draft" (orange) or "Published" (green) based on template state. * A back arrow icon allows navigation back to the list view (with unsaved changes warning if applicable).
#120
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.2 Header Section** > **4.2.2 Header Action Buttons**
~110 tok
#### **4.2.2 Header Action Buttons** * Device preview icons (mobile and desktop) allow switching between device-specific previews in the canvas. * The "Preview" button (eye icon) opens a modal showing the questionnaire as respondents will see it. * The "Save as Template" button saves the questionnaire in draft state without publishing. * The "Publish" button validates and publishes the questionnaire, making it available for use.
#121
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.3 Left Sidebar Navigation**
~103 tok
### **4.3 Left Sidebar Navigation** * The left sidebar contains four navigation icons arranged vertically. * Each icon switches the sidebar panel content while maintaining the canvas area display. * The icons represent: Default Structure (document icon), Colors (palette icon), Fonts (typography icon), and Settings (gear icon). * The currently active panel is visually highlighted with a selected state.
#122
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.4 Default Structure Panel**
~9 tok
### **4.4 Default Structure Panel**
#123
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.4 Default Structure Panel** > **4.4.1 Panel Overview**
~97 tok
#### **4.4.1 Panel Overview** * The Default Structure panel displays all available question types that can be added to the questionnaire. * Question types are listed with their icons for easy identification. * Questions marked with a red asterisk (\*) indicate required fields in the current template. * Questions marked with an orange indicator represent conditional questions.
#124
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.4 Default Structure Panel** > **4.4.2 Available Question Types**
~224 tok
#### **4.4.2 Available Question Types** * **Cover Image**: Allows uploading a header image for the questionnaire (max 15MB, supports JPG, PNG). - This will be added by default to the header. The user can not add this at any other place. * **Short Text Field**: Single-line text input with a 250-character limit. * **Paragraph Field (Long Text)**: Multi-line text input with a 2000-character limit. * **Single Choice**: Radio button selection allowing one option from multiple choices. * **Multiple Choice**: Checkbox selection allowing multiple options from available choices. * **Dropdown**: Select dropdown allowing single option selection from a list. * **Date Picker**: Calendar-based date selection with configurable format. * **File Upload**: File attachment allowing PDF, JPG, PNG, DOC formats (max 15MB). * **Link**: URL input field with validation (max 250 characters).
#125
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.5 Adding Questions to Questionnaires**
~12 tok
### **4.5 Adding Questions to Questionnaires**
#126
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.5 Adding Questions to Questionnaires** > **4.5.1 Add Question Method**
~127 tok
#### **4.5.1 Add Question Method** * Users can add questions by clicking the "+" button that appears between existing questions in the canvas area. * Clicking the "+" button opens a question type selector popup. * The popup displays all available question types with icons and a preview of each type. * Selecting a question type inserts a new question at that position in the questionnaire. * The newly added question is automatically selected and its settings appear in the Right Settings Panel.
#127
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.5 Adding Questions to Questionnaires** > **4.5.2 Default Questions**
~68 tok
#### **4.5.2 Default Questions** * New questionnaires are pre-loaded with a default blank question of different types (short text, long text, single choice, multiple choice, etc.). * Users can remove any default question that is not needed for their specific use case.
#128
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)**
~14 tok
### **4.6 Question Configuration (Right Settings Panel)**
#129
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.1 Common Settings for All Question Types**
~104 tok
#### **4.6.1 Common Settings for All Question Types** * **Required Field**: Checkbox to mark the question as mandatory for respondents. * **Field Type**: Dropdown showing the current question type (allows changing question type). * **Question**: Text input for the question label/prompt displayed to respondents. * **Conditional Questions**: Toggle to enable conditional display based on previous answers.
#130
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.2 Conditional Questions Logic**
~218 tok
#### **4.6.2 Conditional Questions Logic** * The Conditional Questions toggle enables conditional display logic for the selected question. * When enabled, two additional dropdown fields appear: "Conditionally Show If" and "Is Equal To". * The "Conditionally Show If" dropdown lists all Single Choice and Dropdown questions in the questionnaire. * The "Is Equal To" dropdown lists the options available for the selected conditional question. * The current question will only display to respondents if the specified condition is met. * Conditional logic creates dynamic questionnaires where questions appear/disappear based on previous answers. * Conditional logic can be applied to any question type as the target (the question being shown/hidden). * Only Single Choice and Dropdown questions can serve as the source condition (the question being checked).
#131
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.3 Settings for Choice-Based Questions (Single Choice, Multiple Choice, Dropdown)**
~122 tok
#### **4.6.3 Settings for Choice-Based Questions (Single Choice, Multiple Choice, Dropdown)** * **Options**: List of available choices with ability to add, edit, reorder, and delete options. * **Add New**: Button to add additional options to the choice list. * Each option has a drag handle for reordering and a delete (trash) icon for removal. * Minimum of 2 options required for Single Choice, Multiple Choice, and Dropdown types. * No maximum limit on the number of options.
#132
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.4 Settings for Date Picker**
~54 tok
#### **4.6.4 Settings for Date Picker** * **Date Format**: User-configurable format selection (e.g., MM/DD/YYYY, DD/MM/YYYY). * **Placeholder Text**: Customizable placeholder text displayed in the input field.
#133
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.5 Settings for Cover Image**
~102 tok
#### **4.6.5 Settings for Cover Image** * **Type**: Dropdown showing "Cover Image" (read-only for this element). * **Image Preview**: Thumbnail of the currently uploaded image. * **Crop**: Button to open image cropping tool. * **Upload**: Button to select a new image file. * **Remove**: Button to remove the current cover image. * Supported formats: JPG, PNG, with a maximum file size of 15MB.
#134
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.6 Settings for File Upload Question**
~66 tok
#### **4.6.6 Settings for File Upload Question** * **Question**: Text input for the file upload prompt. * **Required Field**: Checkbox to make file upload mandatory. * Supported formats for respondent uploads: PDF, JPG, PNG, DOC. * Maximum file size: 15MB.
#135
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.6 Question Configuration (Right Settings Panel)** > **4.6.7 Settings for Link Question**
~88 tok
#### **4.6.7 Settings for Link Question** * **Question**: Text input for the link field prompt. * **Placeholder Text**: Customizable placeholder (default: "Add link here"). * **Required Field**: Checkbox to make link entry mandatory. * URL validation enforced (must start with http:// or https://). * Maximum character limit: 250 characters.
#136
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.7 Question Management Actions**
~10 tok
### **4.7 Question Management Actions**
#137
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.7 Question Management Actions** > **4.7.1 Reorder Questions**
~90 tok
#### **4.7.1 Reorder Questions** * Each question in the canvas has a drag handle (six dots) on the left side. * Users can click and drag questions to reorder them within the questionnaire. * The questionnaire structure updates in real-time as questions are dragged. * The Default Structure panel on the left sidebar reflects the current question order.
#138
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.7 Question Management Actions** > **4.7.2 Delete Questions**
~108 tok
#### **4.7.2 Delete Questions** * Each question has a delete (trash) icon that appears when the question is selected or hovered. * Clicking the delete icon removes the question from the questionnaire immediately. * No confirmation dialog is shown for single question deletion (action is reversible by not saving). * If a deleted question was referenced by a conditional question, the system removes that conditional logic.
#139
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.7 Question Management Actions** > **4.7.3 Select Questions**
~60 tok
#### **4.7.3 Select Questions** * Clicking on any question in the canvas selects it and highlights it with a border. * The selected question's settings appear in the Right Settings Panel. * Only one question can be selected at a time.
#140
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.8 Colors Panel**
~48 tok
### **4.8 Colors Panel** * The Colors panel allows customization of the questionnaire's visual appearance. * Changes in the Colors panel are reflected in real-time in the canvas preview.
#141
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.8 Colors Panel** > **4.8.1 Body Section**
~55 tok
#### **4.8.1 Body Section** * **Text Color**: Color picker for question text and labels. * **Input Border**: Color picker for input field borders. * **Input Background**: Color picker for input field background.
#142
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.8 Colors Panel** > **4.8.2 Button Section**
~38 tok
#### **4.8.2 Button Section** * **Button Text**: Color picker for submit button text. * **Button Color**: Color picker for submit button background.
#143
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.8 Colors Panel** > **4.8.3 Background Section**
~29 tok
#### **4.8.3 Background Section** * **Background Color**: Color picker for the overall questionnaire background.
#144
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.8 Colors Panel** > **4.8.4 Brand Section**
~74 tok
#### **4.8.4 Brand Section** * **Use Brand Colors**: Checkbox to automatically apply brand colors to the questionnaire. * When enabled, brand primary and secondary colors are applied to relevant elements. * Custom color selections override brand colors if "Use Brand Colors" is disabled.
#145
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.9 Fonts Panel**
~26 tok
### **4.9 Fonts Panel** * The Fonts panel allows customization of typography for the questionnaire.
#146
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.9 Fonts Panel** > **4.9.1 Body Section**
~62 tok
#### **4.9.1 Body Section** * **Font**: Dropdown to select font family (e.g., Inter, Roboto, Open Sans). * **Size**: Dropdown to select font size (Small, Normal, Large). * **Bold Toggle**: Button to enable/disable bold text for body content.
#147
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.9 Fonts Panel** > **4.9.2 Button Section**
~44 tok
#### **4.9.2 Button Section** * **Font**: Dropdown to select font family for button text. * **Size**: Dropdown to select font size for button text (Small, Normal, Large).
#148
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.10 Settings Panel**
~24 tok
### **4.10 Settings Panel** * The Settings panel allows configuration of template metadata.
#149
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.10 Settings Panel** > **4.10.1 Common Settings**
~77 tok
#### **4.10.1 Common Settings** * **Questionnaire Name**: Text input to set/edit the template name (required, max 100 characters). * **Assign Brand**: Dropdown to select or change the associated brand. * The brand dropdown is editable only in draft state; once published, the brand cannot be changed.
#150
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.10 Settings Panel** > **4.10.2 Contractor Questionnaire Settings (Additional)**
~82 tok
#### **4.10.2 Contractor Questionnaire Settings (Additional)** * **Questionnaire Type**: Read-only text field displaying "Post-Event Questionnaire" or "General". * For Post-Event Questionnaires, the type is system-assigned and cannot be changed. * For General Contractor Questionnaires, the type is "General" by default.
#151
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.11 Preview Functionality**
~338 tok
### **4.11 Preview Functionality** * Clicking the Preview button (eye icon) opens a modal displaying the questionnaire as respondents will see it. * The preview modal includes device toggle icons (mobile and desktop) for a responsive preview. * The desktop preview shows the questionnaire in a wider layout format. * The mobile preview shows the questionnaire in a narrow, mobile-optimized layout. * The preview displays all questions with their configured styling (colors, fonts). * Interactive elements (inputs, dropdowns, etc.) are functional in preview for testing purposes. * A Submit button appears at the bottom of the preview (non-functional in preview mode). * Users can close the preview modal by clicking the X icon or clicking outside the modal. **4.12 Auto-Save Functionality** * Changes are automatically saved as the user edits the questionnaire. * Auto-save triggers after a brief period of inactivity (e.g., 2-3 seconds after the user stops typing or making changes). * The system saves all questions, settings, colors, and fonts to the database. * A subtle indicator (e.g., "Saving..." or "Saved") displays to confirm save status. * If auto-save fails, the system displays an error notification and retries automatically. * All auto-saved changes remain in draft state until the template is published.
#152
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.13 Publish Questionnaire**
~9 tok
### **4.13 Publish Questionnaire**
#153
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.13 Publish Questionnaire** > **4.13.1 Publish Validation**
~115 tok
#### **4.13.1 Publish Validation** * Before publishing, the system validates the questionnaire against the following rules. * At least 1 question must be added to the questionnaire (Cover Image alone is not sufficient). * At least one question must be marked as a mandatory field. * For Single Choice, Multiple Choice, and Dropdown questions, at least 2 options must be defined. * The questionnaire name must not be empty. * Brand must be assigned.
#154
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.13 Publish Questionnaire** > **4.13.2 Validation Error Handling**
~76 tok
#### **4.13.2 Validation Error Handling** * If validation fails, the system displays specific error messages for each issue. * The questionnaire is not published until all validation errors are resolved. * Error messages are displayed near the relevant fields or in a consolidated error summary.
#155
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.13 Publish Questionnaire** > **4.13.3 Publish Process**
~93 tok
#### **4.13.3 Publish Process** * Upon successful validation, the system publishes the questionnaire template. * The template status changes from "Draft" to "Published". * Published templates become available for use in Projects and Automation modules. * Once published, the assigned brand cannot be changed (read-only). * The system displays a success message.
#156
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **4\. Functional Logic** > **4.14 Unsaved Changes Handling**
~172 tok
### **4.14 Unsaved Changes Handling** * When a user modifies a published questionnaire, the system automatically saves changes as a draft. * A yellow notification banner appears below the cover image displaying "You have unpublished changes." with a "Publish Changes" button. * The unpublished changes do not affect the live/published version until the user clicks "Publish Changes." * Clicking "Publish Changes" (either from the banner or the header button) publishes all pending changes. * Upon successful publishing, a success toast message appears: "Your changes have been published successfully." * The yellow notification banner disappears once changes are published.
#157
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations**
~10 tok
## **5\. Field Details & Validations**
#158
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.1 Questionnaire Metadata Fields**
~94 tok
### **5.1 Questionnaire Metadata Fields** **Field Name** **Field Type** **Description** **Validation Rules** Questionnaire Name Text Input Template name Required, max 100 characters, default "Untitled" Brand Dropdown Associated brand Required, locked after publishing Questionnaire Type Text (Read-only) Template type for contractors Read-only, system-assigned
#159
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** >
~1 tok
###
#160
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** >
~1 tok
###
#161
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.2 Question Type: Short Text Field**
~107 tok
### **5.2 Question Type: Short Text Field** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Question text displayed to the respondent Required, max 500 characters Placeholder Text Input Placeholder text in input Optional, max 100 characters Required Checkbox Mark as mandatory Optional, default unchecked Character Limit System Maximum input length 250 characters
#162
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.3 Question Type: Paragraph Field (Long Text)**
~110 tok
### **5.3 Question Type: Paragraph Field (Long Text)** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Question text displayed to the respondent Required, max 500 characters Placeholder Text Input Placeholder text in input Optional, max 100 characters Required Checkbox Mark as mandatory Optional, default unchecked Character Limit System Maximum input length 2,000 characters
#163
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** >
~1 tok
###
#164
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.4 Question Type: Single Choice**
~112 tok
### **5.4 Question Type: Single Choice** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Question text displayed to the respondent Required, max 500 characters Options List of Text Inputs Available choices Minimum 2 options required, no maximum Required Checkbox Mark as mandatory Optional, default unchecked Conditional Logic Toggle + Dropdowns Show/hide based on condition Optional
#165
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.5 Question Type: Multiple Choice**
~113 tok
### **5.5 Question Type: Multiple Choice** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Question text displayed to the respondent Required, max 500 characters Options List of Text Inputs Available choices Minimum 2 options required, no maximum Required Checkbox Mark as mandatory Optional, default unchecked Conditional Logic Toggle + Dropdowns Show/hide based on condition Optional
#166
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.6 Question Type: Dropdown**
~130 tok
### **5.6 Question Type: Dropdown** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Question text displayed to the respondent Required, max 500 characters Placeholder Text Input Placeholder text Optional, default "Please select" Options List of Text Inputs Available choices Minimum 2 options required, no maximum Required Checkbox Mark as mandatory Optional, default unchecked Conditional Logic Toggle + Dropdowns Show/hide based on condition Optional
#167
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.7 Question Type: Date Picker**
~110 tok
### **5.7 Question Type: Date Picker** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Question text displayed to the respondent Required, max 500 characters Date Format Dropdown Display format User-configurable (MM/DD/YYYY, DD/MM/YYYY, etc.) Placeholder Text Input Placeholder text Optional, default "MM/DD/YY" Required Checkbox Mark as mandatory Optional, default unchecked
#168
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.8 Question Type: File Upload**
~92 tok
### **5.8 Question Type: File Upload** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input File upload prompt Required, max 500 characters Required Checkbox Mark as mandatory Optional, default unchecked Allowed Formats System Accepted file types PDF, JPG, PNG, DOC Max File Size System Maximum file size 15MB
#169
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** >
~1 tok
###
#170
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.9 Question Type: Link**
~122 tok
### **5.9 Question Type: Link** **Field Name** **Field Type** **Description** **Validation Rules** Question Label Text Input Link field prompt Required, max 500 characters Placeholder Text Input Placeholder text Optional, default "Add link here" Required Checkbox Mark as mandatory Optional, default unchecked URL Validation System Valid URL format Please enter a valid URL starting with http:// or https:// Character Limit System Maximum URL length 250 characters
#171
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **5\. Field Details & Validations** > **5.10 Cover Image**
~80 tok
### **5.10 Cover Image** **Field Name** **Field Type** **Description** **Validation Rules** Image File File Upload Header image Optional, max 15MB, JPG/PNG only Crop Action Button Opens the cropping tool N/A Upload Action Button Opens file picker N/A Remove Action Button Removes the current image N/A
#172
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **6\. Success Message Handling**
~179 tok
## **6\. Success Message Handling** **Action** **Success Message** **Trigger Condition** **Post-Success Behavior** Save as Template "Questionnaire template saved as draft successfully." User clicks Save as Template Redirect to appropriate list view Publish Template "Questionnaire template published successfully." User clicks Publish and validation passes Displays a success message. Auto-Save "Saved" (subtle indicator) Auto-save completes every 30 seconds Indicator displayed briefly Image Upload "Cover image uploaded successfully." User uploads valid image file Image displayed in preview Image Remove "Cover image removed." User clicks Remove on cover image Image removed from preview
#173
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **7\. Error Message Handling**
~452 tok
## **7\. Error Message Handling** **Error Scenario** **Error Message** **Trigger Condition** **User Action Required** No questions added "At least 1 question is required to publish the questionnaire." User attempts to publish without any questions Add at least one question Insufficient options "Please add at least 2 options for \[Question Label\]." Single Choice/Multiple Choice/Dropdown has fewer than 2 options Add additional options Empty questionnaire name "Questionnaire name is required." Name field is empty on save/publish Enter a valid name Brand not selected "Please select a brand." Brand dropdown is empty on save/publish Select a brand Invalid URL format "Please enter a valid URL starting with http:// or https://." Link field has invalid URL format Correct the URL format File too large (Cover Image) "Image file size exceeds 15MB. Please upload a smaller file." User uploads image larger than 15MB Upload smaller file Invalid file format (Cover Image) "Invalid file format. Please upload a JPG or PNG image." User uploads non-JPG/PNG file Upload valid format Short Text exceeds limit "Short text field cannot exceed 250 characters." Input exceeds character limit Reduce input length Long Text exceeds limit "Paragraph field cannot exceed 2,000 characters." Input exceeds character limit Reduce input length Link exceeds limit "URL cannot exceed 250 characters." Link input exceeds character limit Use shorter URL Circular conditional logic "Conditional logic cannot reference itself or create circular dependencies." User creates invalid conditional reference Fix conditional logic Unsaved changes warning "You have unsaved changes. Are you sure you want to leave?" User navigates away with unsaved changes Save changes or confirm leave
#174
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** >
~1 tok
##
#175
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **8\. Edge Cases**
~476 tok
## **8\. Edge Cases** **Edge Case** **Scenario Description** **Expected System Behavior** Delete question with conditional dependency Question referenced by another question's conditional logic is deleted System removes the conditional logic from dependent questions and deletes the source question Duplicate question labels Multiple questions have identical labels System allows duplicate labels; questions are internally identified by unique IDs Change question type with existing data User changes question type (e.g., Short Text to Single Choice) System resets question-specific settings; common settings (label, required) are preserved Publish with only Cover Image Template has cover image but no questions System blocks publish with error: "At least 1 question is required" Very long option text User enters extremely long text for choice options System truncates display with ellipsis; full text shown on hover Browser crash during editing Browser crashes before save Auto-saved draft is recovered on next session Multiple browser tabs User opens same template in multiple tabs Last save wins; no real-time sync between tabs Network failure on save Save request fails due to network issues System displays error: "Failed to save. Please check your connection and try again." Retry button provided Remove all default questions User removes all pre-loaded default questions System allows empty canvas; publish validation will require at least 1 question Conditional on last question Last question in questionnaire has conditional logic System functions normally; conditional questions can be anywhere Rapid reordering User rapidly drags and drops multiple questions System queues reorder operations and updates in sequence Upload corrupt image User uploads corrupted image file System displays error: "Unable to process image. Please upload a different file."
#176
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria**
~8 tok
## **9\. Acceptance Criteria**
#177
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.1 Template Builder Interface**
~75 tok
### **9.1 Template Builder Interface** * Builder interface loads with four main areas: Header, Left Sidebar, Canvas, Right Settings Panel. * Left sidebar navigation switches between Default Structure, Colors, Fonts, Settings panels. * Canvas displays questionnaire preview with all questions.
#178
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.2 Question Management**
~65 tok
### **9.2 Question Management** * All question types can be added via "+" button between questions. * Questions can be reordered via drag and drop. * Questions can be deleted via trash icon. * Selected question settings appear in Right Settings Panel.
#179
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.3 Question Types**
~114 tok
### **9.3 Question Types** * Cover Image supports upload, crop, and remove with 15MB/JPG,PNG validation. * Short Text Field enforces 250 character limit. * Paragraph Field enforces 2,000 character limit. * Single Choice/Multiple Choice/Dropdown require minimum 2 options. * Date Picker has configurable date format. * File Upload displays allowed formats (PDF, JPG, PNG, DOC) and 15MB limit. * Link field validates URL format (http/https).
#180
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.4 Conditional Logic**
~60 tok
### **9.4 Conditional Logic** * Conditional Questions toggle enables conditional display. * Only Single Choice and Dropdown questions available as condition source. * Conditional question appears/hides based on specified condition.
#181
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.5 Styling**
~70 tok
### **9.5 Styling** * Colors panel allows customization of text, borders, backgrounds, buttons. * Fonts panel allows customization of font family and size. * "Use Brand Colors" checkbox applies brand colors when enabled. * Changes reflect in real-time in canvas preview.
#182
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.6 Settings**
~47 tok
### **9.6 Settings** * Questionnaire name can be set and edited. * Brand can be assigned (locked after publish). * Contractor questionnaires show read-only Questionnaire Type field.
#183
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.7 Preview**
~53 tok
### **9.7 Preview** * Preview modal shows questionnaire as respondent will see it. * Device toggle switches between mobile and desktop views. * Preview modal can be closed via X icon or clicking outside.
#184
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.8 Save and Publish**
~62 tok
### **9.8 Save and Publish** * Save as Template saves draft without publishing. * Publish validates minimum requirements before publishing. * Published templates appear in appropriate list view. * Brand cannot be changed after publishing.
#185
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **9\. Acceptance Criteria** > **9.9 Auto-Save**
~37 tok
### **9.9 Auto-Save** * Auto-save triggers every 30 seconds when changes are detected. * Save indicator shows "Saving..." and "Saved" states.
#186
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **10\. Manual Test Cases**
~61 tok
## **10\. Manual Test Cases** Test cases for this module are documented in the consolidated test cases Excel file: **Refer:** [Click Here](https://docs.google.com/spreadsheets/d/1ij-Yq6QE-7rwz9L6zsWApiC4gqEMxSuDLks79NdeKjU/edit?usp=drive_link)
#187
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** >
~1 tok
##
#188
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **11\. Dependencies**
~267 tok
## **11\. Dependencies** **Dependency Type** **Module/Service** **Description** **Impact if Unavailable** Internal Module Brand Management Provides brand list and brand colors Cannot assign brand or use brand colors Internal Module File Storage Service Handles cover image and file uploads Image upload functionality unavailable Internal Module Client Questionnaires List Displays published client templates Redirect after publish may fail Internal Module Contractor Questionnaires List Displays published contractor templates Redirect after publish may fail API Service Templates API CRUD operations for questionnaire templates Builder will not function API Service Auto-Save Service Periodic draft saving Auto-save will not work; manual save still available UI Component Drag-and-Drop Library Enables question reordering Question reordering unavailable UI Component Color Picker Enables color customization Color customization unavailable UI Component Image Cropper Enables cover image cropping Crop functionality unavailable
#189
**Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder** > **12\. References**
~19 tok
## **12\. References** **Refer:** Click Here Use Questionnaires in Project
#190
**Functional Requirements Document (FRD)**
~11 tok
# **Functional Requirements Document (FRD)**
#191
**Functional Requirements Document (FRD)** > **Module: Use Questionnaires in a Project and Questionnaire Activity**
~62 tok
## **Module: Use Questionnaires in a Project and Questionnaire Activity** **Document ID:** FRD-QUEST-04 **Version:** 2.3 **Created Date:** December 26, 2025 **Last Updated:** March 19, 2026 **Author:** Business Analyst **Status:** Draft
#192
**Functional Requirements Document (FRD)** > **1\. Module Overview**
~7 tok
## **1\. Module Overview**
#193
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.1 Module Name**
~21 tok
### **1.1 Module Name** Use Questionnaires in a Project and Questionnaire Activity
#194
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.2 Purpose**
~108 tok
### **1.2 Purpose** This module enables agency users to utilize published questionnaire templates within project contexts, send questionnaires to clients and contractors via email or shareable links, track questionnaire status through three stages (Pending, In Progress, Completed), and view collected response data. It bridges the gap between questionnaire template management and practical usage in day-to-day project operations.
#195
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.3 Business Goals**
~176 tok
### **1.3 Business Goals** * Enable seamless integration of questionnaire templates into project workflows. * Allow agencies to customize questionnaires before sending to specific clients or contractors. * Provide flexible delivery options through email sending OR link generation. * Support public links for client questionnaires and unique individual links for contractor questionnaires. * Track questionnaire lifecycle through three distinct stages with detailed activity logging. * Display collected response data in an organized, accessible format with file preview and download capabilities. * Support efficient follow-up through resend functionality and new questionnaire creation.
#196
**Functional Requirements Document (FRD)** > **2\. User Roles & Permissions**
~138 tok
## **2\. User Roles & Permissions** **Role** **Select Template** **Review & Modify** **Send Questionnaire** **Generate Link** **View Activity** **View Responses** **Resend** Agency Owner ✓ ✓ ✓ ✓ ✓ ✓ ✓ Agency Admin ✓ ✓ ✓ ✓ ✓ ✓ ✓ Team Member ✓ ✓ ✓ ✓ ✓ ✓ ✓ Project Manager ✓ ✓ ✓ ✓ ✓ ✓ ✓ **Notes:** * All users with project access can use questionnaire functionality within their assigned projects. * Respondents (clients/contractors) have separate access through email links or portal with email verification.
#197
**Functional Requirements Document (FRD)** > **3\. User Flow**
~5 tok
## **3\. User Flow**
#198
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.1 Accessing Questionnaire Templates**
~184 tok
### **3.1 Accessing Questionnaire Templates** 3.1.1 The user navigates to a specific project from the Projects menu in the side navigation. 3.1.2 The user accesses the project details page for the selected project. 3.1.3 The user can access questionnaire templates via two entry points: * **Option A**: Click on "+" icon in the Files/Documents section → Select "Add Document" * **Option B**: Click on "Create File" in the Project Management widget on the right panel 3.1.4 The system displays the "Add New Document" modal with tabs: Invoice, Proposal, Contracts, Questionnaire. 3.1.5 The user clicks on the "Questionnaire" tab. 3.1.6 The system displays two sub-tabs: "Client Questionnaires" and "Contractor Questionnaires".
#199
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.2 Sending Client Questionnaires via Email**
~332 tok
### **3.2 Sending Client Questionnaires via Email** 3.2.1 The user clicks on the "Client Questionnaires" sub-tab. 3.2.2 The system displays a list of published client questionnaire templates with search functionality. 3.2.3 Each template row shows: Template Name, "Questionnaire Template" label, and "Review & Send" button. 3.2.4 The user clicks "Review & Send" button next to the desired template. 3.2.5 The system creates a copy of the template and opens it in the questionnaire preview page. 3.2.6 The user can modify questions, settings, and styling as needed for this specific instance. 3.2.7 The user clicks "Share Questionnaire" button in the header. 3.2.8 The system displays the Share Questionnaire modal with email composition fields. 3.2.9 The user clicks the "+" icon in the "Email To" field. 3.2.10 The system displays a dropdown list showing ONLY clients attached to the project. 3.2.11 The user selects one or more recipients from the list. 3.2.12 The user customizes the subject and message body. 3.2.13 The user clicks "Send" button. 3.2.14 The system sends the email with questionnaire link to selected recipients. 3.2.15 The questionnaire instance is created in the project's Files/Documents section. 3.2.16 The user is redirected to the Questionnaire Activity page showing "Pending" status.
#200
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.3 Sharing Client Questionnaires via Link**
~276 tok
### **3.3 Sharing Client Questionnaires via Link** 3.3.1 The user follows steps 3.2.1 to 3.2.8 to open the Share Questionnaire modal. 3.3.2 The user clicks "Generate Link" button (instead of Send). 3.3.3 The system displays a confirmation modal with message: "Your file will then become accessible to all clients who are actively involved in the project." 3.3.4 The user clicks "Generate Link" to confirm. 3.3.5 The system generates a public link and creates the questionnaire instance in Files/Documents. 3.3.6 The system automatically opens the Share Link modal for Client questionnaires. 3.3.7 The Share Link modal displays: * Header: "Share Link" * Informational text: "This link can be shared with all clients associated with this project." * Section header: "Public Link" * Single URL field with "Copy Link" button (no client avatars/names shown) * "Done" button 3.3.8 The user clicks "Copy Link" to copy the URL to clipboard. 3.3.9 The user clicks "Done" button OR "X" (close) button. 3.3.10 The user is redirected to the Questionnaire Activity page showing "Pending" status.
#201
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.4 Sending Contractor Questionnaires - Post-Event**
~369 tok
### **3.4 Sending Contractor Questionnaires - Post-Event** 3.4.1 The user clicks on the "Contractor Questionnaires" sub-tab. 3.4.2 The system displays two sections: Post-Event Questionnaires and General Contractor Questionnaires. 3.4.3 The Post-Event Questionnaires section shows a collapsible list grouped by Events. 3.4.4 Each event (e.g., Wedding, Birthday, New Born) can be expanded to show services and contractors. 3.4.5 Within each event, the system lists contractors assigned to that event with their service type. 3.4.6 Each contractor row shows: Avatar, Name, Service Type, Questionnaire Template Name, Status Tag, and "Review & Send" button. 3.4.7 If "Auto Send" toggle is enabled in settings, questionnaires are automatically sent to contractors and display "Auto Sent" badge in yellow. 3.4.8 If "Auto Send" toggle is disabled or user wants to resend, user clicks "Review & Send". 3.4.9 The system opens the questionnaire preview page for review before sending. 3.4.10 The user clicks "Share Questionnaire" to open the email modal. 3.4.11 For contractor questionnaires, the "+" icon shows only the specific contractor for that service. 3.4.12 The user can either click "Send" (email) OR "Generate Link" - one action at a time. 3.4.13 If Send: Email is sent, user is redirected to Activity page. 3.4.14 If Generate Link: Confirmation modal appears, then Share Link modal with individual contractor links, user clicks Done, redirected to Activity page.
#202
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.5 Sending Contractor Questionnaires - General**
~227 tok
### **3.5 Sending Contractor Questionnaires - General** 3.5.1 In the General Contractor Questionnaires section, the system displays general questionnaire templates. 3.5.2 Each template row shows: Template Name, Description (e.g., "Sent to 4 contractors..."), and "Review & Send" button. 3.5.3 The user clicks "Review & Send" to open the questionnaire preview. 3.5.4 The user clicks "Share Questionnaire" to open the email modal. 3.5.5 The "+" icon shows a list of ALL contractors attached to the project. 3.5.6 The user selects one or more contractors. 3.5.7 The user can either click "Send" (email) OR "Generate Link" - one action at a time. 3.5.8 If Send: Email is sent to all selected contractors, user is redirected to Activity page. 3.5.9 If Generate Link: Confirmation modal appears, then Share Link modal showing individual links per contractor, user clicks Done, redirected to Activity page.
#203
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.6 Sharing Contractor Questionnaires via Link (Detailed Flow)**
~309 tok
### **3.6 Sharing Contractor Questionnaires via Link (Detailed Flow)** 3.6.1 The user clicks "Generate Link" in the Share Questionnaire modal. 3.6.2 The system displays a confirmation modal with message: "Your file will become accessible to contractors via their unique links. Only contractors associated with this project can access it." 3.6.3 The user clicks "Generate Link" to confirm. 3.6.4 The system generates unique individual links for each contractor and creates the questionnaire instance in Files/Documents. 3.6.5 The system automatically opens the Share Link modal for Contractor questionnaires. 3.6.6 The Share Link modal displays: * Header: "Share Link" * Informational text: "Links are unique for each recipient. Make sure that the intended recipients are the only ones accessing the document through their link." * Section header: "Individual Links" * List of contractors, each showing: Avatar, Name, Email, URL field (truncated), "Copy Link" button * "Done" button 3.6.7 The user clicks "Copy Link" next to each contractor to copy their unique URL. 3.6.8 The user clicks "Done" button OR "X" (close) button. 3.6.9 The user is redirected to the Questionnaire Activity page showing "Pending" status.
#204
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.7 Viewing Questionnaire Activity**
~190 tok
### **3.7 Viewing Questionnaire Activity**
3.7.1 The user navigates to the project details page → Files/Documents section.
3.7.2 The questionnaire appears in the Documents & Forms list with columns: Name, Type ("Survey" or "Questionnaires"), Created date, Sent To (avatars).
3.7.3 The user clicks on the questionnaire row to open the Activity page.
3.7.4 The Activity page header shows: Questionnaire name (linked to project/event), Status badge, and "Share Questionnaire" button.
3.7.5 The Activity page displays recipient information with individual view/completion status.
3.7.6 The Activity page shows "Information Collected" section (populated after completion).
3.7.7 The Activity page shows "File Activity" section with chronological activity log.#205
**Functional Requirements Document (FRD)** > **4\. Functional Logic**
~7 tok
## **4\. Functional Logic**
#206
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Entry Points for Questionnaire Access**
~12 tok
### **4.1 Entry Points for Questionnaire Access**
#207
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Entry Points for Questionnaire Access** > **4.1.1 Files/Documents Section**
~89 tok
#### **4.1.1 Files/Documents Section** * Located in the Project Details page under the "Files/Documents" tab. * Contains two sub-tabs: "Documents & Forms" and "Uploaded Files". * The "+" icon next to "Documents" header opens the Add New Document modal. * Clicking on "Add Document" provides access to all document types including questionnaires.
#208
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Entry Points for Questionnaire Access** > **4.1.2 Project Management Widget**
~57 tok
#### **4.1.2 Project Management Widget** * Located on the right panel of the Project Details page. * Contains quick action buttons including "CREATE FILE". * Clicking "CREATE FILE" opens the same Add New Document modal.
#209
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Add New Document Modal - Questionnaire Tab**
~14 tok
### **4.2 Add New Document Modal - Questionnaire Tab**
#210
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Add New Document Modal - Questionnaire Tab** > **4.2.1 Tab Structure**
~83 tok
#### **4.2.1 Tab Structure** * The modal displays four main tabs: Invoice, Proposal, Contracts, Questionnaire. * The Questionnaire tab contains two sub-tabs: Client Questionnaires and Contractor Questionnaires. * A search bar allows filtering templates by name. * Post-event questionnaires will not appear in the search bar.
#211
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Add New Document Modal - Questionnaire Tab** > **4.2.2 Client Questionnaires Sub-Tab**
~94 tok
#### **4.2.2 Client Questionnaires Sub-Tab** * Displays all published Client Questionnaire templates associated with the project's brand. * Each template shows: Icon, Template Name, "Questionnaire Template" label, and "Review & Send" button (orange/yellow). * Templates are listed in alphabetical order. * Only published templates appear; draft templates are excluded.
#212
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Add New Document Modal - Questionnaire Tab** > **4.2.3 Contractor Questionnaires Sub-Tab**
~247 tok
#### **4.2.3 Contractor Questionnaires Sub-Tab**
* Displays two sections with distinct layouts.
**Post-Event Questionnaires Section:**
* Lists questionnaires grouped by Events as collapsible accordions.
* Each event header shows the event name (e.g., "Wedding", "Birthday", "New Born") with expand/collapse arrow.
* Expanding an event shows all contractors assigned to that event.
* Each contractor row displays:
* Avatar
* Contractor Name
* Service Type badge (e.g., "Photographer")
* Questionnaire Template Name
* Status: "Auto Sent" badge (yellow) if already sent via auto-trigger, timestamp, or "Review & Send" button
* One project can have multiple events, and each event lists its assigned contractors.
**General Contractor Questionnaires Section:**
* Displays general questionnaire templates in a simple list format.
* Each row shows: Icon, Template Name, Description (e.g., "Sent to 4 contractors..."), and "Review & Send" button.#213
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Review & Send Process**
~8 tok
### **4.3 Review & Send Process**
#214
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Review & Send Process** > **4.3.1 Template Copy Creation**
~69 tok
#### **4.3.1 Template Copy Creation** * Clicking "Review & Send" creates a new copy of the selected template. * The copy is independent of the original template; modifications do not affect the source. * Each sent questionnaire is a unique instance tied to the project.
#215
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Review & Send Process** > **4.3.2 Questionnaire Preview Page**
~126 tok
#### **4.3.2 Questionnaire Preview Page** * The preview page displays the questionnaire as it will appear to respondents. * The header includes: Back arrow, Questionnaire type label, Template name, and action buttons. * Action buttons include: Device preview icons (mobile/desktop), Preview button, and "Share Questionnaire" button. * The left sidebar provides access to Default Structure, Colors, Fonts, and Settings panels. * Users can modify any aspect of the questionnaire before sending.
#216
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Review & Send Process** > **4.3.3 Modifications Allowed in Preview**
~64 tok
#### **4.3.3 Modifications Allowed in Preview** * Add, remove, or reorder questions. * Edit question labels, options, and settings. * Modify colors, fonts, and visual styling. * Questionnaire type (Client/Contractor) and brand cannot be changed.
#217
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Share Questionnaire Modal**
~9 tok
### **4.4 Share Questionnaire Modal**
#218
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Share Questionnaire Modal** > **4.4.1 Modal Components**
~179 tok
#### **4.4.1 Modal Components** * **Email To**: Recipient field with selected recipients displayed as chips. * **"+" Icon**: Opens a dropdown list of eligible recipients (NOT manual entry). * **Subject**: Text input field with placeholder "Enter the subject". * **Message Body**: Rich text editor with formatting toolbar (Undo, Redo, Heading, Bold, Italic, Underline, Emoji, Link, Quote, Lists). * **"Answer Questionnaire" Button**: Pre-embedded CTA button in the message body. * **Generate Link / Copy Link**: Text button at bottom left for link generation. * **Preview**: Button to preview the email before sending. * **Send**: Primary action button (yellow) to send the questionnaire via email.
#219
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Share Questionnaire Modal** > **4.4.2 One Action at a Time**
~64 tok
#### **4.4.2 One Action at a Time** * Users can perform only ONE action: either "Send" (email) OR "Generate Link". * Both actions cannot be performed simultaneously. * Each action creates the questionnaire instance and redirects to the Activity page.
#220
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Share Questionnaire Modal** > **4.4.3 Recipient Selection - Client Questionnaires**
~86 tok
#### **4.4.3 Recipient Selection - Client Questionnaires** * The "+" icon displays a dropdown list of ONLY clients attached to the project. * Users cannot manually type email addresses; they must select from the pre-populated list. * Multiple clients can be selected. * Selected recipients appear as chips with name and remove (X) icon.
#221
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Share Questionnaire Modal** > **4.4.4 Recipient Selection - Contractor Questionnaires (Post-Event)**
~69 tok
#### **4.4.4 Recipient Selection - Contractor Questionnaires (Post-Event)** * For Post-Event questionnaires, the "+" icon shows only the specific contractor for that service assignment. * The recipient is pre-determined based on the contractor-service-event relationship.
#222
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Share Questionnaire Modal** > **4.4.5 Recipient Selection - Contractor Questionnaires (General)**
~61 tok
#### **4.4.5 Recipient Selection - Contractor Questionnaires (General)** * The "+" icon displays a dropdown list of ALL contractors attached to the project. * Multiple contractors can be selected. * Selected recipients appear as chips.
#223
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Send via Email**
~7 tok
### **4.5 Send via Email**
#224
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Send via Email** > **4.5.1 Send Process**
~110 tok
#### **4.5.1 Send Process** * Clicking "Send" validates that at least one recipient is selected. * The system sends an email to all selected recipients. * The email contains the customized message and "Answer Questionnaire" CTA button. * The questionnaire instance is created in the project's Files/Documents section. * Activity is logged in the File Activity section. * User is redirected to the Questionnaire Activity page.
#225
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Send via Email** > **4.5.2 Email Content**
~56 tok
#### **4.5.2 Email Content** * Email includes the Subject line entered by the user. * Email body contains the message composed in the rich text editor. * "Answer Questionnaire" button links to the questionnaire URL.
#226
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality**
~10 tok
### **4.6 Generate Link Functionality**
#227
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.1 Generate Link Button States**
~68 tok
#### **4.6.1 Generate Link Button States** * **Initial State**: Button displays "Generate Link". * **After Generation**: Button changes to "Copy Link" and remains as "Copy Link" permanently. * The link remains valid indefinitely until the questionnaire is submitted.
#228
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.2 Generate Link Confirmation Modal - Client Questionnaires**
~93 tok
#### **4.6.2 Generate Link Confirmation Modal - Client Questionnaires** * Clicking "Generate Link" opens a confirmation modal. * Modal message: "Your file will then become accessible to all clients who are actively involved in the project." * Modal buttons: "Cancel" and "Generate Link" (yellow). * Clicking "Generate Link" confirms and generates the public link.
#229
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.3 Generate Link Confirmation Modal - Contractor Questionnaires**
~106 tok
#### **4.6.3 Generate Link Confirmation Modal - Contractor Questionnaires** * Clicking "Generate Link" opens a confirmation modal. * Modal message: "Your file will become accessible to contractors via their unique links. Only contractors associated with this project can access it." * Modal buttons: "Cancel" and "Generate Link" (yellow). * Clicking "Generate Link" confirms and generates unique individual links.
#230
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.4 Questionnaire Instance Creation**
~66 tok
#### **4.6.4 Questionnaire Instance Creation** * The questionnaire instance is created in the project's Files/Documents section immediately when user clicks "Generate Link" in the confirmation modal. * The instance is created before the Share Link modal opens.
#231
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.5 Share Link Modal - Auto Open**
~52 tok
#### **4.6.5 Share Link Modal - Auto Open** * After clicking "Generate Link" in the confirmation modal, the Share Link modal opens automatically. * This modal displays the generated link(s) for copying.
#232
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.6 Share Link Modal - Client Questionnaires (Public Link)**
~115 tok
#### **4.6.6 Share Link Modal - Client Questionnaires (Public Link)** * Modal header: "Share Link". * Close button (X) in top right corner. * Informational text: "This link can be shared with all clients associated with this project." * Section header: "Public Link". * Single URL field (truncated display) with "Copy Link" button. * No client avatars or names displayed (since it's a shared public link). * "Done" button (yellow) at the bottom.
#233
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.7 Share Link Modal - Contractor Questionnaires (Individual Links)**
~143 tok
#### **4.6.7 Share Link Modal - Contractor Questionnaires (Individual Links)**
* Modal header: "Share Link".
* Close button (X) in top right corner.
* Informational text: "Links are unique for each recipient. Make sure that the intended recipients are the only ones accessing the document through their link."
* Section header: "Individual Links".
* List of contractors, each row showing:
* Avatar
* Contractor Name
* Contractor Email
* URL field (truncated display)
* "Copy Link" button
* "Done" button (yellow) at the bottom.#234
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.8 Copy Link Action**
~56 tok
#### **4.6.8 Copy Link Action** * Clicking "Copy Link" copies the respective URL to the system clipboard. * A tooltip/toast confirms: "Link copied to clipboard". * User can copy links for one or multiple recipients.
#235
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Generate Link Functionality** > **4.6.9 Done Button / X Button - Redirect to Activity Page**
~86 tok
#### **4.6.9 Done Button / X Button - Redirect to Activity Page** * Clicking "Done" closes the Share Link modal. * Clicking "X" (close button) also closes the Share Link modal. * Both actions redirect the user to the Questionnaire Activity page. * The Activity page shows "Pending" status (since link was generated but not yet viewed).
#236
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Questionnaire in Files/Documents Listing**
~13 tok
### **4.7 Questionnaire in Files/Documents Listing**
#237
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Questionnaire in Files/Documents Listing** > **4.7.1 Document Entry**
~76 tok
#### **4.7.1 Document Entry**
* After sending or generating link, the questionnaire appears in the Files/Documents → Documents & Forms tab.
* The listing shows: Name (with sub-text showing event name), Type ("Survey" or "Questionnaires"), Created date/time, Sent To (avatar stack), and kebab menu.#238
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Questionnaire in Files/Documents Listing** > **4.7.2 Pagination**
~52 tok
#### **4.7.2 Pagination** * The document list supports pagination with "Rows per page" dropdown (default 25). * Pagination controls show current range (e.g., "6-10 of 11") with Previous/Next navigation.
#239
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Questionnaire Activity Page**
~10 tok
### **4.8 Questionnaire Activity Page**
#240
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Questionnaire Activity Page** > **4.8.1 Page Header**
~69 tok
#### **4.8.1 Page Header** * Back arrow for navigation to previous page. * Questionnaire title (e.g., "Questionnaire 'Jadon & Monika Wedding'"). * Status badge indicating current state. * "Share Questionnaire" button for resending or sending to additional recipients.
#241
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Questionnaire Activity Page** > **4.8.2 Status Badges and Stages**
~78 tok
#### **4.8.2 Status Badges and Stages** **Status** **Badge Color** **Trigger Condition** Pending Yellow/Orange Questionnaire sent or link generated, not yet viewed by any recipient In Progress Blue At least one recipient has viewed the questionnaire Completed Green Questionnaire has been submitted
#242
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Questionnaire Activity Page** > **4.8.3 Recipient Information Section**
~155 tok
#### **4.8.3 Recipient Information Section** * Displays all recipients with their individual status. * Each recipient row shows: Avatar, Name (with "You" indicator for sender), Status text, and Timestamp. **For Client Questionnaires:** * Shows all clients attached to the project as potential receivers. * Each client row shows their individual view status. * Status displays: "Viewed" with "Last viewed \[date\] at \[time\]" or not viewed indicator. **For Contractor Questionnaires:** * Shows only two rows: Sender and the specific Contractor (receiver). * Each row shows view status and timestamp.
#243
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Questionnaire Activity Page** > **4.8.4 Information Collected Section**
~224 tok
#### **4.8.4 Information Collected Section**
* Section header: "Information Collected".
* **Before completion**: Displays "No information collected yet" with helper text "Wait until your client complete questionnaire".
* **After completion**: Displays all questions and responses in a card-based layout.
**Response Display Format:**
* Each question displayed with its label as header.
* Response displayed below in appropriate format:
* **Single/Multiple Choice**: Selected options shown as chips/badges.
* **Short Text/Paragraph**: Text displayed directly.
* **Link**: Clickable URL in blue text.
* **Dropdown**: Selected value shown.
* **Date**: Formatted date displayed.
* **File Upload**: File cards with icon, filename, file size, and action icons (View eye icon, Download icon).
* Long text responses show "View More" link for expansion.#244
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Questionnaire Activity Page** > **4.8.5 File Activity Section**
~157 tok
#### **4.8.5 File Activity Section** * Section header: "File Activity". * Chronological log of all questionnaire-related activities (most recent at top). * Each activity entry shows: Icon, Description, User name (highlighted in blue), and Timestamp. **Activity Types:** * "Questionnaire has been successfully created by \[User Name\]" * "Questionnaire has been successfully sent by \[User Name\]" * "Link has been generated by \[User Name\]" * "Questionnaire has been viewed by \[Recipient Name\]" * "Questionnaire has been completed by \[Recipient Name\]" * "Questionnaire has been resent by \[User Name\]"
#245
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 Resend Functionality**
~8 tok
### **4.9 Resend Functionality**
#246
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 Resend Functionality** > **4.9.1 Resend from Activity Page**
~87 tok
#### **4.9.1 Resend from Activity Page** * The "Share Questionnaire" button on the Activity page allows resending or sending to additional recipients. * Clicking opens the same Share Questionnaire modal. * User can select recipients and either Send (email) OR Generate Link - one action at a time. * Activity log records the resend action.
#247
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 Resend Functionality** > **4.9.2 Create New Questionnaire**
~64 tok
#### **4.9.2 Create New Questionnaire** * Alternatively, user can go back to Add Document modal and create a NEW questionnaire. * This creates a separate entry in the Files/Documents listing. * Each new questionnaire has its own activity tracking.
#248
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Post-Event Auto-Send**
~8 tok
### **4.10 Post-Event Auto-Send**
#249
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Post-Event Auto-Send** > **4.10.1 Auto-Send Trigger**
~82 tok
#### **4.10.1 Auto-Send Trigger** * When "Automatically Send to Contractors" toggle is enabled in Contractor Questionnaire settings, the system automatically sends Post-Event questionnaires. * Questionnaires are sent the day after the event ends. * Each contractor receives the questionnaire matching their service type.
#250
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Post-Event Auto-Send** > **4.10.2 Auto Sent Badge**
~65 tok
#### **4.10.2 Auto Sent Badge** * After auto-send, the contractor row in the Post-Event section displays "Auto Sent" badge in yellow. * The timestamp shows when the auto-send occurred. * User can still click "Review & Send" to resend manually if needed.
#251
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Post-Event Auto-Send** > **4.10.3 Multiple Events - Same Contractor**
~66 tok
#### **4.10.3 Multiple Events - Same Contractor** * If a contractor is assigned to multiple events in the same project, they receive separate questionnaires for each event. * Each event-contractor-service combination generates a unique questionnaire instance.
#252
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations**
~10 tok
## **5\. Field Details & Validations**
#253
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.1 Add New Document Modal - Questionnaire Tab**
~84 tok
### **5.1 Add New Document Modal - Questionnaire Tab** **Field Name** **Field Type** **Description** **Validation Rules** Search Text Input Search templates by name Max 100 characters Template List List Available questionnaire templates Read-only display Review & Send Button Action to select template Opens preview page
#254
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.2 Share Questionnaire Modal**
~142 tok
### **5.2 Share Questionnaire Modal** **Field Name** **Field Type** **Description** **Validation Rules** Email To Multi-Select Chips Recipients from pre-populated list At least 1 required for Send Subject Text Input Email subject line Required for Send, max 200 characters Message Rich Text Email body content Optional, max 5,000 characters Generate Link Button Generate shareable link Opens confirmation modal Preview Button Preview email Opens preview modal Send Button Send email Validates recipients and subject, redirects to Activity
#255
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.3 Generate Link Confirmation Modal**
~86 tok
### **5.3 Generate Link Confirmation Modal** **Field Name** **Field Type** **Description** **Validation Rules** Confirmation Message Text Context-specific message (Client vs Contractor) Read-only Cancel Button Cancel link generation Closes modal Generate Link Button Confirm generation Creates instance, opens Share Link modal
#256
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.4 Share Link Modal - Client Questionnaires**
~153 tok
### **5.4 Share Link Modal - Client Questionnaires** **Field Name** **Field Type** **Description** **Validation Rules** Header Text "Share Link" Read-only Informational Text Text "This link can be shared with all clients associated with this project." Read-only Section Header Text "Public Link" Read-only Link URL Text Single public questionnaire link Read-only, truncated display Copy Link Button Copy link to clipboard Copies to clipboard, shows confirmation X (Close) Button Close modal Redirects to Activity page Done Button Close modal and redirect Redirects to Activity page
#257
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.5 Share Link Modal - Contractor Questionnaires**
~195 tok
### **5.5 Share Link Modal - Contractor Questionnaires** **Field Name** **Field Type** **Description** **Validation Rules** Header Text "Share Link" Read-only Informational Text Text "Links are unique for each recipient..." Read-only Section Header Text "Individual Links" Read-only Contractor Avatar Image Contractor profile picture Read-only Contractor Name Text Contractor name Read-only Contractor Email Text Contractor email Read-only Link URL Text Unique questionnaire link per contractor Read-only, truncated display Copy Link Button Copy individual link to clipboard Copies to clipboard, shows confirmation X (Close) Button Close modal Redirects to Activity page Done Button Close modal and redirect Redirects to Activity page
#258
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.6 Questionnaire Activity Page**
~140 tok
### **5.6 Questionnaire Activity Page** **Field Name** **Field Type** **Description** **Validation Rules** Questionnaire Title Text (Display) Questionnaire name with project context Read-only Status Badge Badge Current status (Pending/In Progress/Completed) Read-only Recipient Name Text (Display) Respondent's name Read-only View Status Text (Display) Viewed/Not viewed with timestamp Read-only Information Collected Q&A Cards Response data with file preview Read-only File Activity Activity Log Chronological activities Read-only
#259
**Functional Requirements Document (FRD)** > **5\. Field Details & Validations** > **5.7 Documents & Forms Listing**
~91 tok
### **5.7 Documents & Forms Listing** **Field Name** **Field Type** **Description** **Validation Rules** Name Text Questionnaire name with event sub-text Clickable, opens activity Type Text Document type (Survey/Questionnaires) Read-only Created DateTime Creation date and time Read-only Sent To Avatar Stack Recipients Read-only, shows avatars
#260
**Functional Requirements Document (FRD)** > **6\. Success Message Handling**
~189 tok
## **6\. Success Message Handling** **Action** **Success Message** **Trigger Condition** **Post-Success Behavior** Send Questionnaire "Questionnaire sent successfully." User clicks Send with valid data Redirect to Activity page Generate Link (No message, Share Link modal opens) User confirms generation Instance created, Share Link modal opens Copy Link "Link copied to clipboard." User clicks Copy Link Tooltip/toast displayed Done (Share Link Modal) (No message) User clicks Done Redirect to Activity page X Close (Share Link Modal) (No message) User clicks X Redirect to Activity page Resend Questionnaire "Questionnaire resent successfully." User resends from activity page Activity log updated, redirect to Activity page
#261
**Functional Requirements Document (FRD)** > **7\. Error Message Handling**
~189 tok
## **7\. Error Message Handling** **Error Scenario** **Error Message** **Trigger Condition** **User Action Required** No recipient selected "Please select at least one recipient." User clicks Send without recipients Add recipient(s) from list Empty subject line "Please enter a subject for the email." Subject field is empty Enter subject Network error on send "Failed to send questionnaire. Please check your connection and try again." Email delivery fails Retry send No templates available "No questionnaire templates available. Please create a template first." No published templates exist Create and publish template Link generation failed "Failed to generate link. Please try again." Link generation API fails Retry generation
#262
**Functional Requirements Document (FRD)** > **8\. Edge Cases**
~390 tok
## **8\. Edge Cases** **Edge Case** **Scenario Description** **Expected System Behavior** Public link - after submission Client A submits, Client B accesses same link Client B can view the submitted questionnaire responses Contractor unique links Each contractor gets separate link All contractors can submit independently Multiple events - same contractor Contractor assigned to Wedding and Birthday events Receives separate questionnaire for each event Auto-sent then manual resend Post-event auto-sent, user wants to resend User can click Review & Send, "Auto Sent" badge remains, new send logged Generate link without copying User generates link but doesn't copy before clicking Done Link still valid, user can access via Activity page and reshare Close Share Link modal via X User clicks X instead of Done Same behavior as Done - redirect to Activity page No clients attached to project User tries to add client questionnaire Empty recipient list shown; user prompted to add clients to project No contractors attached to event User opens Post-Event section Empty state or message indicating no contractors assigned Link accessed after long time Respondent accesses link months after generation Link still valid, questionnaire loads (if not yet submitted) Cancel on confirmation modal User clicks Cancel on Generate Link confirmation Modal closes, no link generated, stays on Share Questionnaire modal Browser back during flow User presses back after Generate Link Instance already created, may show in Files/Documents
#263
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria**
~8 tok
## **9\. Acceptance Criteria**
#264
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.1 Template Selection**
~103 tok
### **9.1 Template Selection** * \[ \] Add New Document modal displays Questionnaire tab with Client/Contractor sub-tabs. * \[ \] Client Questionnaires shows flat list of templates with Review & Send buttons. * \[ \] Contractor Questionnaires shows Post-Event (grouped by events) and General sections. * \[ \] Search filters templates by name. * \[ \] Only published templates appear in selection list.
#265
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.2 Post-Event Questionnaires Display**
~76 tok
### **9.2 Post-Event Questionnaires Display** * \[ \] Events are displayed as collapsible accordions. * \[ \] Each event expands to show contractors with service types. * \[ \] "Auto Sent" badge appears for automatically sent questionnaires. * \[ \] User can still Review & Send after auto-send.
#266
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.3 Share Questionnaire Modal**
~110 tok
### **9.3 Share Questionnaire Modal** * \[ \] "+" icon shows pre-populated list of eligible recipients (no manual entry). * \[ \] Client questionnaires show only project clients. * \[ \] Post-Event contractor shows only the specific contractor. * \[ \] General contractor shows all project contractors. * \[ \] Subject and message can be customized. * \[ \] Send and Generate Link are mutually exclusive (one action at a time).
#267
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.4 Send Email Flow**
~61 tok
### **9.4 Send Email Flow** * \[ \] Send validates recipients and subject. * \[ \] Email sent to all selected recipients. * \[ \] Questionnaire instance created in Files/Documents. * \[ \] User redirected to Activity page after send.
#268
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.5 Generate Link Flow - Client Questionnaires**
~109 tok
### **9.5 Generate Link Flow - Client Questionnaires** * \[ \] Confirmation modal shows client-specific message. * \[ \] Instance created when user confirms Generate Link. * \[ \] Share Link modal opens automatically with "Public Link" section. * \[ \] Single URL displayed with Copy Link button (no client avatars). * \[ \] Both Done and X buttons redirect to Activity page. * \[ \] Activity page shows "Pending" status.
#269
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.6 Generate Link Flow - Contractor Questionnaires**
~115 tok
### **9.6 Generate Link Flow - Contractor Questionnaires** * \[ \] Confirmation modal shows contractor-specific message. * \[ \] Instance created when user confirms Generate Link. * \[ \] Share Link modal opens automatically with "Individual Links" section. * \[ \] Each contractor shown with avatar, name, email, unique URL, and Copy Link. * \[ \] Both Done and X buttons redirect to Activity page. * \[ \] Activity page shows "Pending" status.
#270
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.7 Activity Page - Status Tracking**
~82 tok
### **9.7 Activity Page - Status Tracking** * \[ \] Status badge shows Pending → In Progress → Completed progression. * \[ \] Pending: sent or link generated but not viewed. * \[ \] In Progress: viewed but not submitted. * \[ \] Completed: submitted. * \[ \] Individual recipient view status displayed with timestamps.
#271
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.8 Activity Page - Information Collected**
~82 tok
### **9.8 Activity Page - Information Collected** * \[ \] Shows "No information collected yet" before completion. * \[ \] Displays all Q&A after completion. * \[ \] File uploads show with preview (eye) and download icons. * \[ \] Multiple choice answers displayed as chips. * \[ \] Links displayed as clickable URLs.
#272
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.9 Files/Documents Listing**
~39 tok
### **9.9 Files/Documents Listing** * \[ \] Questionnaire appears after sending or generating link. * \[ \] Clicking questionnaire opens Activity page.
#273
**Functional Requirements Document (FRD)** > **9\. Acceptance Criteria** > **9.10 Resend Functionality**
~49 tok
### **9.10 Resend Functionality** * \[ \] Share Questionnaire button on Activity page allows resend. * \[ \] Can send to additional recipients. * \[ \] Activity log records resend action.
#274
**Functional Requirements Document (FRD)** > **10\. Manual Test Cases**
~53 tok
## **10\. Manual Test Cases** Test cases for this module are documented in the consolidated test cases Excel file: **File:** Questionnaires-Module-Test-Cases.xlsx **Sheet:** Use Questionnaires Project Activity
#275
**Functional Requirements Document (FRD)** > **11\. Dependencies**
~305 tok
## **11\. Dependencies** **Dependency Type** **Module/Service** **Description** **Impact if Unavailable** Internal Module Projects Module Provides project context and documents section Cannot access questionnaire from project Internal Module Questionnaire Templates Provides published templates for selection No templates available to use Internal Module Template Builder Provides review/edit interface Cannot modify questionnaire before sending Internal Module Client Portal Provides client access to questionnaires Clients cannot access via portal Internal Module Contractor Portal Provides contractor access to questionnaires Contractors cannot access via portal Internal Module Events Module Provides event data for Post-Event questionnaires Post-Event grouping unavailable Internal Module Contacts Module Provides list of clients/contractors attached to project Recipient selection unavailable API Service Email Service Sends questionnaire emails Email delivery fails API Service Link Generation Service Creates unique questionnaire links Cannot generate shareable links API Service Activity Logging Service Records questionnaire activities Activity tracking unavailable
#276
**Functional Requirements Document (FRD)** > **12\. References**
~6 tok
## **12\. References**
#277
**Functional Requirements Document (FRD)** > **12\. References** > **12.1 Figma Designs**
~136 tok
### **12.1 Figma Designs** * Add Client Questionnaires Modal * Add Contractor Questionnaires Modal (with Event grouping) * Share Questionnaire Modal * Generate Link Confirmation Modal - Client (Public Link) * Generate Link Confirmation Modal - Contractor (Unique Links) * Share Link Modal - Client (Single Public Link) * Share Link Modal - Contractor (Individual Links) * Project Details - Files/Documents Listing * Questionnaire Activity Page - Pending State * Questionnaire Activity Page - Completed State with Responses
#278
**Functional Requirements Document (FRD)** > **12\. References** > **12.2 Related FRDs**
~69 tok
### **12.2 Related FRDs** * FRD-QUEST-01: Client Questionnaires List View * FRD-QUEST-02: Contractor Questionnaire List View * FRD-QUEST-03: Create and Edit Questionnaires with Template Builder * FRD-QUEST-05: Recipient / Respondent View and Fill Out Questionnaires
#279
**Functional Requirements Document (FRD)** > **12\. References** > **12.3 Source Documents**
~63 tok
### **12.3 Source Documents** * Questionnaires Module Meeting Transcript (December 25, 2025) * Questionnaires Module Meeting Summary (NotebookLM) * Updated Figma Designs (March 19, 2026) **Document End** Recipient View and Fill Questionnaires
#280
**Functional Requirements Document (FRD)**
~11 tok
# **Functional Requirements Document (FRD)**
#281
**Functional Requirements Document (FRD)** > **Module: Recipient / Respondent View and Fill Out Questionnaires**
~62 tok
## **Module: Recipient / Respondent View and Fill Out Questionnaires** **Document ID:** FRD-QUEST-05 **Version:** 2.3 **Created Date:** December 26, 2025 **Last Updated:** January 02, 2026 **Author:** Business Analyst **Status:** Draft
#282
**Functional Requirements Document (FRD)** > **1\. Module Overview**
~7 tok
## **1\. Module Overview**
#283
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.1 Module Name**
~20 tok
### **1.1 Module Name** Recipient / Respondent View and Fill Out Questionnaires
#284
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.2 Purpose**
~147 tok
### **1.2 Purpose** This module provides the external user interface for clients and contractors (respondents) to access, verify their identity via email, view, and complete questionnaires shared by agencies. It encompasses the email notification received by respondents, email verification process, web and mobile-responsive questionnaire form, input validation, file upload handling, submission process, post-submission experience, and the impact on Client and Contractor portals. The module ensures secure, seamless, and user-friendly information gathering from external stakeholders.
#285
**Functional Requirements Document (FRD)** > **1\. Module Overview** > **1.3 Business Goals**
~254 tok
### **1.3 Business Goals** * Deliver professional email notifications with Pixally branding for questionnaire access. * Provide secure access to questionnaires through email verification before displaying content. * Present an intuitive, professional questionnaire interface that reflects agency branding. * Ensure responsive design for optimal experience across desktop and mobile devices. * Support all question types with appropriate input controls and validation. * Enforce mandatory field completion before submission to ensure data quality. * Implement conditional logic for dynamic, context-sensitive questionnaire experiences. * Deliver clear feedback upon successful submission to confirm respondent actions. * Allow respondents to view submitted questionnaire responses after completion. * Trigger timely notifications to agencies via email and in-app notifications upon questionnaire completion. * Update Client and Contractor portals with questionnaire access and submission status.
#286
**Functional Requirements Document (FRD)** > **2\. User Roles & Permissions**
~210 tok
## **2\. User Roles & Permissions** **Role** **Receive Email** **Access Link** **Verify Email** **View Questionnaire** **Fill Questionnaire** **Submit** **View Submitted** Client (Respondent) ✓ ✓ ✓ ✓ ✓ ✓ ✓ Contractor (Respondent) ✓ ✓ ✓ ✓ ✓ ✓ ✓ **Notes:** * Respondents access questionnaires via email links, manually shared links, or through their respective portals. * All respondents accessing via link must verify their email address before accessing the questionnaire content. * Portal access (Client Portal / Contractor Portal) is authenticated and bypasses email verification. * Questionnaire links do not expire; they remain valid until submitted. * After submission, respondents can view the submitted questionnaire responses. * Editing responses after submission is not available in Phase 1.
#287
**Functional Requirements Document (FRD)** > **3\. User Flow**
~5 tok
## **3\. User Flow**
#288
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.1 Access via Email Notification**
~506 tok
### **3.1 Access via Email Notification** 3.1.1 The respondent receives an email notification with Pixally branding. 3.1.2 The email displays the Pixally logo at the top. 3.1.3 The email contains the "View Questionnaire" button (yellow/primary color). 3.1.4 If the agency included a custom message, it appears above the button; otherwise, no text is displayed. 3.1.5 The email footer shows: Pixally logo, social media icons (Facebook, Instagram, X, LinkedIn), and links (About Us, Terms & Conditions, Privacy Policy, Support, Copyright). 3.1.6 The respondent clicks the "View Questionnaire" button. 3.1.7 The system checks if the questionnaire has already been submitted. 3.1.8 If already submitted (for public links), the system displays the submitted questionnaire in view-only mode. 3.1.9 If not submitted, the system displays the Email Verification screen. 3.1.10 The respondent enters their email address and clicks Submit. 3.1.11 The system validates if the entered email matches a project member. 3.1.12 If email does not match, the system displays a 404 error page. 3.1.13 If email matches, the system loads the questionnaire and records "Viewed" status. 3.1.14 The questionnaire displays with the agency's branding (cover image, colors, fonts). 3.1.15 The respondent reviews and fills out each question in the questionnaire. 3.1.16 Conditional questions appear or hide based on the respondent's previous answers. 3.1.17 The respondent uploads files if required by file upload questions. 3.1.18 The system validates all mandatory fields are completed before enabling the submit button. 3.1.19 The respondent clicks the "Done" / "Submit" button to submit responses. 3.1.20 The system validates all inputs and submits the questionnaire. 3.1.21 The system displays a success message: "Your response has been submitted successfully." 3.1.22 The system sends an email notification and in-app notification to the agency. 3.1.23 The respondent can now view the submitted responses in read-only mode.
#289
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.2 Access via Shared Link (Manual)**
~145 tok
### **3.2 Access via Shared Link (Manual)** 3.2.1 The respondent receives the questionnaire link through manual sharing (copy-pasted by agency user). 3.2.2 The respondent opens the link in their browser. 3.2.3 The system checks if the questionnaire has already been submitted. 3.2.4 If already submitted (for public links), the system displays the submitted questionnaire in view-only mode. 3.2.5 If not submitted, the system displays the Email Verification screen. 3.2.6 The respondent follows the same verification and completion flow as email access (steps 3.1.9 onwards).
#290
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.3 Access via Client Portal**
~288 tok
### **3.3 Access via Client Portal** 3.3.1 The client logs into the Client Portal. 3.3.2 The client can access the questionnaire from two locations: **Option A - Activity Tab:** 3.3.3 The client navigates to the Activity tab on the project page. 3.3.4 The client sees the questionnaire entry with "View" button. 3.3.5 The client clicks "View" to open the questionnaire. **Option B - Files/Documents Tab:** 3.3.6 The client navigates to the Files/Documents tab on the project page. 3.3.7 The client sees the questionnaire in the Documents list with "Fill out" button (if not submitted) or "View" (if submitted). 3.3.8 The client clicks "Fill out" to open the questionnaire for completion. 3.3.9 Since portal access is authenticated, email verification is bypassed. 3.3.10 The questionnaire loads directly in the filling interface. 3.3.11 The client completes and submits the questionnaire. 3.3.12 Upon completion, the "Fill out" button changes to "View" in Files/Documents. 3.3.13 The Activity tab shows "You filled the Questionnaires" entry with "View" button. 3.3.14 Clicking "View" displays the submitted questionnaire in read-only mode.
#291
**Functional Requirements Document (FRD)** > **3\. User Flow** > **3.4 Access via Contractor Portal**
~342 tok
### **3.4 Access via Contractor Portal** **For Post-Event Questionnaires:** 3.4.1 The contractor logs into the Contractor Portal. 3.4.2 The contractor navigates to the Events section. 3.4.3 The contractor selects the relevant event (e.g., "Jadon & Monika Wedding"). 3.4.4 In the Event Details page, under the "Capture Event" section, the "Complete Questionnaire" button appears (only after event is captured). 3.4.5 The Event Progress tracker on the right shows "Post-Event Questionnaire" step with description "Answer a few questions on how event passed". 3.4.6 The contractor clicks "Complete Questionnaire" to open the questionnaire. 3.4.7 Since portal access is authenticated, email verification is bypassed. 3.4.8 The contractor completes and submits the questionnaire. 3.4.9 Upon completion, the Event Progress step is marked as complete. 3.4.10 The contractor can view the submitted responses by accessing the questionnaire again. **For General Questionnaires:** 3.4.11 The contractor navigates to the Files/Documents tab. 3.4.12 The contractor sees the questionnaire in the Documents list with "Fill out" button (if not submitted). 3.4.13 The contractor clicks "Fill out" to open and complete the questionnaire. 3.4.14 Upon completion, the button changes to "View". 3.4.15 Clicking "View" displays the submitted questionnaire in read-only mode.
#292
**Functional Requirements Document (FRD)** > **4\. Functional Logic**
~7 tok
## **4\. Functional Logic**
#293
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Email Notification to Respondent**
~11 tok
### **4.1 Email Notification to Respondent**
#294
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Email Notification to Respondent** > **4.1.1 Email Structure**
~128 tok
#### **4.1.1 Email Structure** * The email uses Pixally branding (not agency branding). * **Header**: Pixally logo centered at the top. * **Body**: Custom message from agency (if provided) OR no text if sent without content. * **CTA Button**: "View Questionnaire" button in yellow/primary color, centered. * **Footer**: Pixally logo, social media icons (Facebook, Instagram, X, LinkedIn), footer links (About Us | Terms & Conditions | Privacy Policy | Support), Copyright notice (Pixally © \[Year\]).
#295
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Email Notification to Respondent** > **4.1.2 Email Content Scenarios**
~98 tok
#### **4.1.2 Email Content Scenarios** **With Custom Message:** * Agency's custom subject line is used. * Agency's custom message body is displayed above the CTA button. * "View Questionnaire" button appears below the message. **Without Custom Message (Default):** * Default or blank subject line. * No text content in the body. * Only "View Questionnaire" button is displayed.
#296
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.1 Email Notification to Respondent** > **4.1.3 CTA Button Behavior**
~55 tok
#### **4.1.3 CTA Button Behavior** * Clicking "View Questionnaire" opens the questionnaire link in the respondent's browser. * The link follows the standard validation flow (submission check → email verification).
#297
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Link Access and Validation**
~10 tok
### **4.2 Link Access and Validation**
#298
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Link Access and Validation** > **4.2.1 Link Structure**
~113 tok
#### **4.2.1 Link Structure**
* Each questionnaire link contains a unique token identifying the specific questionnaire instance.
* **Client Questionnaire links**: Public link shared among all project clients.
* Format: https://www.pixally.com/document/v2?token=\[public-token\]
* **Contractor Questionnaire links**: Unique individual link per contractor.
* Format: https://www.pixally.com/document/v2?token=\[unique-contractor-token\]#299
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Link Access and Validation** > **4.2.2 Link Validity**
~56 tok
#### **4.2.2 Link Validity** * Questionnaire links do not expire. * Links remain valid indefinitely until the questionnaire is submitted. * After submission, the link remains accessible for viewing submitted responses.
#300
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Link Access and Validation** > **4.2.3 Link Distribution Methods**
~68 tok
#### **4.2.3 Link Distribution Methods** * **Via Email**: System sends email with embedded link when agency clicks "Send". * **Via Manual Sharing**: Agency generates link, copies from Share Link modal, and shares manually (e.g., via WhatsApp, SMS, or other channels).
#301
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.2 Link Access and Validation** > **4.2.4 Submission Status Check**
~125 tok
#### **4.2.4 Submission Status Check** * When a respondent accesses the link, the system checks if a response has already been submitted. * **For Client Questionnaires (Public Link)**: If any client has submitted, all subsequent visitors can view the submitted questionnaire in read-only mode. * **For Contractor Questionnaires (Individual Links)**: Each contractor's link is independent; submission status is per-contractor. * If not yet submitted, the system proceeds to email verification.
#302
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Email Verification Process**
~10 tok
### **4.3 Email Verification Process**
#303
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Email Verification Process** > **4.3.1 Email Verification Screen**
~111 tok
#### **4.3.1 Email Verification Screen** * The verification screen displays with agency branding (logo/brand name at top). * Header: "Provide your email" * Instructional text: "Enter the same email address you used to contact \[Agency Name\] to view your \[Questionnaire Name\]." * Email input field with placeholder: "Your email: eg demo@gmail.com" * "Submit" button (yellow/primary color). * Close (X) button in top right corner.
#304
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Email Verification Process** > **4.3.2 Verification Logic**
~90 tok
#### **4.3.2 Verification Logic** * Upon clicking Submit, the system validates the entered email against project members. * **For Client Questionnaires**: Email must match one of the clients attached to the project. * **For Contractor Questionnaires**: Email must match the specific contractor assigned to this link. * Validation is case-insensitive.
#305
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Email Verification Process** > **4.3.3 Verification Success**
~73 tok
#### **4.3.3 Verification Success** * If email matches a valid project member, the system grants access. * The questionnaire content loads immediately. * The system records "Viewed" status with timestamp for this recipient. * The timestamp is displayed in the agency's Activity page.
#306
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Email Verification Process** > **4.3.4 Verification Failure**
~66 tok
#### **4.3.4 Verification Failure** * If email does not match any valid project member, the system displays a **404 error page**. * The respondent cannot access the questionnaire content. * No detailed error message is provided to prevent email enumeration.
#307
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.3 Email Verification Process** > **4.3.5 Email Verification Bypass (Portal Access)**
~81 tok
#### **4.3.5 Email Verification Bypass (Portal Access)** * When respondents access questionnaires through Client Portal or Contractor Portal, they are already authenticated. * Email verification step is bypassed for portal access. * Questionnaire loads directly after clicking "Fill out" or "Complete Questionnaire".
#308
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Questionnaire Display Interface**
~11 tok
### **4.4 Questionnaire Display Interface**
#309
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Questionnaire Display Interface** > **4.4.1 Page Layout**
~117 tok
#### **4.4.1 Page Layout**
* The questionnaire displays in a clean, focused layout without navigation distractions.
* The page header shows the questionnaire title.
* The cover image (if configured) displays prominently at the top.
* Questions are displayed vertically in the order configured by the agency.
* The submit button ("Done") appears at the bottom of the questionnaire.
* The layout adapts responsively based on device type (desktop or mobile).#310
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Questionnaire Display Interface** > **4.4.2 Branding Application**
~110 tok
#### **4.4.2 Branding Application** * The questionnaire displays with agency-configured styling including colors, fonts, and cover image. * Text colors, input borders, and backgrounds reflect the configured color scheme. * Button text and button color match the configured styling. * Background color applies to the overall questionnaire container. * If "Use Brand Colors" was enabled, brand colors are applied to the interface.
#311
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.4 Questionnaire Display Interface** > **4.4.3 Responsive Design**
~115 tok
#### **4.4.3 Responsive Design** * The questionnaire is fully responsive and functions on desktop, tablet, and mobile devices. * On desktop, the questionnaire displays in a centered container with comfortable width. * On mobile, the questionnaire expands to full width with adjusted spacing. * Input fields, buttons, and touch targets are sized appropriately for mobile interaction. * Images scale proportionally to fit the viewport without cropping.
#312
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling**
~11 tok
### **4.5 Question Types and Input Handling**
#313
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.1 Short Text Field**
~73 tok
#### **4.5.1 Short Text Field** * Displays as a single-line text input with placeholder text. * Character limit: 250 characters. * Character count may be displayed as user types (optional based on design). * Required validation displays error if mandatory field is empty on submit.
#314
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.2 Paragraph Field (Long Text)**
~64 tok
#### **4.5.2 Paragraph Field (Long Text)** * Displays as a multi-line textarea for extended responses. * Character limit: 1,000 characters. * Text area is resizable vertically on desktop. * Required validation applies if field is marked mandatory.
#315
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.3 Single Choice (Radio Buttons)**
~118 tok
#### **4.5.3 Single Choice (Radio Buttons)** * Displays as a list of radio button options. * Only one option can be selected at a time. * Selecting a new option deselects the previously selected option. * Options are displayed vertically in the order configured. * Required validation ensures one option is selected for mandatory fields. * Visual display: Options appear as selectable badges/chips (e.g., "1-3 Hours", "4-6 Hours", "7-9 Hours", "10-12 Hours").
#316
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.4 Multiple Choice (Checkboxes)**
~94 tok
#### **4.5.4 Multiple Choice (Checkboxes)** * Displays as a list of checkbox options. * Multiple options can be selected simultaneously. * Each checkbox operates independently. * Options are displayed horizontally as chips/badges (e.g., "Email", "Phone", "Text", "In-Person"). * Required validation may require at least one option selected (based on configuration).
#317
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.5 Dropdown**
~99 tok
#### **4.5.5 Dropdown** * Displays as a select dropdown with placeholder text. * Clicking the dropdown shows all available options. * Only one option can be selected. * Placeholder text (e.g., "Please select") is shown when no selection is made. * Required validation ensures a selection is made for mandatory fields. * Selected value displayed as a chip/badge (e.g., "$1000-$5000").
#318
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.6 Date Picker**
~88 tok
#### **4.5.6 Date Picker** * Displays as a date input field with calendar icon. * Clicking the field or icon opens a calendar date picker. * Date format follows the agency's configuration (e.g., MM/DD/YYYY or DD/MM/YYYY). * Users can manually type dates or select from the calendar. * Validation ensures valid date format if manually entered.
#319
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.7 File Upload**
~173 tok
#### **4.5.7 File Upload** * Displays as a file upload zone with drag-and-drop support. * Zone displays: "Drop or select file" with "browse" link. * Clicking the zone or "browse" opens the device file picker. * Supported formats: PDF, JPG, PNG, DOC. * Maximum file size: 15MB per file. * **Multiple files can be uploaded to a single file upload question.** * Upon upload, each file is displayed as a card showing: File icon (based on type), Filename, File size. * Each uploaded file has View (eye icon) and Delete (trash icon) options. * Users can remove uploaded files before submission. * Required validation ensures at least one file is uploaded for mandatory fields.
#320
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.5 Question Types and Input Handling** > **4.5.8 Link Field**
~94 tok
#### **4.5.8 Link Field** * Displays as a text input with placeholder "Add link here". * Accepts URL input from the respondent. * Character limit: 250 characters. * Validation ensures URL format (must start with http:// or https://). * Required validation applies if field is marked mandatory. * Entered URLs displayed in blue clickable format after submission.
#321
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Conditional Questions Logic**
~10 tok
### **4.6 Conditional Questions Logic**
#322
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Conditional Questions Logic** > **4.6.1 Conditional Display**
~100 tok
#### **4.6.1 Conditional Display** * Questions with conditional logic are initially hidden from view. * When the respondent answers the source question (Single Choice or Dropdown), the system evaluates the condition. * If the respondent's answer matches the "Is Equal To" value, the conditional question is displayed. * If the answer does not match, the conditional question remains hidden.
#323
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Conditional Questions Logic** > **4.6.2 Dynamic Behavior**
~109 tok
#### **4.6.2 Dynamic Behavior** * Conditional questions appear/disappear in real-time as the respondent changes answers. * If a respondent changes their answer on the source question, conditional questions update immediately. * If a conditional question was answered but then hidden due to answer change, the entered data is cleared. * Hidden conditional questions are not required for submission, even if marked as mandatory.
#324
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.6 Conditional Questions Logic** > **4.6.3 Cascading Conditions**
~60 tok
#### **4.6.3 Cascading Conditions** * Conditional questions can themselves have conditional logic. * This allows for multi-level question branching. * The system evaluates conditions in order, showing/hiding questions appropriately.
#325
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Mandatory Field Validation**
~10 tok
### **4.7 Mandatory Field Validation**
#326
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Mandatory Field Validation** > **4.7.1 Required Field Indicators**
~49 tok
#### **4.7.1 Required Field Indicators** * Questions marked as required display a red asterisk (\*) next to the question label. * This visual indicator is consistent across all question types.
#327
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Mandatory Field Validation** > **4.7.2 Submission Validation**
~90 tok
#### **4.7.2 Submission Validation** * When the respondent clicks "Done" / "Submit", the system validates all required fields. * Validation checks only visible questions (hidden conditional questions are excluded). * If any required field is empty or invalid, submission is blocked. * Error messages are displayed for each field with validation issues.
#328
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.7 Mandatory Field Validation** > **4.7.3 Error Display**
~75 tok
#### **4.7.3 Error Display** * Validation errors are displayed immediately below the relevant field. * Error messages are shown in red text for visibility. * The page scrolls to the first error if multiple errors exist. * Example error: "This field is required" for empty mandatory fields.
#329
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Submit Button Logic**
~8 tok
### **4.8 Submit Button Logic**
#330
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Submit Button Logic** > **4.8.1 Button State**
~92 tok
#### **4.8.1 Button State** * The "Done" / "Submit" button is always visible at the bottom of the questionnaire. * The button may appear in disabled state until all mandatory fields are completed. * Alternatively, the button may always be enabled with validation occurring on click. * The button displays agency-configured styling (color, text color, font).
#331
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.8 Submit Button Logic** > **4.8.2 Submission Process**
~98 tok
#### **4.8.2 Submission Process** * Clicking the submit button triggers validation of all required fields. * If validation passes, a loading state is displayed on the button. * The system sends the response data to the server. * Upon successful submission, the success message is displayed. * The submit button becomes disabled after successful submission to prevent double-submit.
#332
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 Submission Success**
~8 tok
### **4.9 Submission Success**
#333
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 Submission Success** > **4.9.1 Success Message Display**
~70 tok
#### **4.9.1 Success Message Display** * Upon successful submission, the system displays: "Your response has been submitted successfully." * The success message is displayed prominently on the page. * The respondent cannot edit or resubmit after seeing the success message.
#334
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.9 Submission Success** > **4.9.2 Post-Submission View Access**
~132 tok
#### **4.9.2 Post-Submission View Access** * After submission, the respondent can view the submitted questionnaire in read-only mode. * **Client Questionnaires (Public Link)**: All clients accessing the link can view the submitted responses. * **Contractor Questionnaires (Individual Link)**: The specific contractor can view their own submitted responses via their unique link. * The read-only view displays all questions with the submitted answers. * File uploads are viewable and downloadable in the read-only view.
#335
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Agency Notification on Submission**
~12 tok
### **4.10 Agency Notification on Submission**
#336
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Agency Notification on Submission** > **4.10.1 In-App Notification**
~131 tok
#### **4.10.1 In-App Notification** * Upon questionnaire submission, an in-app notification is triggered. * The notification appears in the **Bell icon** located in the header section of the agency dashboard. * A notification badge/count indicator appears on the bell icon. * Clicking the bell icon opens the notification panel. * The notification entry shows: Respondent name, action description, questionnaire/project name, timestamp. * Clicking the notification navigates to the Questionnaire Activity page.
#337
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.10 Agency Notification on Submission** > **4.10.2 Email Notification to Agency**
~98 tok
#### **4.10.2 Email Notification to Agency** **\[PLACEHOLDER - EMAIL CONTENT TO BE ADDED\]** _The email content structure will include:_ * Agency/Studio name greeting * Respondent name who completed the questionnaire * Project/Event name * Preview of submitted responses (first few Q&A pairs) * "View on Pixally" CTA button linking to Activity page * Pixally branding in footer
#338
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.11 Session and Progress Handling**
~11 tok
### **4.11 Session and Progress Handling**
#339
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.11 Session and Progress Handling** > **4.11.1 Single Session Completion**
~85 tok
#### **4.11.1 Single Session Completion** * Questionnaires must be completed in a single session. * There is no save progress or "continue later" functionality. * If the respondent closes the browser or navigates away, progress is lost. * Upon returning (if not submitted), the respondent must verify email again and start fresh.
#340
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.11 Session and Progress Handling** > **4.11.2 Session Timeout**
~56 tok
#### **4.11.2 Session Timeout** * The questionnaire form does not have an active session timeout. * Links remain valid indefinitely until submitted. * Extended idle time within the form does not cause automatic logout.
#341
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.12 Error Handling**
~7 tok
### **4.12 Error Handling**
#342
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.12 Error Handling** > **4.12.1 Network Errors**
~67 tok
#### **4.12.1 Network Errors** * If submission fails due to network issues, an error message is displayed. * Message: "Failed to submit your response. Please check your connection and try again." * The respondent can retry submission without losing entered data.
#343
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.12 Error Handling** > **4.12.2 Server Errors**
~64 tok
#### **4.12.2 Server Errors** * If the server returns an error during submission, an appropriate message is displayed. * Message: "Something went wrong. Please try again later." * The respondent can retry or contact the sender if the issue persists.
#344
**Functional Requirements Document (FRD)** > **4\. Functional Logic** > **4.12 Error Handling** > **4.12.3 File Upload Errors**
~68 tok
#### **4.12.3 File Upload Errors** * Invalid file format: "Invalid file format. Please upload PDF, JPG, PNG, or DOC files only." * File too large: "File size exceeds 15MB. Please upload a smaller file." * Upload failure: "Failed to upload file. Please try again."
#345
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact**
~8 tok
## **5\. Post-Sending Impact**
#346
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.1 Impact on Client Portal**
~9 tok
### **5.1 Impact on Client Portal**
#347
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.1 Impact on Client Portal** > **5.1.1 Activity Tab**
~109 tok
#### **5.1.1 Activity Tab** * After questionnaire is sent or link is generated, the client can see related activity in the Activity tab. * **Before Submission**: Entry may show questionnaire-related notification with "View" button. * **After Submission**: Entry shows "You filled the Questionnaires" with timestamp and "View" button. * Clicking "View" opens the submitted questionnaire in read-only mode showing all responses.
#348
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.1 Impact on Client Portal** > **5.1.2 Files/Documents Tab**
~124 tok
#### **5.1.2 Files/Documents Tab**
* The questionnaire appears in the Files/Documents tab under the Documents section.
* Document list columns: Name (with sub-text), Type ("Questionnaire"), Created date/time.
* **Before Submission**: "Fill out" button (orange/yellow) is displayed.
* **After Submission**: "Fill out" button changes to "View".
* Clicking "View" displays the submitted questionnaire in read-only mode.
* Kebab menu (⋮) provides options: Preview, Download PDF, Delete.#349
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.1 Impact on Client Portal** > **5.1.3 Document Sorting**
~42 tok
#### **5.1.3 Document Sorting** * Documents can be sorted by "Latest" or "Oldest" using the dropdown filter. * Default sort order is "Latest" (most recent first).
#350
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.2 Impact on Contractor Portal**
~10 tok
### **5.2 Impact on Contractor Portal**
#351
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.2 Impact on Contractor Portal** > **5.2.1 Post-Event Questionnaires - Events Tab**
~233 tok
#### **5.2.1 Post-Event Questionnaires - Events Tab** **Event Details Page:** * Post-Event questionnaires appear in the Events section, under the specific event's Details tab. * Located under the "Capture Event" section. * **Before Event Capture**: The "Complete Questionnaire" button is NOT visible. * **After Event Capture**: A success message "Event was captured successfully!" appears with "Complete Questionnaire" button (green/primary). * Clicking "Complete Questionnaire" opens the questionnaire for filling. * **After Submission**: The button may change to allow viewing submitted responses. **Event Progress Tracker:** * The right panel shows "Event Progress" with milestone steps. * "Post-Event Questionnaire" step is always visible in the progress list. * Step description: "Answer a few questions on how event passed". * Step status updates based on completion (pending → in progress → completed).
#352
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.2 Impact on Contractor Portal** > **5.2.2 General Questionnaires - Files/Documents Tab**
~113 tok
#### **5.2.2 General Questionnaires - Files/Documents Tab** * General contractor questionnaires appear in the Files/Documents tab. * Document list shows: Name, Type, Created date/time. * **Before Submission**: "Fill out" button is displayed. * **After Submission**: Button changes to "View". * Clicking "View" displays the submitted questionnaire in read-only mode. * Same kebab menu options as Client Portal: Preview, Download PDF, Delete.
#353
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.3 Files/Documents Table Columns (Both Portals)**
~82 tok
### **5.3 Files/Documents Table Columns (Both Portals)** **Column** **Description** Name Questionnaire name with sub-text (event name or creator) Type "Questionnaire" or "Survey" Created Date and time of creation Action Button "Fill out" (before) / "View" (after submission) Kebab Menu Preview, Download PDF, Delete
#354
**Functional Requirements Document (FRD)** > **5\. Post-Sending Impact** > **5.4 Pagination**
~60 tok
### **5.4 Pagination** * Both portals support pagination in the Files/Documents listing. * "Rows per page" dropdown with options (e.g., 5, 10, 25). * Page navigation shows current range (e.g., "1-2 of 2") with Previous/Next arrows.
#355
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations**
~10 tok
## **6\. Field Details & Validations**
#356
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.1 Email Notification to Respondent**
~104 tok
### **6.1 Email Notification to Respondent** **Field Name** **Field Type** **Description** **Validation Rules** Pixally Logo Image Header branding Static, always displayed Custom Message Text Agency's message (if provided) Optional, displays if sent View Questionnaire Button CTA to access questionnaire Links to questionnaire URL Footer Links Links About Us, Terms, Privacy, Support Static footer
#357
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.2 Email Verification Screen**
~77 tok
### **6.2 Email Verification Screen** **Field Name** **Field Type** **Description** **Validation Rules** Email Text Input Respondent's email for verification Required, valid email format, must match project member Submit Button Submit email for verification Validates email against project members
#358
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.3 Short Text Field (Respondent Input)**
~53 tok
### **6.3 Short Text Field (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Short Text Text Input Single-line text response Max 250 characters, required if mandatory
#359
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.4 Paragraph Field (Respondent Input)**
~52 tok
### **6.4 Paragraph Field (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Paragraph Textarea Multi-line text response Max 1,000 characters, required if mandatory
#360
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.5 Single Choice (Respondent Input)**
~55 tok
### **6.5 Single Choice (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Single Choice Radio Buttons / Chips Select one option Required if mandatory, exactly one selection
#361
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.6 Multiple Choice (Respondent Input)**
~54 tok
### **6.6 Multiple Choice (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Multiple Choice Checkboxes / Chips Select multiple options Required if mandatory (at least one)
#362
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.7 Dropdown (Respondent Input)**
~45 tok
### **6.7 Dropdown (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Dropdown Select Select one option from list Required if mandatory
#363
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.8 Date Picker (Respondent Input)**
~49 tok
### **6.8 Date Picker (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Date Date Picker Select or enter date Valid date format, required if mandatory
#364
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.9 File Upload (Respondent Input)**
~62 tok
### **6.9 File Upload (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** File Upload File Input Upload document/image PDF/JPG/PNG/DOC only, max 15MB per file, multiple files allowed, required if mandatory
#365
**Functional Requirements Document (FRD)** > **6\. Field Details & Validations** > **6.10 Link Field (Respondent Input)**
~52 tok
### **6.10 Link Field (Respondent Input)** **Field Name** **Field Type** **Description** **Validation Rules** Link Text Input Enter URL Valid URL (http/https), max 250 characters, required if mandatory
#366
**Functional Requirements Document (FRD)** > **7\. Success Message Handling**
~128 tok
## **7\. Success Message Handling** **Action** **Success Message** **Trigger Condition** **Post-Success Behavior** Email Verification Success (No message, questionnaire loads) Email matches project member Questionnaire content displayed Submit Questionnaire "Your response has been submitted successfully." Respondent submits valid questionnaire Success message shown, can view submitted responses File Upload File card displayed with name and size Valid file uploaded File ready for submission
#367
**Functional Requirements Document (FRD)** > **8\. Error Message Handling**
~293 tok
## **8\. Error Message Handling** **Error Scenario** **Error Message** **Trigger Condition** **User Action Required** Email verification failed 404 Error Page Email doesn't match project member Enter correct email or contact sender Required field empty "This field is required." Mandatory field left empty Fill required field Invalid URL format "Please enter a valid URL starting with http:// or https://." Link field has invalid format Correct URL File too large "File size exceeds 15MB. Please upload a smaller file." Upload exceeds 15MB Upload smaller file Invalid file format "Invalid file format. Please upload PDF, JPG, PNG, or DOC files only." Upload unsupported format Upload valid format Text exceeds limit "Maximum \[X\] characters allowed." Input exceeds character limit Shorten input Network error "Failed to submit your response. Please check your connection and try again." Network failure on submit Check connection, retry Server error "Something went wrong. Please try again later." Server error on submit Retry later Date format invalid "Please enter a valid date." Invalid date format entered Correct date format
#368
**Functional Requirements Document (FRD)** > **9\. Edge Cases**
~567 tok
## **9\. Edge Cases** **Edge Case** **Scenario Description** **Expected System Behavior** Email verification - wrong email Respondent enters email not attached to project 404 error page displayed Email verification - correct email, wrong case Respondent enters email with different capitalization Validation is case-insensitive, access granted Public link - after submission Client A submits, Client B accesses same link Client B can view the submitted questionnaire responses in read-only mode Individual link - independent submission Contractor A submits via their link Contractor B can still submit via their unique link Link accessed after long time Respondent accesses link months after receiving Link still valid, questionnaire loads (if not yet submitted) Email verification then browser close Respondent verifies email, closes browser On return, must verify email again, progress lost Multiple files upload Respondent uploads 3 files to single upload question All 3 files attached, each shown with view/delete options Conditional question answered then hidden Respondent answers conditional question, then changes trigger answer Hidden question's data is cleared All mandatory conditional questions hidden All required questions are conditional and hidden Submission allowed with only visible required fields completed Browser refresh during completion Respondent refreshes browser mid-completion Form reloads empty; must verify email again Portal access - no email verification Respondent accesses via authenticated portal Email verification bypassed, questionnaire loads directly Post-Event before event capture Contractor accesses event before capturing "Complete Questionnaire" button not visible Email sent without custom content Agency sends with empty message Email shows only "View Questionnaire" button, no text Simultaneous submit clicks Respondent clicks submit button multiple times rapidly First click processes; subsequent clicks are ignored View submitted after submission Respondent re-accesses link after submitting Shows submitted questionnaire in read-only mode Link shared via copy (not email) Agency shares link manually via WhatsApp/SMS Same behavior as email link - verification required
#369
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria**
~8 tok
## **10\. Acceptance Criteria**
#370
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.1 Email Notification to Respondent**
~81 tok
### **10.1 Email Notification to Respondent** * \[ \] Email displays Pixally logo at top. * \[ \] "View Questionnaire" button is prominent and clickable. * \[ \] Custom message appears if agency provided one. * \[ \] No text appears if sent without content. * \[ \] Footer shows Pixally branding and social links.
#371
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.2 Link Access and Verification**
~124 tok
### **10.2 Link Access and Verification** * \[ \] Links remain valid indefinitely until submitted. * \[ \] After submission, link shows submitted questionnaire in read-only mode. * \[ \] Email verification required for link access (not portal). * \[ \] Matching email grants access and loads questionnaire. * \[ \] Non-matching email shows 404 error page. * \[ \] Portal access bypasses email verification. * \[ \] Both email-sent links and manually-shared links work identically.
#372
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.3 Questionnaire Display and Input**
~87 tok
### **10.3 Questionnaire Display and Input** * \[ \] Cover image and agency styling applied correctly. * \[ \] All question types render with appropriate controls. * \[ \] Multiple files can be uploaded with view/delete options. * \[ \] Conditional logic shows/hides questions correctly. * \[ \] Required field validation works correctly.
#373
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.4 Submission and Post-Submission**
~82 tok
### **10.4 Submission and Post-Submission** * \[ \] Success message displays upon successful submission. * \[ \] Respondent can view submitted questionnaire after completion. * \[ \] Public link allows all project clients to view submitted responses. * \[ \] Individual links allow independent submission per contractor.
#374
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.5 Client Portal Impact**
~80 tok
### **10.5 Client Portal Impact** * \[ \] Activity tab shows questionnaire entries with View button. * \[ \] Files/Documents shows "Fill out" before and "View" after submission. * \[ \] Clicking "View" displays submitted questionnaire in read-only mode. * \[ \] Kebab menu offers Preview, Download PDF, Delete.
#375
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.6 Contractor Portal Impact**
~106 tok
### **10.6 Contractor Portal Impact** * \[ \] Post-Event questionnaires appear in Events → Event Details after capture. * \[ \] "Complete Questionnaire" button appears only after event capture. * \[ \] Event Progress shows Post-Event Questionnaire step. * \[ \] General questionnaires appear in Files/Documents with Fill out/View buttons. * \[ \] Clicking "View" displays submitted questionnaire in read-only mode.
#376
**Functional Requirements Document (FRD)** > **10\. Acceptance Criteria** > **10.7 Agency Notifications**
~60 tok
### **10.7 Agency Notifications** * \[ \] In-app notification appears in bell icon upon submission. * \[ \] Email notification sent to agency upon submission. * \[ \] Notifications include respondent name and questionnaire details.
#377
**Functional Requirements Document (FRD)** > **11\. Manual Test Cases**
~51 tok
## **11\. Manual Test Cases** Test cases for this module are documented in the consolidated test cases Excel file: **File:** Questionnaires-Module-Test-Cases.xlsx **Sheet:** Recipient Respondent View
#378
**Functional Requirements Document (FRD)** > **12\. Dependencies**
~308 tok
## **12\. Dependencies** **Dependency Type** **Module/Service** **Description** **Impact if Unavailable** Internal Module Link Validation Service Validates submission status Cannot validate access Internal Module Project Members Service Validates email against project members Email verification fails Internal Module Questionnaire Storage Stores questionnaire configuration Cannot display questions Internal Module Response Storage Saves submitted responses Cannot record submissions Internal Module Activity Logging Records view and submit events Status tracking unavailable Internal Module Email Service Sends email notifications to respondents and agency Email delivery fails Internal Module In-App Notification Service Triggers bell icon notifications Agency not notified in-app Internal Module Client Portal Provides authenticated access for clients Portal access unavailable Internal Module Contractor Portal Provides authenticated access for contractors Portal access unavailable Internal Module Events Module Provides event capture status for Post-Event questionnaires Cannot determine button visibility API Service File Upload Service Handles file uploads File uploads fail
#379
**Functional Requirements Document (FRD)** > **13\. References**
~6 tok
## **13\. References**
#380
**Functional Requirements Document (FRD)** > **13\. References** > **13.1 Figma Designs**
~167 tok
### **13.1 Figma Designs** * Email Notification to Respondent (Pixally branding, View Questionnaire button) * Email Verification Screen * Questionnaire Respondent View - Web (Empty and Filled States) * Questionnaire Respondent View - Mobile * Questionnaire Read-Only View (Post-Submission) * 404 Error Page * Submission Success Screen * Client Portal - Activity Tab * Client Portal - Files/Documents Tab * Contractor Portal - Event Details with Post-Event Questionnaire * Contractor Portal - Event Progress Tracker * Contractor Portal - Files/Documents Tab * Agency Email Notification (placeholder) * Agency In-App Notification (Bell icon)
#381
**Functional Requirements Document (FRD)** > **13\. References** > **13.2 Related FRDs**
~69 tok
### **13.2 Related FRDs** * FRD-QUEST-01: Client Questionnaires List View * FRD-QUEST-02: Contractor Questionnaire List View * FRD-QUEST-03: Create and Edit Questionnaires with Template Builder * FRD-QUEST-04: Use Questionnaires in a Project and Questionnaire Activity
#382
**Functional Requirements Document (FRD)** > **13\. References** > **13.3 Source Documents**
~49 tok
### **13.3 Source Documents** * Questionnaires Module Meeting Transcript (December 25, 2025) * Questionnaires Module Meeting Summary (NotebookLM) * Updated Figma Designs (January 2, 2026)