Skip to content
Pages

Product

Furniture details by category

The details Leitagu records for each furniture category, such as a table's top shape, a dresser's drawers or which side a corner sofa's corner is on, how they are stored and what is built so far.

Updated 21 October 2026View as Markdown

Leitagu describes every product in two ways. The look (wood, tone, finish, style, upholstery, handles) says what a piece looks like and drives most of the matching. The details on this page say what a piece is and what it does: how many legs a table has, whether a sofa opens into a bed, which side a corner sofa's corner is on. Each category has its own list of details, so a sofa is never asked for drawers and a dresser is never asked for a corner side.

How the details work

  • One list per category. The list is in packages/core/src/shared/taxonomy.ts. Each detail has a name in Estonian and English, a kind of value and the categories it belongs to.
  • Kinds of value. A detail is a yes or no, a count, a size in centimetres or inches, or one word from a fixed list. A value outside the list or range is dropped, never stored.
  • Details that depend on others. A corner side is kept only when the sofa is a corner, chaise or U-shaped sofa, and a bed mechanism only when the sofa opens into a bed. If the other detail is not known, the value is kept.
  • Where they are stored. Details live in one JSON column, products.specs, so a new detail needs no database change. Five older details keep their own columns (shape, sofa bed, storage box, seat height, seat depth); the product reads all of them as one set.
  • Store corrections. A store's corrections to details are kept in products.overrides.specs and win over synced data, like the other corrections.
  • Not a ranking signal. Details are shown on the product and, where marked below, become filters. Nothing paid changes how they are used.
  • Yes or no. A "no" and an empty value look the same on a product page. Matching never treats a missing detail as a "no".

What is built and what is planned

Part State
The list of details per category, with Estonian and English labels, validation and tests Built
Storage on products, including store corrections in the product's overrides Built
Reading details from store data (feeds, Shopify, WooCommerce, CSV) Partly built: shape, sofa bed, storage box and seat size, and from the product's text a table's top shape and base, rounded ends on TV units and sideboards, and an armchair's recliner, swivel base and open frame (detectSpecs() in normalize.ts). Reading details from photos is planned as stage 3 of the product pipeline
Editing details in the admin and partner apps Partly built: the details that change the drawing can be edited in the admin product form and corrected in the partner app; the rest are planned
Showing details on product cards and pages Planned
Filters in the catalogue and in the chat ("a round table for six", "a corner sofa with the corner on the left") Planned; the details marked "planned" in the Filter column are the first candidates
Details on room pieces, so a kept corner sofa keeps its side in the 3D room Built for the details that change the drawing (room_items.specs); the room editor offers them under "Material and style"

Details that change the drawing

The 3D room and product cards draw a piece from its avatar (shared/avatar.ts), which reads these details. They are the only ones kept on room pieces (DRAWN_SPECS in taxonomy.ts):

Category Details
Tables Top shape, base, lower shelf
Sideboard, chest of drawers, cabinet, TV unit Drawers among the doors, rounded ends
Armchair Frame, back shape, recliner, swivel
Sofa Corner side, corner reach

One home for each idea. A table's round or oval top, its pedestal, cross or tripod base, rounded storage ends, an armchair's open frame, recliner or swivel base, and doors with drawers used to be look values (shape, legs and door). They are details now, and the look values are gone. Migration 020_retire_shape_values moved existing products, their corrections and room pieces. shape is a sofa's only.

The details

Every category can also have the look attributes from How Leitagu works. The tables below are the extra details. "Filter: planned" marks the details meant to become filters first; the rest are shown only.

Sideboard

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Number of doors Uste arv 0–8
Drawers Sahtleid 0–16 planned
Shelves Riiuleid 0–16
Drawers among the doors Sahtlid uste kõrval above the doors, between the doors, below the doors
Rounded ends Ümarate otstega yes / no
Open compartments Avatud sektsioone 0–12
Adjustable shelves Reguleeritavad riiulid yes / no
Soft-close Sujuvsulgurid yes / no
Anti-tip fitting included Ümberkukkumiskaitse kaasas yes / no planned

Chest of drawers

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Drawers Sahtleid 0–16 planned
Shelves Riiuleid 0–16
Drawers among the doors Sahtlid uste kõrval above the doors, between the doors, below the doors
Rounded ends Ümarate otstega yes / no
Soft-close Sujuvsulgurid yes / no
Lockable Lukustatav yes / no
With mirror Peegliga yes / no
Anti-tip fitting included Ümberkukkumiskaitse kaasas yes / no planned

Cabinet

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Number of doors Uste arv 0–8
Drawers Sahtleid 0–16 planned
Shelves Riiuleid 0–16
Drawers among the doors Sahtlid uste kõrval above the doors, between the doors, below the doors
Rounded ends Ümarate otstega yes / no
Adjustable shelves Reguleeritavad riiulid yes / no
Soft-close Sujuvsulgurid yes / no
Lockable Lukustatav yes / no
With mirror Peegliga yes / no
Anti-tip fitting included Ümberkukkumiskaitse kaasas yes / no planned
Cabinet type Kapi tüüp display cabinet, shoe cabinet, bar cabinet, corner cabinet, utility cabinet, other planned

