{
  "version": 2,
  "_workflow": [
    "1) groups: alias nazwy parametru → dokładna nazwa jak w Base.com / eksporcie XML.",
    "2) preserveExactLabels: nazwy bez scalania z innymi (np. wymiary cm, pola DE).",
    "3) valueMaps: dla wybranych parametrów (klucz = nazwa kanoniczna) mapuj wartości wewnętrzne → wartość jak w Base (łatwiejsze mapowanie Allegro w BL).",
    "4) Kod: najpierw resolve nazwy, potem resolve wartości; na końcu uzupełnianie Szerokość/Długość (cm) z baseFields gdy brak.",
    "5) excludeFromFeatures: parametry pomijane w text_fields.features przy wysyłce do Base (EAN jest top-level; Wymiary/rozmiar zbiorczy duplikuje Szerokość+Długość cm; spód/inne to szum ze źródła DE). Szerokość (cm) i Długość (cm) zostają w features — to osobne parametry katalogu Base.com."
  ],
  "excludeFromFeatures": [
    "EAN",
    "GTIN",
    "Spód",
    "Tył",
    "Ruecken",
    "Rücken",
    "Inne",
    "Sonstiges",
    "Informacje dodatkowe",
    "Wymiary"
  ],
  "groups": [
    {
      "canonical": "Materiał runa",
      "aliases": ["Material", "Materiał runa", "Materiał"]
    },
    {
      "canonical": "Kształt",
      "aliases": ["Ksztalt", "Kształt"]
    },
    {
      "canonical": "Kolor",
      "aliases": ["Kolor dominujacy", "Kolor dominujący", "Kolor"]
    },
    {
      "canonical": "Wzór",
      "aliases": ["Wzor", "Wzór"]
    },
    {
      "canonical": "Ogrzewanie podłogowe",
      "aliases": ["Ogrzewanie podlogowe", "Ogrzewanie podłogowe"]
    },
    {
      "canonical": "Rodzaj",
      "aliases": ["Dlugosc wlosa", "Długość włosa", "Rodzaj"]
    },
    {
      "canonical": "Wymiary",
      "aliases": ["Wymiary"]
    },
    {
      "canonical": "Zastosowanie",
      "aliases": ["Zastosowanie"]
    },
    {
      "canonical": "Antyposlizgowy",
      "aliases": ["Antyposlizgowy", "Antypoślizgowy"]
    },
    {
      "canonical": "Latwy w czyszczeniu",
      "aliases": ["Latwy w czyszczeniu", "Łatwy w czyszczeniu"]
    },
    {
      "canonical": "Przeznaczenie",
      "aliases": ["Przeznaczenie"]
    },
    {
      "canonical": "Marka",
      "aliases": ["Marka"]
    },
    {
      "canonical": "Stan",
      "aliases": ["Stan"]
    }
  ],
  "preserveExactLabels": [
    "Informacje dodatkowe",
    "GTIN",
    "Numer artykułu",
    "Numer artykułu dostawcy",
    "Sonstiges",
    "Angaben nach TKG",
    "Herstellungsart",
    "Schadstofffrei",
    "Kraj pochodzenia",
    "Stan opakowania",
    "Tył",
    "Wysokość całkowita",
    "Waga całkowita",
    "Waga całkowita (kg/m²)",
    "Waga całkowita (kg/m2)",
    "Wysokość runa (mm)",
    "Szerokość (cm)",
    "Długość (cm)",
    "Antystatyczny"
  ],
  "valueMaps": {
    "Kształt": [
      {
        "aliases": ["Okragly", "Okrągły", "okragly"],
        "output": "Okrągły"
      },
      {
        "aliases": ["Prostokatny", "Prostokątny", "prostokatny"],
        "output": "Prostokątny"
      }
    ],
    "Rodzaj": [
      {
        "aliases": ["Krotkowlosy", "Krótkowłosy", "krotkowlosy", "z krotkim wlosiem"],
        "output": "z krótkim włosiem"
      },
      {
        "aliases": ["Wysokorunowy", "wysokorunowy"],
        "output": "z długim włosiem"
      },
      {
        "aliases": ["Sredniorunowy", "Średniorunowy", "sredniorunowy"],
        "output": "średni włos"
      },
      {
        "aliases": ["Bez wlosa", "Bez włosa", "bez wlosa", "plaskotkany"],
        "output": "płaskotkany"
      },
      {
        "aliases": ["Shaggy", "shaggy"],
        "output": "Shaggy"
      }
    ],
    "Zastosowanie": [
      {
        "aliases": ["Wewnatrz i na zewnatrz", "wewnatrz i na zewnatrz"],
        "output": "Wewnątrz i na zewnątrz"
      }
    ],
    "Przeznaczenie": [
      {
        "aliases": ["do wnetrz", "do wnętrz"],
        "output": "do wnętrz"
      },
      {
        "aliases": ["Wewnatrz i na zewnatrz"],
        "output": "Wewnątrz i na zewnątrz"
      }
    ]
  }
}
