{
  "RequestType": {
    "Name": "Data Feed",
    "Description": "Request for new data feeds or modifications to existing data integrations",
    "Icon": "\uD83D\uDCCA"
  },
  "FormDefinition": {
    "Name": "Data Feed Request Form",
    "Description": "Form for requesting new data feeds or modifications to existing data integrations",
    "Fields": [
      {
        "FieldName": "source_system",
        "FieldType": "text",
        "Label": "Source System",
        "PlaceholderText": "Enter the name of the source system",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 1,
        "FieldConfig": null,
        "ValidationConfig": "{\u0022minLength\u0022: 3, \u0022maxLength\u0022: 100}",
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "destination_system",
        "FieldType": "text",
        "Label": "Destination System",
        "PlaceholderText": "Enter the name of the destination system",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 2,
        "FieldConfig": null,
        "ValidationConfig": "{\u0022minLength\u0022: 3, \u0022maxLength\u0022: 100}",
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "data_format",
        "FieldType": "select",
        "Label": "Data Format",
        "PlaceholderText": null,
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 3,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "feed_frequency",
        "FieldType": "select",
        "Label": "Feed Frequency",
        "PlaceholderText": null,
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 4,
        "FieldConfig": null,
        "ValidationConfig": null,
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "data_description",
        "FieldType": "textarea",
        "Label": "Data Description",
        "PlaceholderText": "Describe the data to be transferred, including key fields and structure",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 5,
        "FieldConfig": null,
        "ValidationConfig": "{\u0022minLength\u0022: 50, \u0022maxLength\u0022: 2000}",
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "estimated_volume",
        "FieldType": "text",
        "Label": "Estimated Data Volume",
        "PlaceholderText": "e.g., 10GB daily, 1M records per hour",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 6,
        "FieldConfig": null,
        "ValidationConfig": "{\u0022minLength\u0022: 5, \u0022maxLength\u0022: 100}",
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "business_justification",
        "FieldType": "textarea",
        "Label": "Business Justification",
        "PlaceholderText": "Explain why this data feed is needed and its business impact",
        "DefaultValue": null,
        "IsRequired": true,
        "IsVisible": true,
        "DisplayOrder": 7,
        "FieldConfig": null,
        "ValidationConfig": "{\u0022minLength\u0022: 50, \u0022maxLength\u0022: 1500}",
        "DisplayConfig": null,
        "DependentFields": null
      },
      {
        "FieldName": "sla_requirements",
        "FieldType": "textarea",
        "Label": "SLA Requirements",
        "PlaceholderText": "Specify any specific SLA requirements (latency, availability, etc.)",
        "DefaultValue": null,
        "IsRequired": false,
        "IsVisible": true,
        "DisplayOrder": 8,
        "FieldConfig": null,
        "ValidationConfig": "{\u0022maxLength\u0022: 1000}",
        "DisplayConfig": null,
        "DependentFields": null
      }
    ],
    "ConditionalRules": [
      {
        "RuleName": "Show SLA Requirements for Real-time Feeds",
        "TriggerCondition": "fields.feed_frequency === \u0027Real-time\u0027 || fields.feed_frequency === \u0027Hourly\u0027",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022show\u0022,\n        \u0022target\u0022: \u0022sla_requirements\u0022\n    },\n    {\n        \u0022type\u0022: \u0022require\u0022,\n        \u0022target\u0022: \u0022sla_requirements\u0022\n    }\n]",
        "Priority": 1
      },
      {
        "RuleName": "Show Volume Estimates for High-Volume Feeds",
        "TriggerCondition": "fields.estimated_volume.includes(\u0027TB\u0027) || fields.estimated_volume.includes(\u0027million\u0027) || fields.estimated_volume.includes(\u0027billion\u0027)",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022show\u0022,\n        \u0022target\u0022: \u0022performance_considerations\u0022\n    },\n    {\n        \u0022type\u0022: \u0022require\u0022,\n        \u0022target\u0022: \u0022performance_considerations\u0022\n    }\n]",
        "Priority": 2
      },
      {
        "RuleName": "Show Security Requirements for External Systems",
        "TriggerCondition": "fields.source_system.includes(\u0027external\u0027) || fields.destination_system.includes(\u0027external\u0027)",
        "Actions": "[\n    {\n        \u0022type\u0022: \u0022show\u0022,\n        \u0022target\u0022: \u0022security_requirements\u0022\n    },\n    {\n        \u0022type\u0022: \u0022require\u0022,\n        \u0022target\u0022: \u0022security_requirements\u0022\n    }\n]",
        "Priority": 3
      }
    ],
    "ValidationRules": [
      {
        "RuleName": "System Names Required",
        "TargetFields": "source_system,destination_system",
        "ValidationExpression": "fields.source_system.length \u003E= 2 \u0026\u0026 fields.destination_system.length \u003E= 2",
        "ErrorMessage": "Both source and destination system names must be specified",
        "ValidationLevel": "Error"
      },
      {
        "RuleName": "Data Description Detailed",
        "TargetFields": "data_description",
        "ValidationExpression": "fields.data_description.length \u003E= 50",
        "ErrorMessage": "Data description must be detailed (50\u002B characters)",
        "ValidationLevel": "Error"
      },
      {
        "RuleName": "Volume Estimation Format",
        "TargetFields": "estimated_volume",
        "ValidationExpression": "/\\d\u002B\\s*(MB|GB|TB|records|rows)/i.test(fields.estimated_volume)",
        "ErrorMessage": "Volume estimate should include units (MB, GB, TB, records, rows)",
        "ValidationLevel": "Warning"
      },
      {
        "RuleName": "Business Justification Required",
        "TargetFields": "business_justification",
        "ValidationExpression": "fields.business_justification.length \u003E= 30",
        "ErrorMessage": "Business justification must be comprehensive (30\u002B characters)",
        "ValidationLevel": "Error"
      }
    ],
    "LookupLists": [
      {
        "Name": "Data Feed Formats",
        "DataSource": "static",
        "Configuration": null,
        "Items": [
          {
            "Value": "json",
            "DisplayText": "JSON",
            "ParentValue": null,
            "DisplayOrder": 1,
            "ItemConfig": null
          },
          {
            "Value": "xml",
            "DisplayText": "XML",
            "ParentValue": null,
            "DisplayOrder": 2,
            "ItemConfig": null
          },
          {
            "Value": "csv",
            "DisplayText": "CSV",
            "ParentValue": null,
            "DisplayOrder": 3,
            "ItemConfig": null
          },
          {
            "Value": "parquet",
            "DisplayText": "Parquet",
            "ParentValue": null,
            "DisplayOrder": 4,
            "ItemConfig": null
          },
          {
            "Value": "avro",
            "DisplayText": "Avro",
            "ParentValue": null,
            "DisplayOrder": 5,
            "ItemConfig": null
          },
          {
            "Value": "delimited",
            "DisplayText": "Delimited Text",
            "ParentValue": null,
            "DisplayOrder": 6,
            "ItemConfig": null
          }
        ]
      },
      {
        "Name": "Data Feed 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": "on_demand",
            "DisplayText": "On-demand",
            "ParentValue": null,
            "DisplayOrder": 6,
            "ItemConfig": null
          }
        ]
      }
    ]
  }
}