{
  "schema": "dv-ai-spec/1",
  "prijs_versie": "salsita-2026-09",
  "bijgewerkt": "2026-09-29",
  "over": "Productinformatie van douchevloeren.nl (Marlan B.V.) voor het samenstellen van een solid-surface douchevloer op maat in een AI-assistent. De klant plaatst de bestelling zelf op douchevloeren.nl.",
  "links": {
    "pagina": "https://douchevloeren.nl/ai",
    "json": "https://douchevloeren.nl/ai/douchevloer.json",
    "connector": "https://douchevloeren.nl/mcp"
  },
  "merk": {
    "naam": "douchevloeren.nl",
    "fabrikant": "Marlan B.V.",
    "adres": "Mulderspark 3, 9351 NR Leek, Nederland",
    "kvk": "57748721",
    "btw_nummer": "NL852718901B01",
    "website": "https://douchevloeren.nl",
    "email": "info@marlan.com",
    "telefoon": "+31594515080",
    "product": "Douchevloeren van massief solid surface, doorgekleurd, op bestelling gemaakt door Marlan in Leek."
  },
  "maten": {
    "eenheid": "mm",
    "vorm": "rechthoek",
    "hele_millimeters": true,
    "lengte_mm": "maat langs de achterwand (links-rechts)",
    "breedte_mm": "maat van de achterwand naar de voorzijde",
    "korte_zijde": {
      "min_mm": 700,
      "max_mm": 1500
    },
    "lange_zijde": {
      "min_mm": 700,
      "max_mm": 3200
    },
    "orientatie": "Lengte of breedte mag de lange zijde zijn: 1000 mm breed en 1600 mm diep is ook mogelijk.",
    "dikte_mm": 24,
    "val_mm": 14,
    "val": "Vaste val van 14 mm: 24 mm aan de rand, 10 mm bij de afvoer.",
    "naad": {
      "korte_zijde_boven_mm": 1230,
      "toeslag_incl_cents": 39325,
      "toeslag_ex_cents": 32500,
      "toelichting": "Bij een korte zijde boven 1230 mm worden twee platen naadloos verlijmd tot één geheel. Gewoon bestelbaar, met een toeslag voor het verlijmen."
    }
  },
  "afvoer": {
    "soort": "één puntafvoer",
    "x_mm": "afvoerhart gemeten vanaf de linkerwand",
    "y_mm": "afvoerhart gemeten vanaf de achterwand",
    "min_afstand_rand_mm": 150,
    "regel": "Het afvoerhart ligt binnen de vloer en minimaal 150 mm uit elke rand.",
    "presets": [
      {
        "preset": "linkerhoek",
        "positie": "x = 150, y = 150"
      },
      {
        "preset": "rechterhoek",
        "positie": "x = lengte − 150, y = 150"
      },
      {
        "preset": "midden",
        "positie": "x = lengte / 2, y = breedte / 2, afgerond op hele mm (half naar boven)"
      },
      {
        "preset": "standaard",
        "positie": "de eerste standaardpositie van een standaardmaat, in de oriëntatie van de klant"
      },
      {
        "preset": "vrij",
        "positie": "x_mm en y_mm zelf opgegeven"
      }
    ],
    "standaardposities": [
      {
        "catalogusmaat": "1200 × 900",
        "artikelen": [
          "90x120",
          "90x120-standaard-afvoer"
        ],
        "l_groter_of_gelijk_b": [
          {
            "x_mm": 170,
            "y_mm": 450
          },
          {
            "x_mm": 1030,
            "y_mm": 450
          }
        ],
        "l_kleiner_dan_b": [
          {
            "x_mm": 450,
            "y_mm": 170
          },
          {
            "x_mm": 450,
            "y_mm": 1030
          }
        ]
      },
      {
        "catalogusmaat": "1200 × 1000",
        "artikelen": [
          "100x120",
          "100x120-standaard-afvoer"
        ],
        "l_groter_of_gelijk_b": [
          {
            "x_mm": 170,
            "y_mm": 500
          },
          {
            "x_mm": 1030,
            "y_mm": 500
          }
        ],
        "l_kleiner_dan_b": [
          {
            "x_mm": 500,
            "y_mm": 170
          },
          {
            "x_mm": 500,
            "y_mm": 1030
          }
        ]
      },
      {
        "catalogusmaat": "1200 × 1200",
        "artikelen": [
          "120x120",
          "120x120-standaard-afvoer"
        ],
        "l_groter_of_gelijk_b": [
          {
            "x_mm": 600,
            "y_mm": 600
          }
        ],
        "l_kleiner_dan_b": [
          {
            "x_mm": 600,
            "y_mm": 600
          }
        ]
      },
      {
        "catalogusmaat": "1800 × 1000",
        "artikelen": [
          "100x180-inkortbaar",
          "100x180-inkortbaar-standaard-afvoer"
        ],
        "l_groter_of_gelijk_b": [
          {
            "x_mm": 170,
            "y_mm": 500
          },
          {
            "x_mm": 1630,
            "y_mm": 500
          }
        ],
        "l_kleiner_dan_b": [
          {
            "x_mm": 500,
            "y_mm": 170
          },
          {
            "x_mm": 500,
            "y_mm": 1630
          }
        ]
      }
    ],
    "standaard_toelichting": "De mal is symmetrisch: een gedraaide of gespiegelde vloer is hetzelfde product. De preset standaard kiest de eerste positie in de oriëntatie van de klant en bestaat alleen op de standaardmaten."
  },
  "uitvoeringen": [
    {
      "uitvoering": "kapje",
      "naam": "solid-surface kapje",
      "afvoer_uitvoering": "solid-surface-deksel",
      "omschrijving": "Kapje □ 140 × 12 mm in de vloerkleur op een verlijmde onderplaat □ 220 × 21 mm. Met de sifonset is de inbouwhoogte 105 mm (81 mm onder de plaat); vrije ruimte in de ondervloer 220 × 220 mm.",
      "prijsverschil_maatwerk_incl_cents": 0,
      "prijsverschil_maatwerk_ex_cents": 0,
      "prijsverschil": "Basisuitvoering."
    },
    {
      "uitvoering": "viega",
      "naam": "standaard Viega-afvoergat Ø 90",
      "afvoer_uitvoering": "standaard-afvoer",
      "omschrijving": "Kaal afvoergat Ø 90 mm, passend op elke standaard Ø 90-doucheafvoer met chromen deksel, bijvoorbeeld Viega Tempoplex 60 (60 mm onder de plaat).",
      "prijsverschil_maatwerk_incl_cents": -15004,
      "prijsverschil_maatwerk_ex_cents": -12400,
      "prijsverschil": "Maatwerk: €150,04 incl. btw (€124,00 ex btw) goedkoper dan met kapje. Standaardmaten: een eigen, goedkoper artikel (…-standaard-afvoer), bij terrazzo met 25% toeslag over dat artikel."
    }
  ],
  "sifonset": {
    "naam": "Sifonset Viega Tempoplex 60",
    "prijs_incl_cents": 4900,
    "prijs_ex_cents": 4050,
    "per": "bestelling",
    "voorwaarde": "Eén per bestelling, alleen als er minstens één vloer met kapje (solid-surface-deksel) in de winkelwagen zit.",
    "bestellink": "sifonset=1 vinkt de sifonset in de checkout vóór; hij hoort niet bij de configuratie.",
    "herroeping": "14_dagen"
  },
  "kleuren": [
    {
      "slug": "blossom-white",
      "naam": "Blossom White",
      "hex": "#F0F1F2",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/blossom-white.png"
    },
    {
      "slug": "everest-white",
      "naam": "Everest White",
      "hex": "#F2F2F2",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/everest-white.png"
    },
    {
      "slug": "white-linen",
      "naam": "White Linen",
      "hex": "#ECE9DF",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/white-linen.png"
    },
    {
      "slug": "blanched-almond",
      "naam": "Blanched Almond",
      "hex": "#EFE4D2",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/blanched-almond.png"
    },
    {
      "slug": "vanilla-cream",
      "naam": "Vanilla Cream",
      "hex": "#E8DDC9",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/vanilla-cream.png"
    },
    {
      "slug": "warm-grey",
      "naam": "Warm Grey",
      "hex": "#C5BCB1",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/warm-grey.png"
    },
    {
      "slug": "mocha-grey",
      "naam": "Mocha Grey",
      "hex": "#A29789",
      "terrazzo": false,
      "toeslag_pct": 0,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/mocha-grey.png"
    },
    {
      "slug": "mother-of-pearl",
      "naam": "Mother of Pearl",
      "hex": "#E7E6E5",
      "terrazzo": true,
      "toeslag_pct": 25,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/mother-of-pearl.png"
    },
    {
      "slug": "terrazzo-pink",
      "naam": "Terrazzo Pink",
      "hex": "#E2DDD6",
      "terrazzo": true,
      "toeslag_pct": 25,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/terrazzo-pink.png"
    },
    {
      "slug": "desert-rock",
      "naam": "Desert Rock",
      "hex": "#C4AE93",
      "terrazzo": true,
      "toeslag_pct": 25,
      "kleurvoorbeeld": "https://douchevloeren.nl/renders/100x120/desert-rock.png"
    }
  ],
  "kleurvoorbeeld_toelichting": "Het kleurvoorbeeld is een foto van een standaardvloer 100 × 120 cm in die kleur, geen beeld van de bestelde vloer.",
  "catalogus": [
    {
      "slug": "100x120",
      "naam": "Douchevloer 100×120",
      "maat_cm": "100 × 120",
      "lengte_mm": 1200,
      "breedte_mm": 1000,
      "uitvoering": "kapje",
      "inkortbaar": false,
      "standaardposities": [
        {
          "x_mm": 170,
          "y_mm": 500
        },
        {
          "x_mm": 1030,
          "y_mm": 500
        }
      ],
      "prijs_incl_cents": 74052,
      "prijs_ex_cents": 61200,
      "terrazzo_prijs_incl_cents": 92565,
      "terrazzo_prijs_ex_cents": 76500,
      "url": "https://douchevloeren.nl/collectie/100x120",
      "herroeping": "14_dagen"
    },
    {
      "slug": "90x120",
      "naam": "Douchevloer 90×120",
      "maat_cm": "90 × 120",
      "lengte_mm": 1200,
      "breedte_mm": 900,
      "uitvoering": "kapje",
      "inkortbaar": false,
      "standaardposities": [
        {
          "x_mm": 170,
          "y_mm": 450
        },
        {
          "x_mm": 1030,
          "y_mm": 450
        }
      ],
      "prijs_incl_cents": 68365,
      "prijs_ex_cents": 56500,
      "terrazzo_prijs_incl_cents": 85456,
      "terrazzo_prijs_ex_cents": 70625,
      "url": "https://douchevloeren.nl/collectie/90x120",
      "herroeping": "14_dagen"
    },
    {
      "slug": "100x180-inkortbaar",
      "naam": "Douchevloer 100×180 inkortbaar",
      "maat_cm": "100 × 180",
      "lengte_mm": 1800,
      "breedte_mm": 1000,
      "uitvoering": "kapje",
      "inkortbaar": true,
      "standaardposities": [
        {
          "x_mm": 170,
          "y_mm": 500
        },
        {
          "x_mm": 1630,
          "y_mm": 500
        }
      ],
      "prijs_incl_cents": 101761,
      "prijs_ex_cents": 84100,
      "terrazzo_prijs_incl_cents": 127201,
      "terrazzo_prijs_ex_cents": 105125,
      "url": "https://douchevloeren.nl/collectie/100x180-inkortbaar",
      "herroeping": "14_dagen"
    },
    {
      "slug": "120x120",
      "naam": "Douchevloer 120×120",
      "maat_cm": "120 × 120",
      "lengte_mm": 1200,
      "breedte_mm": 1200,
      "uitvoering": "kapje",
      "inkortbaar": false,
      "standaardposities": [
        {
          "x_mm": 600,
          "y_mm": 600
        }
      ],
      "prijs_incl_cents": 78045,
      "prijs_ex_cents": 64500,
      "terrazzo_prijs_incl_cents": 97556,
      "terrazzo_prijs_ex_cents": 80625,
      "url": "https://douchevloeren.nl/collectie/120x120",
      "herroeping": "14_dagen"
    },
    {
      "slug": "100x120-standaard-afvoer",
      "naam": "Douchevloer 100×120 — standaard afvoer",
      "maat_cm": "100 × 120",
      "lengte_mm": 1200,
      "breedte_mm": 1000,
      "uitvoering": "viega",
      "inkortbaar": false,
      "standaardposities": [
        {
          "x_mm": 170,
          "y_mm": 500
        },
        {
          "x_mm": 1030,
          "y_mm": 500
        }
      ],
      "prijs_incl_cents": 59048,
      "prijs_ex_cents": 48800,
      "terrazzo_prijs_incl_cents": 73810,
      "terrazzo_prijs_ex_cents": 61000,
      "url": "https://douchevloeren.nl/collectie/100x120-standaard-afvoer",
      "herroeping": "14_dagen"
    },
    {
      "slug": "90x120-standaard-afvoer",
      "naam": "Douchevloer 90×120 — standaard afvoer",
      "maat_cm": "90 × 120",
      "lengte_mm": 1200,
      "breedte_mm": 900,
      "uitvoering": "viega",
      "inkortbaar": false,
      "standaardposities": [
        {
          "x_mm": 170,
          "y_mm": 450
        },
        {
          "x_mm": 1030,
          "y_mm": 450
        }
      ],
      "prijs_incl_cents": 53361,
      "prijs_ex_cents": 44100,
      "terrazzo_prijs_incl_cents": 66701,
      "terrazzo_prijs_ex_cents": 55125,
      "url": "https://douchevloeren.nl/collectie/90x120-standaard-afvoer",
      "herroeping": "14_dagen"
    },
    {
      "slug": "100x180-inkortbaar-standaard-afvoer",
      "naam": "Douchevloer 100×180 inkortbaar — standaard afvoer",
      "maat_cm": "100 × 180",
      "lengte_mm": 1800,
      "breedte_mm": 1000,
      "uitvoering": "viega",
      "inkortbaar": true,
      "standaardposities": [
        {
          "x_mm": 170,
          "y_mm": 500
        },
        {
          "x_mm": 1630,
          "y_mm": 500
        }
      ],
      "prijs_incl_cents": 86757,
      "prijs_ex_cents": 71700,
      "terrazzo_prijs_incl_cents": 108446,
      "terrazzo_prijs_ex_cents": 89625,
      "url": "https://douchevloeren.nl/collectie/100x180-inkortbaar-standaard-afvoer",
      "herroeping": "14_dagen"
    },
    {
      "slug": "120x120-standaard-afvoer",
      "naam": "Douchevloer 120×120 — standaard afvoer",
      "maat_cm": "120 × 120",
      "lengte_mm": 1200,
      "breedte_mm": 1200,
      "uitvoering": "viega",
      "inkortbaar": false,
      "standaardposities": [
        {
          "x_mm": 600,
          "y_mm": 600
        }
      ],
      "prijs_incl_cents": 63041,
      "prijs_ex_cents": 52100,
      "terrazzo_prijs_incl_cents": 78801,
      "terrazzo_prijs_ex_cents": 65125,
      "url": "https://douchevloeren.nl/collectie/120x120-standaard-afvoer",
      "herroeping": "14_dagen"
    }
  ],
  "prijs": {
    "valuta": "EUR",
    "btw_pct": 21,
    "incl_btw_eerst": true,
    "bedragen_in": "centen",
    "maatwerk_formule": [
      "m2_ex = round(lengte_mm × breedte_mm × 92500 / 1000000)",
      "vloer_ex = round(m2_ex × (terrazzo ? 1.25 : 1)) + (korte zijde > 1230 ? 32500 : 0) − (viega ? 12400 : 0)",
      "per_stuk_incl = round(vloer_ex × 1.21)",
      "goederen_ex = vloer_ex × aantal; goederen_incl = goederen_ex + round(goederen_ex × 0.21)"
    ],
    "catalogus_formule": "per_stuk_ex = artikelprijs uit de catalogus; terrazzo: round(artikelprijs × 1.25); per_stuk_incl = round(per_stuk_ex × 1.21)",
    "totaal_formule": "totaal_incl = goederen_incl (maatwerk en catalogus samen, btw over het totaal) + (sifonset ? 4900 : 0) + verzending_incl; sifonset en verzending zijn incl. btw en gelden één keer per bestelling",
    "afronding": "Half naar boven, per stap. Een per-stuk-prijs incl. btw kan hooguit 1 cent per stuk afwijken van het ordertotaal, dat de btw over het totaal berekent.",
    "parameters": {
      "m2_ex_cents": 92500,
      "terrazzo_factor": 1.25,
      "naad_ex_cents": 32500,
      "naadgrens_korte_zijde_mm": 1230,
      "viega_korting_ex_cents": 12400,
      "sifonset_incl_cents": 4900,
      "btw": 0.21
    },
    "controlegetallen": [
      {
        "specificatie": "Douchevloer op maat 700 × 700 × 24 mm · afvoerhart 350/350 mm · Warm Grey · solid-surface kapje",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 54843,
        "per_stuk_ex_cents": 45325,
        "goederen_incl_cents": 54843,
        "goederen_ex_cents": 45325
      },
      {
        "specificatie": "Douchevloer op maat 700 × 700 × 24 mm · afvoerhart 350/350 mm · Warm Grey · standaard Viega-afvoergat Ø 90",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 39839,
        "per_stuk_ex_cents": 32925,
        "goederen_incl_cents": 39839,
        "goederen_ex_cents": 32925
      },
      {
        "specificatie": "Douchevloer op maat 1400 × 900 × 24 mm · afvoerhart 250/450 mm · Warm Grey · solid-surface kapje",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 141026,
        "per_stuk_ex_cents": 116550,
        "goederen_incl_cents": 141026,
        "goederen_ex_cents": 116550
      },
      {
        "specificatie": "Douchevloer op maat 1400 × 900 × 24 mm · afvoerhart 250/450 mm · Warm Grey · standaard Viega-afvoergat Ø 90",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 126022,
        "per_stuk_ex_cents": 104150,
        "goederen_incl_cents": 126022,
        "goederen_ex_cents": 104150
      },
      {
        "specificatie": "Douchevloer op maat 1400 × 900 × 24 mm · afvoerhart 250/450 mm · Desert Rock · solid-surface kapje",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 176282,
        "per_stuk_ex_cents": 145688,
        "goederen_incl_cents": 176282,
        "goederen_ex_cents": 145688
      },
      {
        "specificatie": "Douchevloer op maat 1400 × 900 × 24 mm · afvoerhart 250/450 mm · Desert Rock · standaard Viega-afvoergat Ø 90",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 161278,
        "per_stuk_ex_cents": 133288,
        "goederen_incl_cents": 161278,
        "goederen_ex_cents": 133288
      },
      {
        "specificatie": "Douchevloer op maat 1230 × 1230 × 24 mm · afvoerhart 615/615 mm · Warm Grey · solid-surface kapje",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 169331,
        "per_stuk_ex_cents": 139943,
        "goederen_incl_cents": 169331,
        "goederen_ex_cents": 139943
      },
      {
        "specificatie": "Douchevloer op maat 1240 × 1240 × 24 mm · afvoerhart 620/620 mm · Warm Grey · solid-surface kapje · naadloos verlijmd uit twee platen",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 211421,
        "per_stuk_ex_cents": 174728,
        "goederen_incl_cents": 211421,
        "goederen_ex_cents": 174728
      },
      {
        "specificatie": "Douchevloer op maat 3000 × 1500 × 24 mm · afvoerhart 1500/750 mm · Warm Grey · solid-surface kapje · naadloos verlijmd uit twee platen",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 542988,
        "per_stuk_ex_cents": 448750,
        "goederen_incl_cents": 542988,
        "goederen_ex_cents": 448750
      },
      {
        "specificatie": "Douchevloer op maat 3000 × 1500 × 24 mm · afvoerhart 1500/750 mm · Desert Rock · solid-surface kapje · naadloos verlijmd uit twee platen",
        "route": "maatwerk",
        "aantal": 1,
        "per_stuk_incl_cents": 668904,
        "per_stuk_ex_cents": 552813,
        "goederen_incl_cents": 668904,
        "goederen_ex_cents": 552813
      },
      {
        "specificatie": "Standaard douchevloer 1200 × 900 × 24 mm · afvoerhart 170/450 mm · Warm Grey · solid-surface kapje",
        "route": "catalogus",
        "aantal": 1,
        "per_stuk_incl_cents": 68365,
        "per_stuk_ex_cents": 56500,
        "goederen_incl_cents": 68365,
        "goederen_ex_cents": 56500
      },
      {
        "specificatie": "Standaard douchevloer 1200 × 900 × 24 mm · afvoerhart 1030/450 mm · Warm Grey · solid-surface kapje",
        "route": "catalogus",
        "aantal": 1,
        "per_stuk_incl_cents": 68365,
        "per_stuk_ex_cents": 56500,
        "goederen_incl_cents": 68365,
        "goederen_ex_cents": 56500
      },
      {
        "specificatie": "Standaard douchevloer 1200 × 900 × 24 mm · afvoerhart 170/450 mm · Desert Rock · standaard Viega-afvoergat Ø 90",
        "route": "catalogus",
        "aantal": 1,
        "per_stuk_incl_cents": 66701,
        "per_stuk_ex_cents": 55125,
        "goederen_incl_cents": 66701,
        "goederen_ex_cents": 55125
      },
      {
        "specificatie": "Douchevloer op maat 1400 × 900 × 24 mm · afvoerhart 250/450 mm · Warm Grey · solid-surface kapje",
        "route": "maatwerk",
        "aantal": 2,
        "per_stuk_incl_cents": 141026,
        "per_stuk_ex_cents": 116550,
        "goederen_incl_cents": 282051,
        "goederen_ex_cents": 233100
      }
    ],
    "bindend": "Prijs volgens prijslijst salsita-2026-09. De prijs in de winkelwagen en checkout van douchevloeren.nl is bindend."
  },
  "route": {
    "volgorde": [
      {
        "stap": 1,
        "route": "ongeldig",
        "wanneer": "Maat buiten bereik, of afvoer \"standaard\" op een maat die geen standaardmaat is."
      },
      {
        "stap": 2,
        "route": "offerte",
        "wanneer": "Minstens één offerte-optie gevraagd. De 150 mm-regel en de kleurcontrole zijn dan meldingen in plaats van blokkades; er wordt geen prijs genoemd."
      },
      {
        "stap": 3,
        "route": "ongeldig",
        "wanneer": "Afvoerhart buiten de vloer of minder dan 150 mm uit een rand, of een onbekende kleur."
      },
      {
        "stap": 4,
        "route": "catalogus",
        "wanneer": "Standaardmaat (in beide oriëntaties) met de afvoer op een standaardpositie: het catalogusartikel tegen de webshopprijs."
      },
      {
        "stap": 5,
        "route": "maatwerk",
        "wanneer": "Alle overige geldige configuraties, geprijsd met de maatwerkformule."
      }
    ],
    "meldingen": [
      {
        "code": "ANDERE_AFVOER_OP_CATALOGUSMAAT",
        "wanneer": "Standaardmaat met een andere afvoerpositie: de melding noemt de standaardvloer met de afvoer op de standaardpositie en beide prijzen."
      },
      {
        "code": "NET_NAAST_STANDAARDMAAT",
        "wanneer": "Lengte en breedte elk hooguit 30 mm naast een standaardmaat (beide oriëntaties, geen exacte match): de melding noemt die standaardmaat en haar prijs in dezelfde kleur en uitvoering. De route blijft maatwerk."
      },
      {
        "code": "INKORTBAAR_PAST",
        "wanneer": "Korte zijde precies 1000 mm, lange zijde 1400–1799 mm, afvoer 170 mm uit een korte kant en midden in de breedte: de inkortbare 100 × 180 past ook en wordt op locatie ingekort. De route blijft maatwerk; de klant kiest."
      },
      {
        "code": "NAAD",
        "wanneer": "Korte zijde boven 1230 mm: twee platen, naadloos verlijmd tot één geheel; met een toeslag voor het verlijmen."
      }
    ]
  },
  "offerte_opties": {
    "opties": [
      {
        "optie": "uitsparing",
        "naam": "uitsparing"
      },
      {
        "optie": "schuine_wand",
        "naam": "schuine wand"
      },
      {
        "optie": "pilaar",
        "naam": "pilaar"
      },
      {
        "optie": "lijngoot",
        "naam": "lijngoot"
      },
      {
        "optie": "glas",
        "naam": "glas"
      },
      {
        "optie": "ncs_kleur",
        "naam": "NCS-kleur"
      }
    ],
    "gevolg": "Met een of meer van deze opties wordt de configuratie een offerteaanvraag. Er wordt geen prijs genoemd; Marlan stuurt een offerte op maat.",
    "ncs": "Een NCS-kleur (bijvoorbeeld NCS S 2005-Y20R, hooguit 20 tekens) kan alleen via een offerte."
  },
  "verzending": {
    "incl_btw": true,
    "per": "bestelling",
    "zones": [
      {
        "code": "NL",
        "zone": "Nederland",
        "landen": [
          "NL"
        ],
        "prijs_incl_cents": 9500,
        "prijs_ex_cents": 7851,
        "op_aanvraag": false
      },
      {
        "code": "BENELUX_DE",
        "zone": "België, Luxemburg, Duitsland",
        "landen": [
          "BE",
          "LU",
          "DE"
        ],
        "prijs_incl_cents": 19500,
        "prijs_ex_cents": 16116,
        "op_aanvraag": false
      },
      {
        "code": "EU_WEST",
        "zone": "EU-west",
        "landen": [
          "FR",
          "AT",
          "DK",
          "IE"
        ],
        "prijs_incl_cents": 39500,
        "prijs_ex_cents": 32645,
        "op_aanvraag": false
      },
      {
        "code": "EU_REST",
        "zone": "Overig EU",
        "landen": [
          "ES",
          "PT",
          "IT",
          "SE",
          "FI",
          "PL",
          "CZ",
          "HU",
          "RO",
          "BG",
          "GR",
          "SI",
          "SK",
          "HR",
          "EE",
          "LV",
          "LT",
          "MT",
          "CY"
        ],
        "prijs_incl_cents": 55000,
        "prijs_ex_cents": 45455,
        "op_aanvraag": false
      },
      {
        "code": "WORLD",
        "zone": "Wereld (op aanvraag)",
        "landen": [],
        "prijs_incl_cents": null,
        "prijs_ex_cents": null,
        "op_aanvraag": true
      }
    ]
  },
  "levering": {
    "betaling": "Geen online betaling. Na de bestelling volgen een opdrachtbevestiging en een betaalverzoek; bij maatwerk ook een productietekening ter akkoord. De productie start na betaling.",
    "catalogus": {
      "proces": "opdrachtbevestiging en betaalverzoek",
      "levertijd": "circa 6 weken na betaling"
    },
    "maatwerk": {
      "proces": "opdrachtbevestiging, betaalverzoek en productietekening ter akkoord",
      "levertijd": "circa 6 weken na aanbetaling en akkoord op de productietekening"
    },
    "sifonset": {
      "proces": "met de order mee",
      "levertijd": "met de vloer mee"
    }
  },
  "herroeping": {
    "per": "regel",
    "catalogus": {
      "waarde": "14_dagen",
      "tekst": "14 dagen bedenktijd: een standaardmaat uit de collectie is een keuze uit vaste opties."
    },
    "maatwerk": {
      "waarde": "uitgesloten_maatwerk",
      "tekst": "Uitgesloten: de vloer wordt gemaakt volgens de maten van de klant (art. 6:230p sub f onder 1° BW). Het akkoord op de productietekening is het laatste moment om iets te wijzigen."
    },
    "sifonset": {
      "waarde": "14_dagen",
      "tekst": "14 dagen bedenktijd."
    }
  },
  "nodig_voor_bestelling": [
    "maat: lengte_mm (langs de achterwand) en breedte_mm (achter-voor), in hele millimeters",
    "afvoerpositie: linkerhoek, rechterhoek, midden, standaard (alleen op standaardmaten) of vrij met x_mm en y_mm",
    "kleur: een van de kleur-slugs",
    "uitvoering: kapje of viega",
    "of er een uitsparing, schuine wand, pilaar of lijngoot nodig is (dan wordt het een offerteaanvraag)"
  ],
  "bestellink": {
    "basis": "https://douchevloeren.nl/winkelwagen/ai",
    "werking": "De link opent de winkelwagen van douchevloeren.nl met deze vloer erin. De klant vult daar zelf zijn gegevens in en plaatst de bestelling; de link zelf bestelt niets en slaat niets op.",
    "parameters": [
      {
        "naam": "l",
        "waarden": "700–3200 (mm)",
        "verplicht": "ja, tenzij code",
        "toelichting": "lengte langs de achterwand"
      },
      {
        "naam": "b",
        "waarden": "700–3200 (mm)",
        "verplicht": "ja, tenzij code",
        "toelichting": "breedte van achterwand naar voorzijde; de korte zijde is hooguit 1500 mm"
      },
      {
        "naam": "afvoer",
        "waarden": "linkerhoek, rechterhoek, midden, standaard, vrij",
        "verplicht": "ja, tenzij code",
        "toelichting": "afvoerpositie als preset"
      },
      {
        "naam": "x, y",
        "waarden": "mm",
        "verplicht": "alleen bij afvoer=vrij",
        "toelichting": "afvoerhart vanaf de linkerwand (x) en vanaf de achterwand (y)"
      },
      {
        "naam": "kleur",
        "waarden": "blossom-white, everest-white, white-linen, blanched-almond, vanilla-cream, warm-grey, mocha-grey, mother-of-pearl, terrazzo-pink, desert-rock",
        "verplicht": "ja, tenzij code, of een offerte met ncs",
        "toelichting": "kleur-slug"
      },
      {
        "naam": "uitvoering",
        "waarden": "kapje, viega",
        "verplicht": "ja, tenzij code",
        "toelichting": "kapje = solid-surface kapje; viega = standaard Viega-afvoergat Ø 90"
      },
      {
        "naam": "code",
        "waarden": "leesbare configuratiecode",
        "verplicht": "nee",
        "toelichting": "vervangt l, b, afvoer, x, y, kleur en uitvoering"
      },
      {
        "naam": "aantal",
        "waarden": "1–5",
        "verplicht": "nee (standaard 1)",
        "toelichting": "ook naast code"
      },
      {
        "naam": "sifonset",
        "waarden": "1",
        "verplicht": "nee",
        "toelichting": "vinkt de sifonset in de checkout vóór (alleen met een vloer met kapje)"
      },
      {
        "naam": "opties",
        "waarden": "uitsparing, schuine_wand, pilaar, lijngoot, glas (kommagescheiden)",
        "verplicht": "nee",
        "toelichting": "maakt er een offerteaanvraag van"
      },
      {
        "naam": "ncs",
        "waarden": "NCS-code, hooguit 20 tekens",
        "verplicht": "nee",
        "toelichting": "alleen bij een offerte"
      },
      {
        "naam": "bron",
        "waarden": "ai-link (standaard), connector",
        "verplicht": "nee",
        "toelichting": "herkomst van de link"
      }
    ],
    "code_formaat": "v2-<lengte>x<breedte>-x<x>y<y>-<kleur>-<uitvoering>",
    "prijs": "Een prijs in de link wordt genegeerd; douchevloeren.nl berekent de prijs opnieuw bij het openen en bij het afrekenen.",
    "offerte": "Dezelfde link met opties en/of ncs wordt een offerteaanvraag: de pagina toont de specificatie en een kort formulier, zonder prijs.",
    "voorbeelden": [
      {
        "omschrijving": "Maatwerk 1400 × 900 mm, afvoerhart 250/450 mm, Warm Grey, kapje",
        "url": "https://douchevloeren.nl/winkelwagen/ai?l=1400&b=900&afvoer=vrij&x=250&y=450&kleur=warm-grey&uitvoering=kapje&bron=ai-link"
      },
      {
        "omschrijving": "Dezelfde vloer als code, 2 stuks, met sifonset",
        "url": "https://douchevloeren.nl/winkelwagen/ai?code=v2-1400x900-x250y450-warm-grey-kapje&aantal=2&bron=ai-link&sifonset=1"
      },
      {
        "omschrijving": "Standaardvloer 90 × 120 cm met Viega-afvoergat, Desert Rock",
        "url": "https://douchevloeren.nl/winkelwagen/ai?l=1200&b=900&afvoer=standaard&kleur=desert-rock&uitvoering=viega&bron=ai-link"
      },
      {
        "omschrijving": "Diepe douche 1000 × 1600 mm, afvoer in het midden, Mocha Grey, Viega-afvoergat",
        "url": "https://douchevloeren.nl/winkelwagen/ai?l=1000&b=1600&afvoer=midden&kleur=mocha-grey&uitvoering=viega&bron=ai-link"
      },
      {
        "omschrijving": "Offerteaanvraag: 1400 × 900 mm met een uitsparing, in NCS S 2005-Y20R",
        "url": "https://douchevloeren.nl/winkelwagen/ai?l=1400&b=900&afvoer=midden&uitvoering=kapje&opties=uitsparing&ncs=NCS%20S%202005-Y20R&bron=ai-link"
      }
    ]
  },
  "connector": {
    "url": "https://douchevloeren.nl/mcp",
    "protocol": "Model Context Protocol (MCP), Streamable HTTP, zonder sessie",
    "alleen_lezen": true,
    "tools": [
      {
        "naam": "douchevloer_opties",
        "doel": "maten, afvoerregels, kleuren, uitvoeringen, prijzen, verzending en herroeping"
      },
      {
        "naam": "douchevloer_berekenen",
        "doel": "route, prijs, meldingen, code en bestellink of offertelink voor één configuratie"
      },
      {
        "naam": "douchevloer_tekenen",
        "doel": "bovenaanzicht van de configuratie, zichtbaar in het gesprek"
      }
    ],
    "installatie": [
      {
        "assistent": "Claude",
        "tekst": "Customize → Connectors → + → Add custom connector → URL https://douchevloeren.nl/mcp → Add. Daarna per gesprek aanzetten via + → Connectors en de eerste toolaanroep goedkeuren. Gratis abonnement: maximaal 1 eigen connector. Team/Enterprise: de beheerder voegt hem toe.",
        "stappen": [
          "Customize → Connectors",
          "+ → Add custom connector",
          "URL: https://douchevloeren.nl/mcp",
          "Add",
          "per gesprek aanzetten via + → Connectors",
          "de eerste toolaanroep goedkeuren"
        ],
        "voorwaarden": [
          "Gratis abonnement: maximaal 1 eigen connector.",
          "Team/Enterprise: de beheerder voegt hem toe."
        ]
      },
      {
        "assistent": "Grok",
        "tekst": "Via het \"custom connector\"-scherm op grok.com/connectors, met de URL https://douchevloeren.nl/mcp.",
        "stappen": [
          "grok.com/connectors",
          "custom connector toevoegen",
          "URL: https://douchevloeren.nl/mcp"
        ],
        "voorwaarden": []
      },
      {
        "assistent": "Perplexity",
        "tekst": "Met Perplexity Pro, via het \"custom connector\"-scherm, met de URL https://douchevloeren.nl/mcp.",
        "stappen": [
          "custom connector toevoegen",
          "URL: https://douchevloeren.nl/mcp"
        ],
        "voorwaarden": [
          "Perplexity Pro"
        ]
      },
      {
        "assistent": "Le Chat",
        "tekst": "Via het \"custom connector\"-scherm van Le Chat (Mistral), met de URL https://douchevloeren.nl/mcp.",
        "stappen": [
          "custom connector toevoegen",
          "URL: https://douchevloeren.nl/mcp"
        ],
        "voorwaarden": []
      }
    ]
  },
  "tekenopdracht": {
    "doel": "Een bovenaanzicht van de gekozen vloer, te maken zonder connector, bijvoorbeeld als SVG.",
    "beschrijving": "Canvas 4:3 met een witte achtergrond. De plaat op schaal als rechthoek (lengte horizontaal, breedte verticaal, achterwand boven), gevuld met de hex van de gekozen kleur en met een donkere omlijning (#2B2723). De afvoer op (x, y): bij kapje een vierkant van 140 × 140 mm op schaal in de vloerkleur, bij viega een cirkel Ø 90 mm op schaal in chroomgrijs (#B8BCC2), beide met omlijning #2B2723. Rode maatlijnen (#C0392B) voor de afvoerpositie: x boven de plaat vanaf de linkerwand, y rechts van de plaat vanaf de achterwand. Grijze maatlijnen (#6B655D) voor de lengte (onder de plaat) en de breedte (links van de plaat). Eindstreepjes onder 45°. Alleen getallen in mm, zonder eenheid; geen woorden en geen logo.",
    "canvas": {
      "verhouding": "4:3",
      "breedte_px": 1600,
      "hoogte_px": 1200,
      "achtergrond": "#FFFFFF"
    },
    "kleuren": {
      "plaat": "hex van de gekozen kleur",
      "omlijning": "#2B2723",
      "afvoerpositie": "#C0392B",
      "buitenmaten": "#6B655D",
      "viega": "#B8BCC2"
    },
    "kapje": {
      "vorm": "vierkant",
      "zijde_mm": 140,
      "kleur": "vloerkleur"
    },
    "viega": {
      "vorm": "cirkel",
      "diameter_mm": 90,
      "kleur": "#B8BCC2"
    },
    "tekst": "alleen getallen in mm",
    "voorbeeld": {
      "specificatie": "1400 × 900 mm, afvoerhart 250/450 mm, Warm Grey, kapje",
      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1600 1200\" width=\"1600\" height=\"1200\" role=\"img\" aria-label=\"Bovenaanzicht douchevloer 1400 × 900 mm, afvoerhart 250 mm uit de linkerwand en 450 mm uit de achterwand, kapje 140 × 140 mm\">\n<rect width=\"1600\" height=\"1200\" fill=\"#FFFFFF\"/>\n<rect x=\"335\" y=\"301.1\" width=\"930\" height=\"597.9\" fill=\"#C5BCB1\"/>\n<rect x=\"454.6\" y=\"553.5\" width=\"93\" height=\"93\" fill=\"#C5BCB1\" stroke=\"#2B2723\" stroke-width=\"4\"/>\n<line x1=\"501.1\" y1=\"600\" x2=\"501.1\" y2=\"179.1\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"2.5\" stroke-dasharray=\"12 9\"/>\n<line x1=\"501.1\" y1=\"600\" x2=\"1387\" y2=\"600\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"2.5\" stroke-dasharray=\"12 9\"/>\n<line x1=\"485.1\" y1=\"600\" x2=\"517.1\" y2=\"600\" fill=\"none\" stroke=\"#2B2723\" stroke-width=\"2.5\"/>\n<line x1=\"501.1\" y1=\"584\" x2=\"501.1\" y2=\"616\" fill=\"none\" stroke=\"#2B2723\" stroke-width=\"2.5\"/>\n<rect x=\"335\" y=\"301.1\" width=\"930\" height=\"597.9\" fill=\"none\" stroke=\"#2B2723\" stroke-width=\"6\"/>\n<line x1=\"321\" y1=\"301.1\" x2=\"213\" y2=\"301.1\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<line x1=\"321\" y1=\"898.9\" x2=\"213\" y2=\"898.9\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<line x1=\"225\" y1=\"301.1\" x2=\"225\" y2=\"565\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<line x1=\"225\" y1=\"635\" x2=\"225\" y2=\"898.9\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<text x=\"225\" y=\"619\" text-anchor=\"middle\" font-family=\"Helvetica Neue, Helvetica, Arial, Roboto, sans-serif\" font-size=\"52\" font-weight=\"600\" fill=\"#6B655D\">900</text>\n<line x1=\"212.3\" y1=\"313.8\" x2=\"237.7\" y2=\"288.4\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"4\"/>\n<line x1=\"212.3\" y1=\"911.6\" x2=\"237.7\" y2=\"886.2\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"4\"/>\n<line x1=\"335\" y1=\"912.9\" x2=\"335\" y2=\"1020.9\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<line x1=\"1265\" y1=\"912.9\" x2=\"1265\" y2=\"1020.9\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<line x1=\"335\" y1=\"1008.9\" x2=\"724\" y2=\"1008.9\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<line x1=\"876\" y1=\"1008.9\" x2=\"1265\" y2=\"1008.9\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"3\"/>\n<text x=\"800\" y=\"1027.9\" text-anchor=\"middle\" font-family=\"Helvetica Neue, Helvetica, Arial, Roboto, sans-serif\" font-size=\"52\" font-weight=\"600\" fill=\"#6B655D\">1400</text>\n<line x1=\"322.3\" y1=\"1021.6\" x2=\"347.7\" y2=\"996.2\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"4\"/>\n<line x1=\"1252.3\" y1=\"1021.6\" x2=\"1277.7\" y2=\"996.2\" fill=\"none\" stroke=\"#6B655D\" stroke-width=\"4\"/>\n<line x1=\"335\" y1=\"287.1\" x2=\"335\" y2=\"179.1\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"3\"/>\n<line x1=\"335\" y1=\"191.1\" x2=\"501.1\" y2=\"191.1\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"3\"/>\n<text x=\"418\" y=\"161.1\" text-anchor=\"middle\" font-family=\"Helvetica Neue, Helvetica, Arial, Roboto, sans-serif\" font-size=\"52\" font-weight=\"600\" fill=\"#C0392B\">250</text>\n<line x1=\"322.3\" y1=\"203.8\" x2=\"347.7\" y2=\"178.4\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"4\"/>\n<line x1=\"488.4\" y1=\"203.8\" x2=\"513.8\" y2=\"178.4\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"4\"/>\n<line x1=\"1279\" y1=\"301.1\" x2=\"1387\" y2=\"301.1\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"3\"/>\n<line x1=\"1375\" y1=\"301.1\" x2=\"1375\" y2=\"415.5\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"3\"/>\n<line x1=\"1375\" y1=\"485.5\" x2=\"1375\" y2=\"600\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"3\"/>\n<text x=\"1375\" y=\"469.5\" text-anchor=\"middle\" font-family=\"Helvetica Neue, Helvetica, Arial, Roboto, sans-serif\" font-size=\"52\" font-weight=\"600\" fill=\"#C0392B\">450</text>\n<line x1=\"1362.3\" y1=\"313.8\" x2=\"1387.7\" y2=\"288.4\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"4\"/>\n<line x1=\"1362.3\" y1=\"612.7\" x2=\"1387.7\" y2=\"587.3\" fill=\"none\" stroke=\"#C0392B\" stroke-width=\"4\"/>\n</svg>\n"
    }
  }
}