{
  "filterGroups": [
    {
      "id": "type",
      "label": "Type",
      "icon": "📋",
      "order": 1,
      "options": [
        {
          "id": "storm_door",
          "label": "Storm Door",
          "value": "Storm Door",
          "aliases": ["storm-door", "stormdoor"],
          "keywords": ["storm", "door"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "subType.door",
            "matchMethod": "exact",
            "normalizedValue": "stormdoor"
          }
        },
        {
          "id": "storm_window",
          "label": "Storm Window",
          "value": "Storm Window",
          "aliases": ["storm-window", "stormwindow"],
          "keywords": ["storm", "window"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "subType.window",
            "matchMethod": "exact",
            "normalizedValue": "stormwindow"
          }
        },
        {
          "id": "primary_window",
          "label": "Primary Window",
          "value": "Primary Window",
          "aliases": ["primary-window", "primarywindow"],
          "keywords": ["primary", "window"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "subType.window",
            "matchMethod": "exact",
            "normalizedValue": "primarywindow"
          }
        }
      ],
      "logicWithinGroup": "OR",
      "autoCheckBehavior": {
        "enabled": true,
        "requireAllKeywords": true,
        "requireSequential": true,
        "minSpecificity": 2
      }
    },
    {
      "id": "color",
      "label": "Color",
      "icon": "🎨",
      "order": 2,
      "options": [
        {
          "id": "white",
          "label": "White",
          "value": "White",
          "aliases": ["wht"],
          "keywords": ["white"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "colors",
            "matchMethod": "array_includes",
            "normalizedValue": "white"
          }
        },
        {
          "id": "bronze",
          "label": "Bronze",
          "value": "Bronze",
          "aliases": ["brz", "brown"],
          "keywords": ["bronze"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "colors",
            "matchMethod": "array_includes",
            "normalizedValue": "bronze"
          }
        },
        {
          "id": "black",
          "label": "Black",
          "value": "Black",
          "aliases": ["blk"],
          "keywords": ["black"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "colors",
            "matchMethod": "array_includes",
            "normalizedValue": "black"
          }
        },
        {
          "id": "sandstone",
          "label": "Sandstone",
          "value": "Sandstone",
          "aliases": ["sand", "sndst"],
          "keywords": ["sandstone"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "colors",
            "matchMethod": "array_includes",
            "normalizedValue": "sandstone"
          }
        },
        {
          "id": "tan",
          "label": "Tan",
          "value": "Tan",
          "aliases": [],
          "keywords": ["tan"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "colors",
            "matchMethod": "array_includes",
            "normalizedValue": "tan"
          }
        },
        {
          "id": "mill",
          "label": "Mill",
          "value": "Mill",
          "aliases": ["mill finish"],
          "keywords": ["mill"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "colors",
            "matchMethod": "array_includes",
            "normalizedValue": "mill"
          }
        }
      ],
      "logicWithinGroup": "OR",
      "autoCheckBehavior": {
        "enabled": true,
        "requireAllKeywords": true,
        "requireSequential": false,
        "minSpecificity": 1
      }
    },
    {
      "id": "material",
      "label": "Material",
      "icon": "🔧",
      "order": 3,
      "options": [
        {
          "id": "aluminum",
          "label": "Aluminum",
          "value": "Aluminum",
          "aliases": ["alum", "aluminium", "al"],
          "keywords": ["aluminum"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "materials",
            "matchMethod": "array_includes",
            "normalizedValue": "aluminum"
          }
        },
        {
          "id": "vinyl",
          "label": "Vinyl",
          "value": "Vinyl",
          "aliases": ["vnyl"],
          "keywords": ["vinyl"],
          "requiredKeywords": "all",
          "associations": {
            "productField": "materials",
            "matchMethod": "array_includes",
            "normalizedValue": "vinyl"
          }
        }
      ],
      "logicWithinGroup": "OR",
      "autoCheckBehavior": {
        "enabled": true,
        "requireAllKeywords": true,
        "requireSequential": false,
        "minSpecificity": 1
      }
    }
  ],
  "baseTypes": [
    {
      "id": "door",
      "label": "Door",
      "keywords": ["door"],
      "impliesOptions": ["storm_door"],
      "productField": "baseType",
      "normalizedValue": "door"
    },
    {
      "id": "window",
      "label": "Window",
      "keywords": ["window"],
      "impliesOptions": ["storm_window", "primary_window"],
      "productField": "baseType",
      "normalizedValue": "window"
    },
    {
      "id": "patio_door",
      "label": "Patio Door",
      "keywords": ["patio", "door"],
      "requiredKeywords": "all",
      "impliesOptions": [],
      "productField": "baseType",
      "normalizedValue": "patiodoor"
    }
  ],
  "searchBehavior": {
    "defaultLogic": "AND",
    "filterLogicBetweenGroups": "AND",
    "filterLogicWithinGroup": "OR",
    "processOrder": ["type", "color", "material"],
    "removeMatchedFromSearch": true,
    "requireSequentialForMultiWord": true,
    "ignoreWords": ["and", "or", "the", "a", "an"]
  }
}
