14. Questionnaires
Pixally CRM☑️ 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
Functional Requirements Document (FRD) - Client Questionnaires List View
1. Module Overview
1.1 Module Name
Client Questionnaires List View
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.
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.
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.
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.
4. Functional Logic
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.
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.
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.
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.
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.”
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.
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.
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.
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.
4.9 Kebab Menu Actions
- Clicking the kebab menu (⋮) icon displays a dropdown with four action options.
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.
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.
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.
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.
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.
5. Field Details & Validations
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
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
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
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
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
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
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
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"
9. Acceptance Criteria
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.
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.
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.
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.
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.
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.
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.
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.
10. Manual Test Cases
Test cases for this module are documented in the consolidated test cases Excel file:
Refer: Click Here
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
12. References
Refer: Click Here
☑️ Contractor Questionnaire List View
Functional Requirements Document (FRD)
Module: Contractor Questionnaires List View
1. Module Overview
1.1 Module Name
Contractor Questionnaire List View
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).
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.
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.
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.
4. Functional Logic
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.
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.
4.3 Post-Event Questionnaires Section
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.
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.
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.
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.
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.
4.4 General Contractor Questionnaires Section
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.
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."
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.
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).
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."
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.”
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.
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.
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.
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.
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.
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.
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.
5. Field Details & Validations
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
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
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
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
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
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
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
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
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
9. Acceptance Criteria
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.
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.
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.
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.
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.
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.
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.
10. Manual Test Cases
Test cases for this module are documented in the consolidated test cases Excel file:
Refer: Click Here
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
12. References
Refer: Click Here
Create Questionnaires with Template Builder
Functional Requirements Document (FRD) - Create & Edit Questionnaires with Template Builder
1. Module Overview
1.1 Module Name
Create and Edit Questionnaires with Template Builder
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.
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.
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.
3. User Flow
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.
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.
4. Functional Logic
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.
4.2 Header Section
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).
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.
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.
4.4 Default Structure Panel
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.
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).
4.5 Adding Questions to Questionnaires
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.
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.
4.6 Question Configuration (Right Settings Panel)
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.
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).
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.
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.
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.
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.
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.
4.7 Question Management Actions
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.
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.
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.
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.
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.
4.8.2 Button Section
- Button Text: Color picker for submit button text.
- Button Color: Color picker for submit button background.
4.8.3 Background Section
- Background Color: Color picker for the overall questionnaire background.
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.
4.9 Fonts Panel
- The Fonts panel allows customization of typography for the questionnaire.
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.
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).
4.10 Settings Panel
- The Settings panel allows configuration of template metadata.
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.
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.
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.
4.13 Publish Questionnaire
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.
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.
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.
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.
5. Field Details & Validations
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
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
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
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
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
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
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
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
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
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
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
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
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."
9. Acceptance Criteria
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.
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.
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).
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.
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.
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.
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.
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.
9.9 Auto-Save
- Auto-save triggers every 30 seconds when changes are detected.
- Save indicator shows "Saving..." and "Saved" states.
10. Manual Test Cases
Test cases for this module are documented in the consolidated test cases Excel file:
Refer: Click Here
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
12. References
Refer: Click Here
Use Questionnaires in Project
Functional Requirements Document (FRD)
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
1. Module Overview
1.1 Module Name
Use Questionnaires in a Project and Questionnaire Activity
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.
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.
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.
3. User Flow
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".
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.
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.
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.
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.
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.
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.
4. Functional Logic
4.1 Entry Points for Questionnaire Access
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.
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.
4.2 Add New Document Modal - Questionnaire Tab
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.
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.
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.
4.3 Review & Send Process
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.
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.
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.
4.4 Share Questionnaire Modal
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.
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.
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.
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.
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.
4.5 Send via Email
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.
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.
4.6 Generate Link Functionality
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.
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.
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.
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.
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.
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.
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.
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.
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).
4.7 Questionnaire in Files/Documents Listing
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.
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.
4.8 Questionnaire Activity Page
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.
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
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.
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.
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]"
4.9 Resend Functionality
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.
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.
4.10 Post-Event Auto-Send
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.
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.
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.
5. Field Details & Validations
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
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
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
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
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
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
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
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
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
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
9. Acceptance Criteria
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.
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.
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).
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.
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.
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.
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.
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.
9.9 Files/Documents Listing
- [ ] Questionnaire appears after sending or generating link.
- [ ] Clicking questionnaire opens Activity page.
9.10 Resend Functionality
- [ ] Share Questionnaire button on Activity page allows resend.
- [ ] Can send to additional recipients.
- [ ] Activity log records resend action.
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
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
12. References
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
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
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
Functional Requirements Document (FRD)
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
1. Module Overview
1.1 Module Name
Recipient / Respondent View and Fill Out Questionnaires
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.
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.
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.
3. User Flow
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.
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).
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.
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.
4. Functional Logic
4.1 Email Notification to Respondent
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]).
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.
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).
4.2 Link Access and Validation
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.
- Contractor Questionnaire links: Unique individual link per contractor.
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.
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).
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.
4.3 Email Verification Process
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.
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.
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.
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.
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".
4.4 Questionnaire Display Interface
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).
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.
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.
4.5 Question Types and Input Handling
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.
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.
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").
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).
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").
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.
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.
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.
4.6 Conditional Questions Logic
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.
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.
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.
4.7 Mandatory Field Validation
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.
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.
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.
4.8 Submit Button Logic
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).
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.
4.9 Submission Success
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.
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.
4.10 Agency Notification on Submission
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.
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
4.11 Session and Progress Handling
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.
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.
4.12 Error Handling
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.
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.
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."
5. Post-Sending Impact
5.1 Impact on Client Portal
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.
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.
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).
5.2 Impact on Contractor Portal
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).
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.
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
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.
6. Field Details & Validations
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
6.2 Email Verification Screen
Field Name
Field Type
Description
Validation Rules
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
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
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
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
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)
6.7 Dropdown (Respondent Input)
Field Name
Field Type
Description
Validation Rules
Dropdown
Select
Select one option from list
Required if mandatory
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
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
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
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
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
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
10. Acceptance Criteria
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.
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.
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.
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.
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.
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.
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.
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
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
13. References
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)
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
13.3 Source Documents
- Questionnaires Module Meeting Transcript (December 25, 2025)
- Questionnaires Module Meeting Summary (NotebookLM)
- Updated Figma Designs (January 2, 2026)
No tickets linked — generate test cases directly from this FRD instead.