TV unit

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Number of doors Uste arv 0–8
Drawers Sahtleid 0–16 planned
Shelves Riiuleid 0–16
Drawers among the doors Sahtlid uste kõrval above the doors, between the doors, below the doors
Rounded ends Ümarate otstega yes / no
Open compartments Avatud sektsioone 0–12
Soft-close Sujuvsulgurid yes / no
Cable opening Kaablite läbiviik yes / no
Largest TV Suurim teler 20–120 inch planned

Shelf / bookcase

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Drawers Sahtleid 0–16 planned
Shelves Riiuleid 0–16
Adjustable shelves Reguleeritavad riiulid yes / no
Anti-tip fitting included Ümberkukkumiskaitse kaasas yes / no planned
With back panel Tagaseinaga yes / no
Shelf type Riiuli tüüp bookcase, ladder shelf, wall shelf, room divider, cube shelf planned

Dining table

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Top shape Laua kuju rectangular, rounded rectangle, square, round, oval, organic shape planned
Base Aluse tüüp four legs, pedestal, trestle, panel legs, tripod, cross base planned
Top material Plaadi materjal wood, glass, ceramic, marble, stone, metal, laminate
Extendable Pikendatav yes / no planned
Width when extended (only when extendable is true) Laius pikendatult 60–500 cm
Seats Istekohti 1–14 planned
Seats when extended (only when extendable is true) Istekohti pikendatult 1–20
Lower shelf Alumine riiul yes / no

Coffee table

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Top shape Laua kuju rectangular, rounded rectangle, square, round, oval, organic shape planned
Base Aluse tüüp four legs, pedestal, trestle, panel legs, tripod, cross base planned
Top material Plaadi materjal wood, glass, ceramic, marble, stone, metal, laminate
Lower shelf Alumine riiul yes / no
Storage space Hoiuruum yes / no planned
Lift-up top Tõstetav plaat yes / no
Adjustable height Reguleeritav kõrgus yes / no
Nesting set Laudade komplekt (sissetõstetavad) yes / no
Tables in the set (only when nesting is true) Laudu komplektis 2–5

Side table

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Top shape Laua kuju rectangular, rounded rectangle, square, round, oval, organic shape planned
Base Aluse tüüp four legs, pedestal, trestle, panel legs, tripod, cross base planned
Top material Plaadi materjal wood, glass, ceramic, marble, stone, metal, laminate
Lower shelf Alumine riiul yes / no
Storage space Hoiuruum yes / no planned
Adjustable height Reguleeritav kõrgus yes / no
Nesting set Laudade komplekt (sissetõstetavad) yes / no
Tables in the set (only when nesting is true) Laudu komplektis 2–5
Tray top Alusega plaat yes / no
C-shaped (slides under a sofa) C-kujuline (diivani alla) yes / no

Sofa

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Shape Kuju straight, corner sofa, U-shaped, with chaise, modular planned
Corner side (seen from the front) (only when shape is corner / chaise / u_shape) Nurga pool (eestvaates) left, right, reversible planned
Corner reach (only when shape is corner / chaise / u_shape) Nurgaosa sügavus 100–400 cm
Seats Istekohti 1–8 planned
Opens into a bed Muutub voodiks yes / no planned
Bed mechanism (only when sleeps is true) Voodi mehhanism fold-out, click-clack, pull-out, sliding seat
Sleeping area width (only when sleeps is true) Magamispinna laius 50–250 cm
Sleeping area length (only when sleeps is true) Magamispinna pikkus 100–250 cm
Bedding storage Voodipesukast yes / no planned
Armrests Käetoed both sides, one side, none
Back Seljatugi fixed, loose cushions
Removable covers Eemaldatavad katted yes / no
Recliner Lamamisfunktsioon yes / no
Ottoman included Pufiga yes / no
Seat height Istme kõrgus 10–100 cm
Seat depth Istme sügavus 10–200 cm

Armchair

Detail Estonian Values Filter
Number of legs Jalgade arv 1–12
Opens into a bed Muutub voodiks yes / no planned
Bed mechanism (only when sleeps is true) Voodi mehhanism fold-out, click-clack, pull-out, sliding seat
Sleeping area width (only when sleeps is true) Magamispinna laius 50–250 cm
Sleeping area length (only when sleeps is true) Magamispinna pikkus 100–250 cm
Bedding storage Voodipesukast yes / no planned
Armrests Käetoed both sides, one side, none
Back Seljatugi fixed, loose cushions
Removable covers Eemaldatavad katted yes / no
Recliner Lamamisfunktsioon yes / no
Frame Raam upholstered, open wooden frame, open metal frame
Back shape Seljatoe kuju straight, curved, wrap-around, tilted, high, with headrest
Swivel Pöörlev yes / no
Rocker Kiiktool yes / no
Wing back Tiibseljatugi yes / no
Footstool included Jalapingiga yes / no
Seat height Istme kõrgus 10–100 cm
Seat depth Istme sügavus 10–200 cm