07 — Katalóg, varianty a parametrizácia
Stav: návrh na diskusiu, 31. 10. 2026. Najdôležitejšia časť systému: od kvality parametrov závisí vyhľadávanie, filtre, porovnanie, SEO, feedy pre porovnávače aj AI poradca. AI vrstva a MCP server sú v
08-ai-a-mcp.md.
1. Cieľ v jednej vete
Zákazník napíše „hľadám práčku so sušičkou, ktorá prejde cez dvere do kúpeľne“ a dostane len tie modely, ktoré naozaj prejdú, skladom v Novej Bani, s vysvetlením prečo. To sa dá iba vtedy, keď každý spotrebič má presné, typované a overené parametre — AI otázku pochopí, ale odpoveď musí vždy vyrátať databáza.
2. Štyri úrovne triedenia
Zadanie triedi tovar podľa kategórie, druhu a prevedenia. Navrhujem každú úroveň s inou úlohou:
| Úroveň | Príklad | Na čo slúži | Ako je uložená |
|---|---|---|---|
| Kategória | Biela technika → Pranie a sušenie | navigácia v menu, SEO stránky, drobčeky | strom; produkt má 1 hlavnú + ľubovoľne vedľajších |
| Druh | Práčka, Práčka so sušičkou, Chladnička | určuje sadu parametrov (šablónu), porovnanie, feedy | číselník druhov s dedičnosťou |
| Prevedenie | predné / vrchné plnenie, pultová / stojatá | podtyp v rámci druhu, hlavný filter | parameter typu výber v šablóne druhu |
| Variant | farba, objem, uhlopriečka | rôzne EAN toho istého modelu | samostatné SKU pod jedným produktom |
Prevedenie zámerne nie je ďalšia úroveň stromu: „vstavaná“ alebo „predné plnenie“ je vlastnosť, podľa ktorej sa filtruje, nie priečinok. Pre dôležité kombinácie (napr. Práčky s predným plnením, Úzke práčky) vzniknú SEO vstupné stránky, ktoré sú len uloženým filtrom s vlastným textom.
2.1 Dedičnosť šablón parametrov
flowchart TB ALL["Všetky produkty<br/>značka, model, EAN, záruka, farba/povrch"] --> VS["Veľký spotrebič<br/>rozmery, hmotnosť, energetická trieda,<br/>inštalácia (voľne stojaci / vstavaný),<br/>rozmery pre zabudovanie"] ALL --> MS["Malý spotrebič<br/>príkon, napájanie"] ALL --> AV["Audio / video<br/>uhlopriečka, rozlíšenie, pripojenie"] VS --> PR["Práčka<br/>plnenie, náplň, otáčky, motor"] PR --> PS["Práčka so sušičkou<br/>+ náplň sušenia"] VS --> SU["Sušička<br/>typ (tepelné čerpadlo, kondenzačná)"] VS --> UM["Umývačka<br/>súpravy, kôš na príbor, šírka"] VS --> CH["Chladnička<br/>typ, NoFrost, objemy"] VS --> MR["Mraznička<br/>typ, objem"] VS --> SP["Sporák<br/>typ, rúra, výbava"]
Spoločné parametre sa zadefinujú raz. Práčka so sušičkou je samostatný druh, ale zobrazí sa aj v kategórii Práčky s filtrom „so sušičkou“.
3. Systém parametrizácie
3.1 Definícia parametra
Každý parameter má pevnú definíciu, ktorú spravuje back-office (nie programátor):
| Vlastnosť | Príklad |
|---|---|
| kód | napln_prania_kg |
| názov a krátky názov | Náplň prania / Náplň |
| typ | číslo · celé číslo · áno/nie · výber jednej hodnoty · výber viacerých · rozmer · text |
| jednotka (kanonická) | kg, mm, l, ot./min, dB, kWh, W — vždy uložené v jednej jednotke, zobrazenie sa dá prepočítať (mm → cm) |
| rozsah a validácia | 3–15 kg; otáčky 400–1 800 |
| hodnoty výberu + synonymá | NoFrost: nie · len mraznička · celá chladnička; synonymá „Total No Frost“, „beznámrazová“ |
| skupina a poradie | Pranie, Rozmery, Energia |
| filter | posuvník · zaškrtávanie · prepínač · nefiltruje sa |
| porovnanie | áno / nie; „čím viac, tým lepšie“ alebo naopak (zvýraznenie rozdielov) |
| povinnosť | povinný pre zverejnenie / odporúčaný |
| použitie | do názvu, SEO titulku, feedu Heureka (PARAM), AI popisu |
| zdroj | EPREL, Icecat, dodávateľ, PDF výrobcu, ručne |
3.2 Hodnoty parametrov a pôvod
Každá hodnota si pamätá odkiaľ je a kto ju schválil: zdroj, dátum, istota (ak ju navrhla AI) a stav návrh / overené. Na webe sa zobrazujú len overené hodnoty; filter s neistou hodnotou produkt radšej nezaradí, než by zákazníkovi sľúbil, že spotrebič prejde dverami.
3.3 Odvodené parametre
Systém niektoré hodnoty vyráta sám, aby sa dali filtrovať:
| Odvodený parameter | Výpočet | Na čo |
|---|---|---|
| najmenší prierez | dva najmenšie rozmery telesa (bez dvierok a prečnievajúcich častí) | „prejde cez dvere“ |
| šírková trieda | 45 / 60 cm (umývačky), 60 / 70 cm (chladničky) | rýchly filter |
| úzka práčka | hĺbka telesa ≤ 47 cm | SEO stránka, filter |
| pasuje do niky | rozmery pre zabudovanie vs. zadané rozmery niky | vstavané spotrebiče |
| celkový objem | chladiaca + mraziaca časť | porovnanie |
Rozmery preto ukladáme podrobnejšie, než býva zvykom: teleso (V × Š × H), hĺbka s dvierkami, hĺbka s otvorenými dverami, balenie (pre dopravu) a pri vstavaných nika (min–max V × Š × H).
3.4 Uloženie v databáze
- Definície druhov a parametrov v tabuľkách (verzované — zmena šablóny je migrácia s náhľadom dopadu).
- Databáza MongoDB Atlas: produkt je jeden dokument, varianty v ňom alebo vo vlastnej kolekcii; parametre ako pole
{kód, hodnota, jednotka, zdroj, stav}(vzor attribute pattern), takže jeden index pokryje všetky parametre všetkých druhov. - Každý zápis validuje schéma vygenerovaná z definícií parametrov (Zod v aplikácii + JSON Schema validácia v MongoDB).
- Počty pri filtroch (fazety) vracia Atlas Search (
$searchMetas fazetami) v jednom dotaze s výsledkami; netreba ďalšiu vyhľadávaciu službu.
4. Parametre zo zadania v novej štruktúre
4.1 Spoločné pre veľké spotrebiče
| Parameter zo zadania | Typ | Poznámka |
|---|---|---|
| kategória, druh, prevedenie | strom · druh · výber | pozri kap. 2 |
| rozmery | rozmer (mm) | teleso, s dvierkami, s otvorenými dverami, balenie |
| rozmery pre zabudovanie | rozmer (mm, min–max) | nika V × Š × H; filter „pasuje do niky“ |
| hmotnosť | číslo (kg) | aj hmotnosť s balením (doprava, vynáška) |
| energetická trieda | výber A–G | z EPREL (EÚ databáza energetických štítkov) + odkaz na štítok |
| farba / povrch | výber | farba (biela, čierna, nerez…) + povrch (matný, lesklý, anti-fingerprint) |
| skladom | — | nie je parameter, počíta modul Sklad (skladom v Novej Bani / do 2 dní / na objednávku) |
| záruka | výber + číslo | štandardná (mesiace) + možnosť predĺženej ako platená služba k produktu |
4.2 Podľa druhu
| Druh | Parametre zo zadania | Typ |
|---|---|---|
| Práčka | plnenie (predné, vrchné) = prevedenie · náplň (kg) · otáčky (ot./min) · typ motora (invertorový, klasický) | výber · číslo · celé číslo · výber |
| Práčka so sušičkou | všetko z práčky + náplň sušenia (kg) | číslo |
| Umývačka | počet súprav · kôš / zásuvka na príbor (áno/nie) | celé číslo · áno/nie |
| Chladnička | typ (kombinovaná, americká, francúzska, monoklíma) · NoFrost · objem chladiacej časti (l) · objem mraziacej časti (l) | výber · výber · číslo · číslo |
| Mraznička | typ (stojatá, pultová) · objem (l) | výber · číslo |
| Sporák | typ (indukčný, sklokeramický, celoplynový, kombinovaný) · typ rúry · počet funkcií rúry · objem rúry (l) | výber · výber · celé číslo · číslo |
| Sporák — výbava rúry | plechy (počet, typ: plytký, hlboký, rošt) · teleskopické výsuvy (áno/nie, počet úrovní) · gril (áno/nie) · čistenie (pyrolytické, katalytické, parné, klasické) | celé číslo · výber viacerých · áno/nie · áno/nie · výber viacerých |
Návrh navyše (bežne sa podľa nich vyberá): hlučnosť (dB), spotreba energie a vody, otváranie dverí (ľavé / pravé / zameniteľné), Wi-Fi a aplikácia, parná funkcia, invertorový kompresor, uhlopriečka a rozlíšenie pri TV.
5. Produkt a varianty
| čo to je | spoločný obsah: názov radu, popis, obrázky, SEO URL | konkrétny kus s EAN, cenou a zásobou |
|---|---|---|
| príklad | Bosch Serie 6 práčka 9 kg | biela · EAN 4242… / čierna · EAN 4242… |
| parametre | spoločné hodnoty | variantné osi (farba, objem, uhlopriečka) + čo sa líši |
| Heureka | ITEMGROUP_ID | ITEM_ID |
- Variantné osi určuje druh (práčka: farba; TV: uhlopriečka; chladnička: farba, otváranie dverí).
- Pri bielej technike má väčšina modelov len jeden variant — systém to nekomplikuje.
- Vlastnú URL dostane variant len vtedy, keď ho ľudia hľadajú zvlášť (TV 55" vs 65"); farby zdieľajú stránku a variant sa vyberá na nej.
- K produktu sa viažu príslušenstvo (spojovacia sada na vežu práčka + sušička, hadice), služby (vynáška, zapojenie, odvoz starého, predĺžená záruka) a náhrady (čo ponúknuť, keď nie je skladom).
6. Vyhľadávanie a filtre
6.1 Tri vrstvy, jeden výsledok
| Vrstva | Čo rieši | Technológia |
|---|---|---|
| Filtre (fazety) | presné podmienky: hĺbka ≤ 550 mm, NoFrost, skladom | Atlas Search fazety + rozsahové podmienky nad parametrami |
| Fulltext | názvy, kódy, preklepy („bosh wgg“) | Atlas Search (Lucene) s vlastným analyzátorom bez diakritiky, tolerancia preklepov |
| Význam (vektory) | „tichá do bytu“, „pre veľkú rodinu“ | Atlas Vector Search, embeddingy Voyage AI (tá istá databáza, s predfiltrom na druh a sklad) |
| AI pochopenie otázky | prevedie vetu na filtre a doplňujúcu otázku | rýchly model Claude Haiku 5.5 cez Claude API (08) |
Pre slovenčinu nemá Atlas Search hotové skloňovanie (stemming) (overiť), preto fulltext doplní vektorové vyhľadávanie, ktoré tvary slov zvláda samo. Výsledky oboch sa spoja do jedného poradia (hybridné vyhľadávanie, napr. $rankFusion (overiť verziu Atlasu)) a voliteľne preradia Voyage reranker.
6.2 Príklad: „práčka so sušičkou, ktorá prejde cez dvere do kúpeľne“
sequenceDiagram autonumber actor Z as Zákazník participant E as E-shop participant AI as AI (pochopenie otázky) participant DB as Katalóg + sklad Z->>E: „práčku so sušičkou, ktorá prejde cez dvere do kúpeľne“ E->>AI: otázka + schéma parametrov AI-->>E: druh = práčka so sušičkou, podmienka „prejde dverami“, chýba šírka dverí E-->>Z: „Aké široké sú dvere? (bežné interiérové 60 = priechod cca 56 cm)“ Z->>E: 60 E->>DB: najmenší prierez ≤ 560 mm, druh, skladom najprv DB-->>E: 4 modely, rozmery, sklad, cena E->>AI: výsledky na vysvetlenie (bez možnosti meniť čísla) AI-->>Z: „Tieto 4 majú hĺbku do 55 cm, dvierka sa dajú vyvesiť…“ + ponuka vynášky
- AI nikdy nevyberá produkty sama — len preloží otázku na filter a výsledok vysvetlí; čísla počíta databáza.
- Keď chýba podstatný údaj (šírka dverí), opýta sa, namiesto hádania.
- Priechod dverí (overiť): interiérové dvere „60“ majú svetlý priechod približne 56–57 cm; presnú hodnotu doplníme z praxe predajne.
- Otázky bez výsledku sa ukladajú — sú to najlepšie podklady, aké parametre či synonymá doplniť.
6.3 Filtre na stránke kategórie
- Filtre sa menia podľa druhu (pri práčkach otáčky, pri chladničkách NoFrost).
- Hore rýchle filtre ako čipy: Skladom dnes, Úzke do 47 cm, Trieda A, Do 400 €.
- Rozsahy ako posuvník s jednotkou, áno/nie ako prepínač, výbery so zaškrtnutím a počtom kusov.
- Panel „Zmerajte si miesto“: šírka × hĺbka × výška miesta alebo niky, plus šírka dverí → zobrazí len spotrebiče, ktoré sa zmestia.
- Výber zostáva v URL (dá sa poslať), ale kombinácie filtrov sa neindexujú (SEO, kap. 8).
6.4 Porovnanie a podobný tovar
- Porovnanie do 4 produktov toho istého druhu; riadky sú parametre šablóny, prepínač „len rozdiely“, lepšia hodnota zvýraznená.
- Podobný tovar = rovnaký druh a prevedenie, najbližšie hodnoty hlavných parametrov a podobná cena; prednosť má tovar skladom. Počíta sa z parametrov (nie z „pocitu“ AI), AI len dopíše jednu vetu, v čom sa líši.
7. Plnenie a správa katalógu
7.1 Odkiaľ prídu dáta
| Zdroj | Čo dáva | Poznámka |
|---|---|---|
| EPREL (EÚ) | energetická trieda, spotreba, kapacita, hlučnosť, štítok a informačný list | verejné API, treba kľúč (overiť rozsah pre rúry a TV) |
| Icecat | technické listy podľa EAN, obrázky | Open Icecat zadarmo pre časť značiek, plná verzia platená (overiť) |
| Dodávatelia | cenníky, dostupnosť, často XML/CSV s parametrami | mapovanie stĺpcov raz na dodávateľa |
| PDF výrobcu | montážne rozmery, nika, výbava | AI vyčíta hodnoty zo strán dokumentu |
| MOPWIN | existujúce karty, EAN, zásoby | jednorazová migrácia |
| Personál | čo inde nie je, fotky z predajne | back-office alebo cez MCP (08) |
7.2 Tok spracovania nového produktu
flowchart LR IN["Vstup<br/>EAN, cenník, PDF, fotka štítku"] --> FETCH["Stiahnutie údajov<br/>EPREL, Icecat, dodávateľ"] FETCH --> EXT["AI extrakcia<br/>do schémy druhu"] EXT --> NORM["Normalizácia<br/>jednotky, synonymá, rozsahy"] NORM --> CHK["Kontroly<br/>povinné, rozpory zdrojov"] CHK --> REV["Schválenie človekom<br/>rozdiely + zdroje"] REV --> PUB["Zverejnenie<br/>web, feedy, index"] PUB --> TXT["AI popis, SEO, vektory<br/>na pozadí"]
Všetko beží na pozadí (Vercel Workflow / Queues); predavač vidí len frontu „Na kontrolu“ s návrhom, zdrojom každej hodnoty a tlačidlami Prijať / Upraviť / Zamietnuť.
7.3 Back-office katalógu
- Editor druhov a parametrov s náhľadom dopadu zmeny (koľko produktov prestane mať povinné hodnoty).
- Karta produktu: parametre po skupinách, odznak zdroja pri hodnote, návrhy AI na jedno kliknutie.
- Tabuľkový režim pre hromadné úpravy jedného druhu (všetky práčky naraz).
- Skóre úplnosti produktu a prehľad „čo chýba“ — produkt bez povinných parametrov sa nedostane do filtrov ani feedov.
- Stavy: koncept → na kontrolu → zverejnené; história zmien s možnosťou vrátiť.
8. Popisy a SEO
8.1 URL a indexovanie
| Stránka | URL | Indexovať |
|---|---|---|
| kategória | /pracky/ | áno |
| SEO vstupná (uložený filter) | /pracky/uzke/, /pracky/predne-plnenie/ | áno, ak má dopyt a aspoň niekoľko produktov |
| ľubovoľná kombinácia filtrov | /pracky/?hlbka_max=550&… | nie (noindex, canonical na kategóriu) |
| produkt | /p/bosch-wgg2440-pracka-9-kg/ | áno |
| variant | spoločná URL, vlastná len pri samostatnom dopyte | podľa kap. 5 |
8.2 Obsah stránky produktu
- Titulok a meta popis zo šablóny druhu: {Značka} {Model} — práčka {náplň} kg, {otáčky} ot./min, trieda {EE} | dnesdoma.sk.
- Popis generuje AI len z overených parametrov (nevymýšľa funkcie), vlastnými slovami — nie kópia od výrobcu, ktorú majú všetky e-shopy. Pridá lokálnu výhodu: skladom v Novej Bani, dovoz ešte dnes, vynáška.
- Časté otázky pri produkte („zmestí sa pod linku?“, „dá sa postaviť sušička navrch?“) z parametrov a manuálov.
- Štruktúrované dáta schema.org:
Product,Offer(cena, dostupnosť),BreadcrumbList, predajňa akoLocalBusinesss osobným odberom; hodnotenia len vlastné a overené. - Nákupné poradcovia (napr. Ako vybrať práčku do malej kúpeľne) — dobré pre SEO dlhého chvosta aj ako podklad pre AI poradcu.
9. Etapy katalógu
- Schéma a migrácia — druhy a parametre zo zadania, prevod kariet z MOPWIN, ručné dopĺňanie; filtre a porovnanie v MongoDB.
- Automatické plnenie — EPREL, Icecat, cenníky dodávateľov, AI extrakcia z PDF, fronta na schválenie, AI popisy.
- AI vyhľadávanie — otázky vetou, „zmerajte si miesto“, vektory, poradca; zber otázok bez výsledku.
- Ladenie — SEO vstupné stránky podľa dopytu, ladenie analyzátorov a váh vyhľadávania, testovacia sada otázok (
08).