{
  "RequestType": {
    "Name": "BI Report Development",
    "Description": "Request development of a new business intelligence report or dashboard",
    "Icon": "\uD83D\uDCCA"
  },
  "FormDefinition": {
    "Name": "BI Report Development Form",
    "Description": "Form for requesting new business intelligence reports or dashboards",
    "Fields": [
      {
        "FieldName": "report_type",
        "FieldType": "select",
        "Label": "Report Type",
        "PlaceholderText": "Select the type of report",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 1,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "data_sources",
        "FieldType": "multiselect",
        "Label": "Data Sources",
        "PlaceholderText": "Select all applicable data sources",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 2,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "target_audience",
        "FieldType": "select",
        "Label": "Target Audience",
        "PlaceholderText": "Who will be using this report?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 3,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "update_frequency",
        "FieldType": "select",
        "Label": "Update Frequency",
        "PlaceholderText": "How often should the report be updated?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 4,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "delivery_date",
        "FieldType": "date",
        "Label": "Required Delivery Date",
        "PlaceholderText": "When do you need this report?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 5,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "business_justification",
        "FieldType": "textarea",
        "Label": "Business Justification",
        "PlaceholderText": "Explain the business need and expected benefits",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 6,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      }
    ],
    "ConditionalRules": [
      {
        "RuleName": "Pre-populate justification for Interactive Dashboard",
        "TriggerCondition": "fields.report_type === \u0027dashboard\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022setValue\u0022,\n        \u0022target\u0022: \u0022business_justification\u0022,\n        \u0022value\u0022: \u0022This interactive dashboard will provide real-time visibility into key business metrics, enabling stakeholders to make data-driven decisions quickly. The visual format will improve data accessibility and reduce time spent on manual reporting, ultimately increasing operational efficiency and strategic decision-making capabilities.\u0022\n    }\n]",
        "Priority": 1
      },
      {
        "RuleName": "Pre-populate justification for Operational Report",
        "TriggerCondition": "fields.report_type === \u0027operational\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022setValue\u0022,\n        \u0022target\u0022: \u0022business_justification\u0022,\n        \u0022value\u0022: \u0022This operational report will standardize our day-to-day monitoring processes and provide consistent data views across departments. It will reduce manual data compilation efforts, ensure data accuracy, and support compliance requirements by maintaining audit trails and regular operational insights.\u0022\n    }\n]",
        "Priority": 2
      },
      {
        "RuleName": "Pre-populate justification for Analytical Report",
        "TriggerCondition": "fields.report_type === \u0027analytical\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022setValue\u0022,\n        \u0022target\u0022: \u0022business_justification\u0022,\n        \u0022value\u0022: \u0022This analytical report will enable deep-dive analysis of business trends and patterns, supporting strategic planning and performance optimization. The insights generated will help identify opportunities for improvement, cost savings, and revenue growth through data-driven analysis and predictive modeling.\u0022\n    }\n]",
        "Priority": 3
      },
      {
        "RuleName": "Pre-populate justification for Executive Summary",
        "TriggerCondition": "fields.report_type === \u0027summary\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022setValue\u0022,\n        \u0022target\u0022: \u0022business_justification\u0022,\n        \u0022value\u0022: \u0022This executive summary report will provide high-level insights and key performance indicators to senior leadership, enabling strategic decision-making at the organizational level. It will consolidate complex data into actionable insights, supporting board presentations and executive briefings with clear, concise business intelligence.\u0022\n    }\n]",
        "Priority": 4
      },
      {
        "RuleName": "Pre-populate justification for KPI Scorecard",
        "TriggerCondition": "fields.report_type === \u0027kpi\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022setValue\u0022,\n        \u0022target\u0022: \u0022business_justification\u0022,\n        \u0022value\u0022: \u0022This KPI scorecard will establish standardized performance measurement across the organization, enabling consistent tracking of critical business objectives. It will support performance management initiatives, goal alignment, and provide clear visibility into progress against strategic targets and operational benchmarks.\u0022\n    }\n]",
        "Priority": 5
      }
    ],
    "ValidationRules": [
      {
        "RuleName": "Report Name Length Check",
        "TargetFields": "report_name",
        "ValidationExpression": "fields.report_name.length \u003E= 5 \u0026\u0026 fields.report_name.length \u003C= 100",
        "ErrorMessage": "Report name must be between 5 and 100 characters",
        "ValidationLevel": "Error"
      },
      {
        "RuleName": "Business Justification Required",
        "TargetFields": "business_justification",
        "ValidationExpression": "fields.business_justification.length \u003E= 20",
        "ErrorMessage": "Business justification must be at least 20 characters",
        "ValidationLevel": "Error"
      },
      {
        "RuleName": "Due Date Future Validation",
        "TargetFields": "due_date",
        "ValidationExpression": "new Date(fields.due_date) \u003E new Date()",
        "ErrorMessage": "Due date must be in the future",
        "ValidationLevel": "Warning"
      }
    ],
    "LookupLists": [
      {
        "Name": "Report Types",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "dashboard",
            "DisplayText": "Interactive Dashboard",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "operational",
            "DisplayText": "Operational Report",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "analytical",
            "DisplayText": "Analytical Report",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "summary",
            "DisplayText": "Executive Summary",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          },
          {
            "Value": "kpi",
            "DisplayText": "KPI Scorecard",
            "ParentValue": null,
            "DisplayOrder": 5,
            "ItemConfig": null
          }
        ]
      },
      {
        "Name": "Data Sources",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "sql_server",
            "DisplayText": "SQL Server",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "oracle",
            "DisplayText": "Oracle Database",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "mysql",
            "DisplayText": "MySQL",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "api",
            "DisplayText": "REST API",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          },
          {
            "Value": "csv",
            "DisplayText": "CSV Files",
            "ParentValue": null,
            "DisplayOrder": 5,
            "ItemConfig": null
          },
          {
            "Value": "excel",
            "DisplayText": "Excel Files",
            "ParentValue": null,
            "DisplayOrder": 6,
            "ItemConfig": null
          }
        ]
      },
      {
        "Name": "Target Audience",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "executives",
            "DisplayText": "Executive Leadership",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "managers",
            "DisplayText": "Department Managers",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "analysts",
            "DisplayText": "Business Analysts",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "ops_team",
            "DisplayText": "Operations Team",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          },
          {
            "Value": "external",
            "DisplayText": "External Clients",
            "ParentValue": null,
            "DisplayOrder": 5,
            "ItemConfig": null
          }
        ]
      },
      {
        "Name": "Update Frequency",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "real_time",
            "DisplayText": "Real-time",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "hourly",
            "DisplayText": "Hourly",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "daily",
            "DisplayText": "Daily",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "weekly",
            "DisplayText": "Weekly",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          },
          {
            "Value": "monthly",
            "DisplayText": "Monthly",
            "ParentValue": null,
            "DisplayOrder": 5,
            "ItemConfig": null
          },
          {
            "Value": "quarterly",
            "DisplayText": "Quarterly",
            "ParentValue": null,
            "DisplayOrder": 6,
            "ItemConfig": null
          }
        ]
      }
    ]
  }
}