{
  "RequestType": {
    "Name": "New Feature Development",
    "Description": "Request development of new application features",
    "Icon": "\u2728"
  },
  "FormDefinition": {
    "Name": "New Feature Development Form",
    "Description": "Form for requesting new application features",
    "Fields": [
      {
        "FieldName": "feature_category",
        "FieldType": "select",
        "Label": "Feature Category",
        "PlaceholderText": "What type of feature is this?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 1,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "target_users",
        "FieldType": "multiselect",
        "Label": "Target Users",
        "PlaceholderText": "Who will use this feature?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 2,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "complexity_estimate",
        "FieldType": "select",
        "Label": "Complexity Estimate",
        "PlaceholderText": "How complex do you think this feature is?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 3,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "success_criteria",
        "FieldType": "textarea",
        "Label": "Success Criteria",
        "PlaceholderText": "How will we know this feature is successful?",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 4,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "technical_requirements",
        "FieldType": "textarea",
        "Label": "Technical Requirements",
        "PlaceholderText": "Any specific technical constraints or requirements?",
        "DefaultValue": null,
        "IsRequired": false,
        "IsVisible": true,
        "DisplayOrder": 5,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      }
    ],
    "ConditionalRules": [
      {
        "RuleName": "Show API Requirements for Integration Features",
        "TriggerCondition": "fields.feature_type === \u0027Integration\u0027 || fields.feature_type === \u0027API Development\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022show\u0022,\n        \u0022target\u0022: \u0022api_requirements\u0022\n    },\n    {\n        \u0022type\u0022: \u0022require\u0022,\n        \u0022target\u0022: \u0022api_requirements\u0022\n    }\n]",
        "Priority": 1
      },
      {
        "RuleName": "Show UI Mockups for Frontend Features",
        "TriggerCondition": "fields.feature_type === \u0027User Interface\u0027 || fields.feature_type === \u0027Frontend\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022show\u0022,\n        \u0022target\u0022: \u0022ui_mockups\u0022\n    },\n    {\n        \u0022type\u0022: \u0022require\u0022,\n        \u0022target\u0022: \u0022ui_mockups\u0022\n    }\n]",
        "Priority": 2
      },
      {
        "RuleName": "Show Performance Criteria for High Priority",
        "TriggerCondition": "fields.priority_level === \u0027High\u0027 || fields.priority_level === \u0027Critical\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022show\u0022,\n        \u0022target\u0022: \u0022performance_criteria\u0022\n    },\n    {\n        \u0022type\u0022: \u0022require\u0022,\n        \u0022target\u0022: \u0022performance_criteria\u0022\n    }\n]",
        "Priority": 3
      }
    ],
    "ValidationRules": [
      {
        "RuleName": "Feature Name Uniqueness Check",
        "TargetFields": "feature_name",
        "ValidationExpression": "fields.feature_name.length \u003E= 3 \u0026\u0026 fields.feature_name.length \u003C= 80",
        "ErrorMessage": "Feature name must be between 3 and 80 characters",
        "ValidationLevel": "Error"
      },
      {
        "RuleName": "Business Value Required",
        "TargetFields": "business_value",
        "ValidationExpression": "fields.business_value.length \u003E= 30",
        "ErrorMessage": "Business value explanation must be at least 30 characters",
        "ValidationLevel": "Error"
      },
      {
        "RuleName": "Acceptance Criteria Format",
        "TargetFields": "acceptance_criteria",
        "ValidationExpression": "fields.acceptance_criteria.includes(\u0027Given\u0027) || fields.acceptance_criteria.includes(\u0027When\u0027) || fields.acceptance_criteria.includes(\u0027Then\u0027)",
        "ErrorMessage": "Acceptance criteria should follow Given/When/Then format",
        "ValidationLevel": "Warning"
      }
    ],
    "LookupLists": [
      {
        "Name": "Feature Categories",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "ui_ux",
            "DisplayText": "User Interface/UX",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "api",
            "DisplayText": "API/Integration",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "reporting",
            "DisplayText": "Reporting/Analytics",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "security",
            "DisplayText": "Security",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          },
          {
            "Value": "performance",
            "DisplayText": "Performance",
            "ParentValue": null,
            "DisplayOrder": 5,
            "ItemConfig": null
          },
          {
            "Value": "workflow",
            "DisplayText": "Workflow/Process",
            "ParentValue": null,
            "DisplayOrder": 6,
            "ItemConfig": null
          }
        ]
      },
      {
        "Name": "Priority Levels",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "low",
            "DisplayText": "Low",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "medium",
            "DisplayText": "Medium",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "high",
            "DisplayText": "High",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "critical",
            "DisplayText": "Critical",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          }
        ]
      }
    ]
  }
}