Koskamo

Mueblito MCP

Mueblito es un editor 3D web gratuito para diseñar muebles a medida en melamina o MDF. El servidor MCP permite a agentes de IA cotizar muebles, obtener el despiece, ver el mueble en 2D/3D y crear diseños con links compartibles, sin requerir autenticación.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Mueblito MCP logo, by MueblitoVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Mueblito
MCP endpoint (Streamable HTTP)
https://www.mueblito.ar/api/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 10 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to mueblito.ar ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Cotizar el presupuesto de materiales en ARS para un mueble a fabricar
  • Generar la lista de cortes y herrajes completa del mueble
  • Obtener los pasos de armado en orden con piezas y herrajes
  • Ver el mueble en vista 2D con cotas o modelo 3D GLB

Source and maintenance

Vendor evidenceRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
mueblito-mcp 1.1.0
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
13 advertised
Resource templates
0 advertised
Prompts
3 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Tools

10 advertised

listar_presets — List furniture presets
Advertised by the server during the last successful anonymous check.
Advertised read-only

Lista los presets de muebles armables de Mueblito: id, nombre, tipo, medidas en mm, descripción y un link al editor 3D (editor_url) para abrir cada uno en el sitio. Opcionalmente filtrá por 'ambiente' (Dormitorio/Living/Cocina y comedor/Baño/Oficina/Exterior) para descubrir qué hay por espacio. Llamala para encontrar el id de un mueble; después construilo con construir_mueble (recomendado) o cotizá/mostrá con ese id. Sin 'ambiente', también devuelve aparte los muebles de autor publicados (muebles_de_autor): se abren con su editor_url y su despiece está en pagina_url; no se construyen con construir_mueble. (list furniture presets, parametric furniture types by room, Argentina cut list)

listar_presets input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "ambiente": {
      "type": "string",
      "description": "Filtro opcional por ambiente: Dormitorio, Living, Cocina y comedor, Baño, Oficina, Exterior u Otros."
    }
  }
}
listar_presets output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "presets"
  ],
  "properties": {
    "presets": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "nombre",
          "tipo",
          "medidas_mm",
          "descripcion",
          "ambiente",
          "editor_url",
          "imagen_url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "tipo": {
            "type": "string"
          },
          "nombre": {
            "type": "string"
          },
          "ambiente": {
            "type": "string"
          },
          "editor_url": {
            "type": "string"
          },
          "imagen_url": {
            "type": "string"
          },
          "medidas_mm": {
            "type": "object",
            "required": [
              "ancho",
              "alto",
              "profundidad"
            ],
            "properties": {
              "alto": {
                "type": "number"
              },
              "ancho": {
                "type": "number"
              },
              "profundidad": {
                "type": "number"
              }
            },
            "additionalProperties": false
          },
          "descripcion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "muebles_de_autor": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "nombre",
          "descripcion",
          "medidas_mm",
          "pagina_url",
          "editor_url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "nombre": {
            "type": "string"
          },
          "editor_url": {
            "type": "string"
          },
          "medidas_mm": {
            "type": "object",
            "required": [
              "ancho",
              "alto",
              "profundidad"
            ],
            "properties": {
              "alto": {
                "type": "number"
              },
              "ancho": {
                "type": "number"
              },
              "profundidad": {
                "type": "number"
              }
            },
            "additionalProperties": false
          },
          "pagina_url": {
            "type": "string"
          },
          "descripcion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
listar_presets annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
buscar_catalogo — Search furniture by name
Advertised by the server during the last successful anonymous check.
Advertised read-only

Busca por NOMBRE entre los muebles armables de Mueblito (los mismos que listar_presets), con stemming en español. Todo lo que devuelve es un mueble fabricable a medida (melamina/MDF) con un link al editor 3D (editor_url). Usala cuando el usuario describe lo que busca ('cama', 'silla comedor', 'placard') para encontrar el/los id y después construir_mueble (recomendado) con ese id. (search parametric furniture presets by name, find buildable furniture Argentina, cut list)

buscar_catalogo input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "consulta"
  ],
  "properties": {
    "consulta": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Texto libre en español para buscar en el catálogo. Ejemplos: 'cama', 'silla comedor', 'banqueta de barra'. Soporta variantes morfológicas (plural/singular, acentos). Máximo 200 caracteres."
    }
  }
}
buscar_catalogo output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "resultados",
    "total"
  ],
  "properties": {
    "total": {
      "type": "number"
    },
    "resultados": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "nombre",
          "categoria",
          "medidas_mm",
          "nota",
          "ambiente",
          "editor_url",
          "imagen_url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "nota": {
            "type": "string"
          },
          "nombre": {
            "type": "string"
          },
          "ambiente": {
            "type": "string"
          },
          "categoria": {
            "type": "string"
          },
          "editor_url": {
            "type": "string"
          },
          "imagen_url": {
            "type": "string"
          },
          "medidas_mm": {
            "type": "object",
            "required": [
              "ancho",
              "profundidad",
              "alto"
            ],
            "properties": {
              "alto": {
                "type": "number"
              },
              "ancho": {
                "type": "number"
              },
              "profundidad": {
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
buscar_catalogo annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
cotizar_mueble — Quote furniture cost (ARS)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calcula el presupuesto de materiales en ARS para fabricar un mueble a medida: placas/melamina, tapacanto, herrajes y servicio de corte en maderera. Devuelve un editor_url para ver el presupuesto por placa y comprar los materiales en el sitio. Tip: para armar + cotizar + modelo 3D en una sola llamada, usá construir_mueble. Usala cuando el usuario quiere saber cuánto sale hacer un mueble en Argentina. Prerrequisito: si no sabés el id del preset, llamá primero a listar_presets; los ids disponibles son los que acepta este campo (ej: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera'). Podés ajustar las medidas del preset con el campo 'ajustes' sin necesidad de pasar todos los params. Limitación: precios ORIENTATIVOS en ARS, sin mano de obra ni instalación. Pueden estar desactualizados: confirmá el importe con la maderera antes de comprar. (quote furniture cost, materials budget Argentina, cut list price ARS)

cotizar_mueble input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "params": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
    },
    "preset": {
      "type": "string",
      "description": "ID del preset del mueble a cotizar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles."
    },
    "ajustes": {
      "type": "object",
      "properties": {
        "alto_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "ancho_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "profundidad_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
      "additionalProperties": false
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
cotizar_mueble output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mueble",
    "medidas_mm",
    "lineas",
    "total_ars",
    "total_formateado",
    "nota",
    "editor_url"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "lineas": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "concepto",
          "cantidad"
        ],
        "properties": {
          "cantidad": {
            "type": "number"
          },
          "concepto": {
            "type": "string"
          },
          "url_compra": {
            "type": "string"
          },
          "subtotal_ars": {
            "type": "number"
          },
          "precio_unitario_ars": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "mueble": {
      "type": "string"
    },
    "total_ars": {
      "type": "number"
    },
    "editor_url": {
      "type": "string"
    },
    "medidas_mm": {
      "type": "object",
      "required": [
        "ancho",
        "alto",
        "profundidad"
      ],
      "properties": {
        "alto": {
          "type": "number"
        },
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "total_formateado": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
cotizar_mueble annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
despiece
Advertised by the server during the last successful anonymous check.
Advertised read-only

Genera la lista completa de piezas de corte y herrajes para fabricar un mueble: cada pieza con largo, ancho y espesor en mm, material, tapacanto frontal, más una tabla ASCII lista para copiar o enviar a la maderera. Usala cuando el usuario necesita la planilla de cortes para llevar a una maderera, o quiere verificar qué componentes tiene el mueble. Acepta los mismos args que cotizar_mueble: preset o params más ajustes opcionales — si no sabés el id del preset, llamá primero a listar_presets. Limitación: medidas de corte en mm (tapacanto de 0,45 mm ya descontado); para calcular el consumo de placas hay que sumar kerf de 3-4 mm entre piezas (el editor de Mueblito lo hace con MaxRects). (cut list furniture, wood pieces breakdown, maderera Argentina, CNC cut plan)

despiece input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "params": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
    },
    "preset": {
      "type": "string",
      "description": "ID del preset del mueble a despiesar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles."
    },
    "ajustes": {
      "type": "object",
      "properties": {
        "alto_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "ancho_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "profundidad_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
      "additionalProperties": false
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
despiece output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mueble",
    "medidas_mm",
    "piezas",
    "herrajes",
    "tabla_texto",
    "nota",
    "editor_url"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "mueble": {
      "type": "string"
    },
    "piezas": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "pieza",
          "cantidad",
          "largo_mm",
          "ancho_mm",
          "espesor_mm",
          "material",
          "cantos",
          "terminada_mm"
        ],
        "properties": {
          "pieza": {
            "type": "string"
          },
          "cantos": {
            "type": "string"
          },
          "ancho_mm": {
            "type": "number"
          },
          "cantidad": {
            "type": "number"
          },
          "largo_mm": {
            "type": "number"
          },
          "material": {
            "type": "string"
          },
          "espesor_mm": {
            "type": "number"
          },
          "terminada_mm": {
            "type": "object",
            "required": [
              "largo",
              "ancho"
            ],
            "properties": {
              "ancho": {
                "type": "number"
              },
              "largo": {
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "herrajes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "concepto",
          "cantidad",
          "precio_unitario_ars",
          "subtotal_ars"
        ],
        "properties": {
          "cantidad": {
            "type": "number"
          },
          "concepto": {
            "type": "string"
          },
          "subtotal_ars": {
            "type": "number"
          },
          "precio_unitario_ars": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "editor_url": {
      "type": "string"
    },
    "medidas_mm": {
      "type": "object",
      "required": [
        "ancho",
        "alto",
        "profundidad"
      ],
      "properties": {
        "alto": {
          "type": "number"
        },
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "tabla_texto": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
despiece annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
crear_diseno — Create a 3D room design (2+ pieces)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Crea una escena 3D con VARIOS muebles (un ambiente) y devuelve un link editable directo al editor de Mueblito — el link /d/<code> abre el diseño listo para ver en 3D, mover piezas, ajustar medidas y generar presupuesto. Para UN solo mueble preferí construir_mueble; usá crear_diseno cuando hay 2+ muebles o querés armar un ambiente. Usala cuando el usuario quiere visualizar cómo quedarían los muebles en un espacio o compartir un diseño con un carpintero o cliente. Prerrequisito: si no sabés los ids de los presets, llamá primero a listar_presets. Cada mueble se especifica con preset o params; la posición y rotación son opcionales (si no se dan, los muebles se distribuyen en fila automáticamente). Limitación: el link es estático (no se guarda en servidor); no requiere cuenta. (create 3D design, furniture layout, shareable room design, Argentina interior design)

crear_diseno input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "muebles"
  ],
  "properties": {
    "espacio": {
      "type": "object",
      "required": [
        "ancho_mm",
        "profundidad_mm"
      ],
      "properties": {
        "ancho_mm": {
          "type": "number",
          "description": "Ancho del espacio/habitación en milímetros. Ej: 3500 para 3.50 m.",
          "exclusiveMinimum": 0
        },
        "profundidad_mm": {
          "type": "number",
          "description": "Profundidad del espacio/habitación en milímetros. Ej: 4000 para 4.00 m.",
          "exclusiveMinimum": 0
        }
      },
      "description": "Dimensiones del espacio: {ancho_mm: 3500, profundidad_mm: 4000}, ambas requeridas, en mm. Si se omite, el espacio se calcula automáticamente.",
      "additionalProperties": false
    },
    "muebles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "params": {
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "shelves",
                  "backPanel",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "shelf"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "shelves": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "backPanel": {
                    "type": "boolean"
                  },
                  "openFrame": {
                    "type": "boolean"
                  },
                  "techoPasante": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "drawers",
                  "material"
                ],
                "properties": {
                  "ele": {
                    "type": "object",
                    "required": [
                      "largo",
                      "lado"
                    ],
                    "properties": {
                      "lado": {
                        "enum": [
                          "izq",
                          "der"
                        ],
                        "type": "string"
                      },
                      "prof": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "largo": {
                        "type": "number",
                        "maximum": 1800,
                        "exclusiveMinimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "kind": {
                    "type": "string",
                    "const": "desk"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "drawers": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "recortes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "pieza",
                        "forma"
                      ],
                      "properties": {
                        "d": {
                          "type": "number",
                          "maximum": 1000,
                          "minimum": 20
                        },
                        "h": {
                          "type": "number",
                          "maximum": 1000,
                          "minimum": 20
                        },
                        "u": {
                          "type": "number",
                          "maximum": 5000,
                          "minimum": -5000
                        },
                        "v": {
                          "type": "number",
                          "maximum": 5000,
                          "minimum": -5000
                        },
                        "w": {
                          "type": "number",
                          "maximum": 1000,
                          "minimum": 20
                        },
                        "forma": {
                          "enum": [
                            "circulo",
                            "rect"
                          ],
                          "type": "string"
                        },
                        "pieza": {
                          "enum": [
                            "tapa",
                            "piso",
                            "fondo",
                            "lateral-izq",
                            "lateral-der"
                          ],
                          "type": "string"
                        },
                        "cuerpo": {
                          "type": "integer",
                          "maximum": 48,
                          "minimum": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "maxItems": 8
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "doors",
                  "rod",
                  "material"
                ],
                "properties": {
                  "rod": {
                    "type": "boolean"
                  },
                  "kind": {
                    "type": "string",
                    "const": "wardrobe"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "doors": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "techoPasante": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "depth",
                  "height",
                  "rafters",
                  "postSize",
                  "slope",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "pergola"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "slope": {
                    "type": "number",
                    "maximum": 45,
                    "minimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "rafters": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": 1
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "postSize": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "depth",
                  "boardWidth",
                  "gap",
                  "joists",
                  "material"
                ],
                "properties": {
                  "gap": {
                    "type": "number",
                    "minimum": 0
                  },
                  "kind": {
                    "type": "string",
                    "const": "deck"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "joists": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": 1
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "boardWidth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "legSize",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "table"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "legSize": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "tabletopDepth",
                  "seatHeight",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "picnic"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "seatHeight": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "tabletopDepth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "storage",
                  "material"
                ],
                "properties": {
                  "bunk": {
                    "type": "boolean"
                  },
                  "kind": {
                    "type": "string",
                    "const": "cama"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "storage": {
                    "type": "boolean"
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "headboard": {
                    "type": "object",
                    "required": [
                      "kind",
                      "width",
                      "height",
                      "depth",
                      "material",
                      "backPanel",
                      "root"
                    ],
                    "properties": {
                      "base": {
                        "enum": [
                          "zocalo",
                          "patas",
                          "ruedas"
                        ],
                        "type": "string"
                      },
                      "kind": {
                        "type": "string",
                        "const": "modular"
                      },
                      "root": {
                        "anyOf": [
                          {
                            "type": "object",
                            "required": [
                              "content"
                            ],
                            "properties": {
                              "led": {
                                "type": "boolean"
                              },
                              "door": {
                                "enum": [
                                  "izq",
                                  "der",
                                  "doble",
                                  "arriba",
                                  "abajo",
                                  "corrediza"
                                ],
                                "type": "string"
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "ciego": {
                                "type": "object",
                                "required": [
                                  "mm"
                                ],
                                "properties": {
                                  "mm": {
                                    "type": "number",
                                    "exclusiveMinimum": 0
                                  },
                                  "suplemento": {
                                    "type": "number",
                                    "exclusiveMinimum": 0
                                  }
                                },
                                "additionalProperties": false
                              },
                              "abierta": {
                                "type": "boolean"
                              },
                              "content": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "estantes"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 12,
                                        "minimum": 1
                                      },
                                      "prof": {
                                        "type": "number",
                                        "maximum": 1200,
                                        "minimum": 80
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "cajones"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 8,
                                        "minimum": 1
                                      },
                                      "lock": {
                                        "enum": [
                                          "magnetica",
                                          "llave"
                                        ],
                                        "type": "string"
                                      },
                                      "push": {
                                        "type": "boolean"
                                      },
                                      "dobleFondo": {
                                        "type": "boolean"
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "cajonSecreto"
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "barral"
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "botellero"
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "zapatero"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 5,
                                        "minimum": 1
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "volcable"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 4,
                                        "minimum": 1
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "vidrio"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 8,
                                        "minimum": 1
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "bandeja"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 6,
                                        "minimum": 1
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "ranurado"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 30,
                                        "minimum": 3
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "hueco"
                                      },
                                      "para": {
                                        "enum": [
                                          "lavarropas",
                                          "horno",
                                          "microondas"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c",
                                      "n"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "ganchos"
                                      },
                                      "n": {
                                        "type": "integer",
                                        "maximum": 12,
                                        "minimum": 1
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "asiento"
                                      },
                                      "ganchos": {
                                        "type": "integer",
                                        "maximum": 12,
                                        "minimum": 1
                                      }
                                    },
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "c"
                                    ],
                                    "properties": {
                                      "c": {
                                        "type": "string",
                                        "const": "vacio"
                                      }
                                    },
                                    "additionalProperties": false
                                  }
                                ]
                              },
                              "montaje": {
                                "enum": [
                                  "sobrepuesto",
                                  "medio",
                                  "embutido"
                                ],
                                "type": "string"
                              },
                              "interior": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "$ref": "#/definitions/__schema0"
                          }
                        ]
                      },
                      "tapa": {
                        "type": "object",
                        "properties": {
                          "vuelo": {
                            "type": "number",
                            "maximum": 100,
                            "minimum": 0
                          },
                          "asiento": {
                            "type": "boolean"
                          },
                          "baranda": {
                            "type": "object",
                            "required": [
                              "alto"
                            ],
                            "properties": {
                              "alto": {
                                "type": "number",
                                "maximum": 150,
                                "minimum": 50
                              },
                              "frente": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          "material": {
                            "type": "string"
                          },
                          "vueloFrente": {
                            "type": "number",
                            "maximum": 300,
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "depth": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "width": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "height": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "colgado": {
                        "type": "boolean"
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "overlay": {
                        "type": "boolean"
                      },
                      "uniones": {
                        "enum": [
                          "minifix",
                          "tornillos"
                        ],
                        "type": "string"
                      },
                      "herrajes": {
                        "type": "object",
                        "properties": {
                          "copaK": {
                            "type": "number",
                            "maximum": 8,
                            "minimum": 2
                          },
                          "altoPatas": {
                            "type": "number",
                            "maximum": 200,
                            "minimum": 40
                          },
                          "copaProfundidad": {
                            "type": "number",
                            "maximum": 16,
                            "minimum": 9
                          },
                          "largosCorredera": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "maximum": 9007199254740991,
                              "minimum": -9007199254740991
                            },
                            "maxItems": 20,
                            "minItems": 1
                          },
                          "luzVidrioPorLado": {
                            "type": "number",
                            "maximum": 6,
                            "minimum": 0.5
                          },
                          "solapeCorredizas": {
                            "type": "number",
                            "maximum": 120,
                            "minimum": 0
                          },
                          "descuentoCorrediza": {
                            "type": "number",
                            "maximum": 80,
                            "minimum": 0
                          },
                          "luzCorrederaPorLado": {
                            "type": "number",
                            "maximum": 30,
                            "minimum": 5
                          }
                        },
                        "additionalProperties": false
                      },
                      "material": {
                        "type": "string"
                      },
                      "recortes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "pieza",
                            "forma"
                          ],
                          "properties": {
                            "d": {
                              "type": "number",
                              "maximum": 1000,
                              "minimum": 20
                            },
                            "h": {
                              "type": "number",
                              "maximum": 1000,
                              "minimum": 20
                            },
                            "u": {
                              "type": "number",
                              "maximum": 5000,
                              "minimum": -5000
                            },
                            "v": {
                              "type": "number",
                              "maximum": 5000,
                              "minimum": -5000
                            },
                            "w": {
                              "type": "number",
                              "maximum": 1000,
                              "minimum": 20
                            },
                            "forma": {
                              "enum": [
                                "circulo",
                                "rect"
                              ],
                              "type": "string"
                            },
                            "pieza": {
                              "enum": [
                                "tapa",
                                "piso",
                                "fondo",
                                "lateral-izq",
                                "lateral-der"
                              ],
                              "type": "string"
                            },
                            "cuerpo": {
                              "type": "integer",
                              "maximum": 48,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        "maxItems": 8
                      },
                      "backPanel": {
                        "type": "boolean"
                      },
                      "enCuerpos": {
                        "type": "boolean"
                      },
                      "softClose": {
                        "type": "boolean"
                      },
                      "colgadoCon": {
                        "enum": [
                          "auto",
                          "tabla",
                          "colgadores",
                          "chapas",
                          "escuadras"
                        ],
                        "type": "string"
                      },
                      "glassDoors": {
                        "type": "boolean"
                      },
                      "fijarAPared": {
                        "type": "boolean"
                      },
                      "slidingDoor": {
                        "enum": [
                          "full",
                          "per-column"
                        ],
                        "type": "string"
                      },
                      "zocaloCajon": {
                        "type": "boolean"
                      },
                      "margenFrente": {
                        "type": "number",
                        "maximum": 50,
                        "minimum": 0
                      },
                      "techoPasante": {
                        "type": "boolean"
                      },
                      "frontMaterial": {
                        "type": "string"
                      },
                      "frenteDeslizante": {
                        "type": "object",
                        "required": [
                          "f",
                          "estantes"
                        ],
                        "properties": {
                          "f": {
                            "type": "number",
                            "maximum": 1,
                            "exclusiveMinimum": 0
                          },
                          "prof": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "estantes": {
                            "type": "integer",
                            "maximum": 12,
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "herrajeRebatible": {
                        "enum": [
                          "cazoleta",
                          "piano"
                        ],
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "baseHeight": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "bunkHeight": {
                    "type": "number",
                    "maximum": 1600,
                    "minimum": 900
                  },
                  "anchoCabecera": {
                    "type": "number",
                    "maximum": 4000,
                    "exclusiveMinimum": 0
                  },
                  "bunkLadderSide": {
                    "enum": [
                      "izq",
                      "der"
                    ],
                    "type": "string"
                  },
                  "drawersPerSide": {
                    "type": "integer",
                    "maximum": 4,
                    "minimum": 0
                  },
                  "headboardShelves": {
                    "type": "integer",
                    "maximum": 6,
                    "minimum": 0
                  },
                  "mattressThickness": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "arms",
                  "material"
                ],
                "properties": {
                  "arms": {
                    "type": "boolean"
                  },
                  "kind": {
                    "type": "string",
                    "const": "sofa"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "seatHeight": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "backrestAngle": {
                    "type": "number",
                    "maximum": 45,
                    "minimum": 0
                  },
                  "cushionThickness": {
                    "type": "number",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "backrest",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "banqueta"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "backrest": {
                    "type": "boolean"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "backrestAngle": {
                    "type": "number",
                    "maximum": 45,
                    "minimum": 0
                  },
                  "cushionThickness": {
                    "type": "number",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "espejo"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "lid",
                  "wheels",
                  "material"
                ],
                "properties": {
                  "lid": {
                    "enum": [
                      "ninguna",
                      "fija",
                      "abisagrada"
                    ],
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "const": "caja"
                  },
                  "legs": {
                    "type": "number",
                    "maximum": 900,
                    "minimum": 0
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "wheels": {
                    "type": "boolean"
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "cortina"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "hojas",
                  "relleno",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "biombo"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "hojas": {
                    "type": "integer",
                    "maximum": 6,
                    "minimum": 2
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "relleno": {
                    "type": "boolean"
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "slope",
                  "shelves",
                  "puerta",
                  "material"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "invernadero"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "slope": {
                    "type": "number",
                    "maximum": 45,
                    "minimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "puerta": {
                    "type": "boolean"
                  },
                  "shelves": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "uso",
                  "pared",
                  "material"
                ],
                "properties": {
                  "uso": {
                    "enum": [
                      "escritorio",
                      "desayunador",
                      "mesa"
                    ],
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "const": "rebatible"
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "pared": {
                    "enum": [
                      "ladrillo",
                      "ladrillo-macizo",
                      "hormigon",
                      "durlock"
                    ],
                    "type": "string"
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "enum": [
                      "mdf-15mm-blanco",
                      "mdf-18mm-blanco",
                      "mdf-25mm-blanco",
                      "mdf-18mm-natural",
                      "melamina-18mm-blanco",
                      "melamina-18mm-roble-escandinavo",
                      "melamina-18mm-paraiso",
                      "melamina-18mm-olmo-claro",
                      "melamina-18mm-nogal",
                      "melamina-18mm-grafito",
                      "melamina-18mm-gris-humo",
                      "melamina-18mm-gris-perla",
                      "melamina-18mm-negro",
                      "melamina-18mm-safari",
                      "melamina-18mm-jade",
                      "melamina-18mm-azul-cosmico",
                      "melamina-18mm-terracota",
                      "melamina-18mm-rovere-chiaro",
                      "melamina-18mm-pino-cascina",
                      "melamina-18mm-hickory",
                      "melamina-18mm-roble-termo-negro",
                      "fenolico-18mm",
                      "terciado-18mm"
                    ],
                    "type": "string"
                  },
                  "railMaterial": {
                    "enum": [
                      "mdf-15mm-blanco",
                      "mdf-18mm-blanco",
                      "mdf-25mm-blanco",
                      "mdf-18mm-natural",
                      "melamina-18mm-blanco",
                      "melamina-18mm-roble-escandinavo",
                      "melamina-18mm-paraiso",
                      "melamina-18mm-olmo-claro",
                      "melamina-18mm-nogal",
                      "melamina-18mm-grafito",
                      "melamina-18mm-gris-humo",
                      "melamina-18mm-gris-perla",
                      "melamina-18mm-negro",
                      "melamina-18mm-safari",
                      "melamina-18mm-jade",
                      "melamina-18mm-azul-cosmico",
                      "melamina-18mm-terracota",
                      "melamina-18mm-rovere-chiaro",
                      "melamina-18mm-pino-cascina",
                      "melamina-18mm-hickory",
                      "melamina-18mm-roble-termo-negro",
                      "fenolico-18mm",
                      "terciado-18mm"
                    ],
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "object",
                "required": [
                  "kind",
                  "width",
                  "height",
                  "depth",
                  "material",
                  "backPanel",
                  "root"
                ],
                "properties": {
                  "base": {
                    "enum": [
                      "zocalo",
                      "patas",
                      "ruedas"
                    ],
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "const": "modular"
                  },
                  "root": {
                    "anyOf": [
                      {
                        "type": "object",
                        "required": [
                          "content"
                        ],
                        "properties": {
                          "led": {
                            "type": "boolean"
                          },
                          "door": {
                            "enum": [
                              "izq",
                              "der",
                              "doble",
                              "arriba",
                              "abajo",
                              "corrediza"
                            ],
                            "type": "string"
                          },
                          "lock": {
                            "enum": [
                              "magnetica",
                              "llave"
                            ],
                            "type": "string"
                          },
                          "push": {
                            "type": "boolean"
                          },
                          "ciego": {
                            "type": "object",
                            "required": [
                              "mm"
                            ],
                            "properties": {
                              "mm": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "suplemento": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          },
                          "abierta": {
                            "type": "boolean"
                          },
                          "content": {
                            "oneOf": [
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "estantes"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 12,
                                    "minimum": 1
                                  },
                                  "prof": {
                                    "type": "number",
                                    "maximum": 1200,
                                    "minimum": 80
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "cajones"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 8,
                                    "minimum": 1
                                  },
                                  "lock": {
                                    "enum": [
                                      "magnetica",
                                      "llave"
                                    ],
                                    "type": "string"
                                  },
                                  "push": {
                                    "type": "boolean"
                                  },
                                  "dobleFondo": {
                                    "type": "boolean"
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "cajonSecreto"
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "barral"
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "botellero"
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "zapatero"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 5,
                                    "minimum": 1
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "volcable"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 4,
                                    "minimum": 1
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "vidrio"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 8,
                                    "minimum": 1
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "bandeja"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 6,
                                    "minimum": 1
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "ranurado"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 30,
                                    "minimum": 3
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "hueco"
                                  },
                                  "para": {
                                    "enum": [
                                      "lavarropas",
                                      "horno",
                                      "microondas"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c",
                                  "n"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "ganchos"
                                  },
                                  "n": {
                                    "type": "integer",
                                    "maximum": 12,
                                    "minimum": 1
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "asiento"
                                  },
                                  "ganchos": {
                                    "type": "integer",
                                    "maximum": 12,
                                    "minimum": 1
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "c"
                                ],
                                "properties": {
                                  "c": {
                                    "type": "string",
                                    "const": "vacio"
                                  }
                                },
                                "additionalProperties": false
                              }
                            ]
                          },
                          "montaje": {
                            "enum": [
                              "sobrepuesto",
                              "medio",
                              "embutido"
                            ],
                            "type": "string"
                          },
                          "interior": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "$ref": "#/definitions/__schema0"
                      }
                    ]
                  },
                  "tapa": {
                    "type": "object",
                    "properties": {
                      "vuelo": {
                        "type": "number",
                        "maximum": 100,
                        "minimum": 0
                      },
                      "asiento": {
                        "type": "boolean"
                      },
                      "baranda": {
                        "type": "object",
                        "required": [
                          "alto"
                        ],
                        "properties": {
                          "alto": {
                            "type": "number",
                            "maximum": 150,
                            "minimum": 50
                          },
                          "frente": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "material": {
                        "type": "string"
                      },
                      "vueloFrente": {
                        "type": "number",
                        "maximum": 300,
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "depth": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "width": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "height": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "colgado": {
                    "type": "boolean"
                  },
                  "montaje": {
                    "enum": [
                      "sobrepuesto",
                      "medio",
                      "embutido"
                    ],
                    "type": "string"
                  },
                  "overlay": {
                    "type": "boolean"
                  },
                  "uniones": {
                    "enum": [
                      "minifix",
                      "tornillos"
                    ],
                    "type": "string"
                  },
                  "herrajes": {
                    "type": "object",
                    "properties": {
                      "copaK": {
                        "type": "number",
                        "maximum": 8,
                        "minimum": 2
                      },
                      "altoPatas": {
                        "type": "number",
                        "maximum": 200,
                        "minimum": 40
                      },
                      "copaProfundidad": {
                        "type": "number",
                        "maximum": 16,
                        "minimum": 9
                      },
                      "largosCorredera": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "maximum": 9007199254740991,
                          "minimum": -9007199254740991
                        },
                        "maxItems": 20,
                        "minItems": 1
                      },
                      "luzVidrioPorLado": {
                        "type": "number",
                        "maximum": 6,
                        "minimum": 0.5
                      },
                      "solapeCorredizas": {
                        "type": "number",
                        "maximum": 120,
                        "minimum": 0
                      },
                      "descuentoCorrediza": {
                        "type": "number",
                        "maximum": 80,
                        "minimum": 0
                      },
                      "luzCorrederaPorLado": {
                        "type": "number",
                        "maximum": 30,
                        "minimum": 5
                      }
                    },
                    "additionalProperties": false
                  },
                  "material": {
                    "type": "string"
                  },
                  "recortes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "pieza",
                        "forma"
                      ],
                      "properties": {
                        "d": {
                          "type": "number",
                          "maximum": 1000,
                          "minimum": 20
                        },
                        "h": {
                          "type": "number",
                          "maximum": 1000,
                          "minimum": 20
                        },
                        "u": {
                          "type": "number",
                          "maximum": 5000,
                          "minimum": -5000
                        },
                        "v": {
                          "type": "number",
                          "maximum": 5000,
                          "minimum": -5000
                        },
                        "w": {
                          "type": "number",
                          "maximum": 1000,
                          "minimum": 20
                        },
                        "forma": {
                          "enum": [
                            "circulo",
                            "rect"
                          ],
                          "type": "string"
                        },
                        "pieza": {
                          "enum": [
                            "tapa",
                            "piso",
                            "fondo",
                            "lateral-izq",
                            "lateral-der"
                          ],
                          "type": "string"
                        },
                        "cuerpo": {
                          "type": "integer",
                          "maximum": 48,
                          "minimum": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "maxItems": 8
                  },
                  "backPanel": {
                    "type": "boolean"
                  },
                  "enCuerpos": {
                    "type": "boolean"
                  },
                  "softClose": {
                    "type": "boolean"
                  },
                  "colgadoCon": {
                    "enum": [
                      "auto",
                      "tabla",
                      "colgadores",
                      "chapas",
                      "escuadras"
                    ],
                    "type": "string"
                  },
                  "glassDoors": {
                    "type": "boolean"
                  },
                  "fijarAPared": {
                    "type": "boolean"
                  },
                  "slidingDoor": {
                    "enum": [
                      "full",
                      "per-column"
                    ],
                    "type": "string"
                  },
                  "zocaloCajon": {
                    "type": "boolean"
                  },
                  "margenFrente": {
                    "type": "number",
                    "maximum": 50,
                    "minimum": 0
                  },
                  "techoPasante": {
                    "type": "boolean"
                  },
                  "frontMaterial": {
                    "type": "string"
                  },
                  "frenteDeslizante": {
                    "type": "object",
                    "required": [
                      "f",
                      "estantes"
                    ],
                    "properties": {
                      "f": {
                        "type": "number",
                        "maximum": 1,
                        "exclusiveMinimum": 0
                      },
                      "prof": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "estantes": {
                        "type": "integer",
                        "maximum": 12,
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "herrajeRebatible": {
                    "enum": [
                      "cazoleta",
                      "piano"
                    ],
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            ],
            "description": "Params paramétricos completos (alternativa a 'preset'). El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
          },
          "preset": {
            "type": "string",
            "description": "ID del preset del mueble. Usá listar_presets para ver los disponibles. Requerido si no se pasa 'params'."
          },
          "posicion_mm": {
            "type": "object",
            "required": [
              "x",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "description": "Posición X en planta, en milímetros."
              },
              "z": {
                "type": "number",
                "description": "Posición Z en planta, en milímetros."
              }
            },
            "description": "Posición del mueble en planta (mm). Si se omite, se distribuye automáticamente en fila.",
            "additionalProperties": false
          },
          "rotacion_grados": {
            "type": "number",
            "description": "Rotación horizontal del mueble en grados (0 = frente al sur, 90 = lateral). Default: 0."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "Lista de muebles a incluir en el diseño. Mínimo 1, máximo 20."
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
crear_diseno output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "url",
    "muebles_incluidos",
    "previews",
    "nota"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "nota": {
      "type": "string"
    },
    "previews": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "nombre"
        ],
        "properties": {
          "nombre": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "espacio_mm": {
      "type": "object",
      "required": [
        "ancho",
        "profundidad"
      ],
      "properties": {
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "muebles_incluidos": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
crear_diseno annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ver_mueble — Preview furniture (2D views)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Devuelve una VISTA 2D del mueble (frente + lateral + planta, a la misma escala) como imagen SVG, más el link al editor 3D. Para el MODELO 3D (GLB) o para armar+cotizar de una, preferí construir_mueble; usá ver_mueble solo si querés únicamente la vista 2D rápida. Acepta los mismos args que cotizar_mueble: preset o params, más ajustes de medidas opcionales. (preview furniture, orthographic views, see the design, front side top view)

ver_mueble input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "params": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
    },
    "preset": {
      "type": "string",
      "description": "ID del preset del mueble a visualizar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles."
    },
    "ajustes": {
      "type": "object",
      "properties": {
        "alto_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "ancho_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "profundidad_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
      "additionalProperties": false
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
ver_mueble output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mueble",
    "medidas_mm",
    "nota",
    "editor_url"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "mueble": {
      "type": "string"
    },
    "editor_url": {
      "type": "string"
    },
    "medidas_mm": {
      "type": "object",
      "required": [
        "ancho",
        "alto",
        "profundidad"
      ],
      "properties": {
        "alto": {
          "type": "number"
        },
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
ver_mueble annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
ajustar_mueble — Adjust / iterate a design
Advertised by the server during the last successful anonymous check.
Advertised read-only

Itera sobre un diseño: aplica un DIFF de cambios sobre unos params base, los RE-VALIDA y devuelve los params nuevos, la vista actualizada (SVG), un resumen de cotización y despiece, y una revisión de factibilidad. Es el loop de refinamiento: proponés un cambio ('más ancho', 'un estante más', 'otro material') y ves el efecto al instante, sin rearmar todo. Pasá baseParams (los params válidos actuales, p.ej. los que devolvió una cotización) y cambios (sólo los campos a modificar). Si los cambios dejan el mueble inválido, la tool falla explicando el motivo. Encadená la salida (params) como baseParams de la próxima llamada. (iterate furniture design, edit parameters, refine, text-to-CAD loop)

ajustar_mueble input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "cambios"
  ],
  "properties": {
    "cambios": {
      "type": "object",
      "description": "Diff a aplicar sobre baseParams (merge por campo). Ej: {width: 2400, shelves: 5}. El resultado se re-valida con el esquema; los objetos anidados (root, content, headboard) se reemplazan completos. Si queda inválido, la tool falla con el motivo.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "baseParams": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params paramétricos de partida (ya válidos). Ej: los que devolvió construir_mueble. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
ajustar_mueble output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "medidas_mm",
    "cotizacion",
    "despiece",
    "factibilidad",
    "nota",
    "editor_url"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "despiece": {
      "type": "object",
      "required": [
        "piezas",
        "herrajes"
      ],
      "properties": {
        "piezas": {
          "type": "number"
        },
        "herrajes": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "cotizacion": {
      "type": "object",
      "required": [
        "total_ars",
        "total_formateado",
        "piezas"
      ],
      "properties": {
        "piezas": {
          "type": "number"
        },
        "total_ars": {
          "type": "number"
        },
        "total_formateado": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "editor_url": {
      "type": "string"
    },
    "medidas_mm": {
      "type": "object",
      "required": [
        "ancho",
        "alto",
        "profundidad"
      ],
      "properties": {
        "alto": {
          "type": "number"
        },
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "factibilidad": {
      "type": "object",
      "required": [
        "factible",
        "warnings",
        "nota"
      ],
      "properties": {
        "nota": {
          "type": "string"
        },
        "factible": {
          "type": "boolean"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "tipo",
              "severidad",
              "mensaje"
            ],
            "properties": {
              "tipo": {
                "type": "string"
              },
              "mensaje": {
                "type": "string"
              },
              "severidad": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "editor_url": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
ajustar_mueble annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
pasos_de_armado — How to assemble it (step by step)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Devuelve CÓMO SE ARMA el mueble: los pasos en orden, en castellano, con las piezas de cada paso (rol y cantidad), qué comprobar al terminar cada uno, la compra completa de herrajes, el peso armado y los avisos previos al corte. En los muebles que cubre el motor de armado (fuente 'motor': bibliotecas, cómodas, placards, bajo mesadas…) los pasos están planificados para ESAS piezas y uniones y vienen con animacion_url, un visor animado paso a paso para pasarle al usuario; los demás traen la receta de su familia (fuente 'receta'). Con dibujos: true agrega un dibujo PNG por paso (hasta 12). Acepta los mismos args que cotizar_mueble: preset o params, más ajustes de medidas opcionales. (how to assemble, assembly instructions, step by step, build guide, armado paso a paso)

pasos_de_armado input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "params": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
    },
    "preset": {
      "type": "string",
      "description": "ID del preset del mueble a armar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles."
    },
    "ajustes": {
      "type": "object",
      "properties": {
        "alto_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "ancho_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "profundidad_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
      "additionalProperties": false
    },
    "dibujos": {
      "type": "boolean",
      "description": "true = además del texto, un dibujo (PNG) por paso: el mueble en isométrico con las piezas del paso en naranja y la flecha de por dónde entran. Hasta 12 pasos; los demás, en el visor animado. Default false (la respuesta queda liviana)."
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
pasos_de_armado output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mueble",
    "medidas_mm",
    "peso_kg",
    "fuente",
    "pasos",
    "herrajes",
    "avisos",
    "nota",
    "editor_url"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "pasos": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "n",
          "titulo",
          "detalle",
          "piezas",
          "panel_ids"
        ],
        "properties": {
          "n": {
            "type": "number"
          },
          "piezas": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "titulo": {
            "type": "string"
          },
          "detalle": {
            "type": "string"
          },
          "panel_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "advertencia": {
            "type": "string"
          },
          "comprobacion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "avisos": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "tipo",
          "severidad",
          "mensaje"
        ],
        "properties": {
          "tipo": {
            "type": "string"
          },
          "mensaje": {
            "type": "string"
          },
          "severidad": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "fuente": {
      "enum": [
        "motor",
        "receta"
      ],
      "type": "string"
    },
    "mueble": {
      "type": "string"
    },
    "peso_kg": {
      "type": "number"
    },
    "herrajes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "concepto",
          "cantidad",
          "precio_unitario_ars",
          "subtotal_ars"
        ],
        "properties": {
          "cantidad": {
            "type": "number"
          },
          "concepto": {
            "type": "string"
          },
          "subtotal_ars": {
            "type": "number"
          },
          "precio_unitario_ars": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "editor_url": {
      "type": "string"
    },
    "medidas_mm": {
      "type": "object",
      "required": [
        "ancho",
        "alto",
        "profundidad"
      ],
      "properties": {
        "alto": {
          "type": "number"
        },
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "animacion_url": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pasos_de_armado annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
validar_factibilidad — Validate buildability
Advertised by the server during the last successful anonymous check.
Advertised read-only

Revisa si un mueble se puede ARMAR sano a partir de su geometría: piezas sueltas o sin apoyo, voladizos, bastidor que se hamaca, riesgo de vuelco, y flecha/pandeo de estantes y puertas (se descuelgan con el peso). Devuelve 'factible' y una lista de warnings. Usala antes de cotizar o fabricar para atrapar problemas estructurales (el 'compile-check' del mueble). (validate furniture buildability, structural warnings, sag deflection, tip-over risk)

validar_factibilidad input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "params": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params paramétricos completos del mueble a validar."
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
validar_factibilidad output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "factible",
    "warnings",
    "nota"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "factible": {
      "type": "boolean"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "tipo",
          "severidad",
          "mensaje"
        ],
        "properties": {
          "tipo": {
            "type": "string"
          },
          "mensaje": {
            "type": "string"
          },
          "severidad": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "editor_url": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
validar_factibilidad annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
construir_mueble — Build furniture: 3D model, cut list & quote
Advertised by the server during the last successful anonymous check.
Advertised read-only

TOOL PRINCIPAL para muebles. Construye un mueble (desde un preset, o a medida con params del motor recursivo) y devuelve LO QUE PIDAS: 'despiece' (piezas + cotización en ARS + factibilidad), 'imagen' (vista 2D frente/lateral/planta), 'modelo3d' (el MODELO 3D en GLB, embebido y listo para renderizar en cualquier visor), y/o 'visor' (link al editor 3D). SIEMPRE devuelve el link a mueblito.ar con el mueble cargado, donde se termina de diseñar, ajustar y cotizar. Para muebles a medida usá params kind='modular' con un árbol 'root' (V=columnas, H=filas de abajo→arriba). (build furniture, generate 3D model GLB, render, cutlist, quote, open in editor, get a 3d model)

construir_mueble input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "params": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "shelves",
            "backPanel",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "shelf"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backPanel": {
              "type": "boolean"
            },
            "openFrame": {
              "type": "boolean"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "drawers",
            "material"
          ],
          "properties": {
            "ele": {
              "type": "object",
              "required": [
                "largo",
                "lado"
              ],
              "properties": {
                "lado": {
                  "enum": [
                    "izq",
                    "der"
                  ],
                  "type": "string"
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "largo": {
                  "type": "number",
                  "maximum": 1800,
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "kind": {
              "type": "string",
              "const": "desk"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "drawers": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "doors",
            "rod",
            "material"
          ],
          "properties": {
            "rod": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "wardrobe"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "doors": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "techoPasante": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "height",
            "rafters",
            "postSize",
            "slope",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "pergola"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "rafters": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "postSize": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "depth",
            "boardWidth",
            "gap",
            "joists",
            "material"
          ],
          "properties": {
            "gap": {
              "type": "number",
              "minimum": 0
            },
            "kind": {
              "type": "string",
              "const": "deck"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "joists": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 1
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "boardWidth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "legSize",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "table"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "legSize": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "tabletopDepth",
            "seatHeight",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "picnic"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "tabletopDepth": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "storage",
            "material"
          ],
          "properties": {
            "bunk": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "cama"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "storage": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "headboard": {
              "type": "object",
              "required": [
                "kind",
                "width",
                "height",
                "depth",
                "material",
                "backPanel",
                "root"
              ],
              "properties": {
                "base": {
                  "enum": [
                    "zocalo",
                    "patas",
                    "ruedas"
                  ],
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "const": "modular"
                },
                "root": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "content"
                      ],
                      "properties": {
                        "led": {
                          "type": "boolean"
                        },
                        "door": {
                          "enum": [
                            "izq",
                            "der",
                            "doble",
                            "arriba",
                            "abajo",
                            "corrediza"
                          ],
                          "type": "string"
                        },
                        "lock": {
                          "enum": [
                            "magnetica",
                            "llave"
                          ],
                          "type": "string"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "ciego": {
                          "type": "object",
                          "required": [
                            "mm"
                          ],
                          "properties": {
                            "mm": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "suplemento": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "abierta": {
                          "type": "boolean"
                        },
                        "content": {
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "estantes"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                },
                                "prof": {
                                  "type": "number",
                                  "maximum": 1200,
                                  "minimum": 80
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajones"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                },
                                "lock": {
                                  "enum": [
                                    "magnetica",
                                    "llave"
                                  ],
                                  "type": "string"
                                },
                                "push": {
                                  "type": "boolean"
                                },
                                "dobleFondo": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "cajonSecreto"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "barral"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "botellero"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "zapatero"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 5,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "volcable"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 4,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vidrio"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 8,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "bandeja"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 6,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ranurado"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 30,
                                  "minimum": 3
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "hueco"
                                },
                                "para": {
                                  "enum": [
                                    "lavarropas",
                                    "horno",
                                    "microondas"
                                  ],
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c",
                                "n"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "ganchos"
                                },
                                "n": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "asiento"
                                },
                                "ganchos": {
                                  "type": "integer",
                                  "maximum": 12,
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "required": [
                                "c"
                              ],
                              "properties": {
                                "c": {
                                  "type": "string",
                                  "const": "vacio"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "montaje": {
                          "enum": [
                            "sobrepuesto",
                            "medio",
                            "embutido"
                          ],
                          "type": "string"
                        },
                        "interior": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/definitions/__schema0"
                    }
                  ]
                },
                "tapa": {
                  "type": "object",
                  "properties": {
                    "vuelo": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    },
                    "asiento": {
                      "type": "boolean"
                    },
                    "baranda": {
                      "type": "object",
                      "required": [
                        "alto"
                      ],
                      "properties": {
                        "alto": {
                          "type": "number",
                          "maximum": 150,
                          "minimum": 50
                        },
                        "frente": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "material": {
                      "type": "string"
                    },
                    "vueloFrente": {
                      "type": "number",
                      "maximum": 300,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "depth": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "width": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "height": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "colgado": {
                  "type": "boolean"
                },
                "montaje": {
                  "enum": [
                    "sobrepuesto",
                    "medio",
                    "embutido"
                  ],
                  "type": "string"
                },
                "overlay": {
                  "type": "boolean"
                },
                "uniones": {
                  "enum": [
                    "minifix",
                    "tornillos"
                  ],
                  "type": "string"
                },
                "herrajes": {
                  "type": "object",
                  "properties": {
                    "copaK": {
                      "type": "number",
                      "maximum": 8,
                      "minimum": 2
                    },
                    "altoPatas": {
                      "type": "number",
                      "maximum": 200,
                      "minimum": 40
                    },
                    "copaProfundidad": {
                      "type": "number",
                      "maximum": 16,
                      "minimum": 9
                    },
                    "largosCorredera": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991
                      },
                      "maxItems": 20,
                      "minItems": 1
                    },
                    "luzVidrioPorLado": {
                      "type": "number",
                      "maximum": 6,
                      "minimum": 0.5
                    },
                    "solapeCorredizas": {
                      "type": "number",
                      "maximum": 120,
                      "minimum": 0
                    },
                    "descuentoCorrediza": {
                      "type": "number",
                      "maximum": 80,
                      "minimum": 0
                    },
                    "luzCorrederaPorLado": {
                      "type": "number",
                      "maximum": 30,
                      "minimum": 5
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "recortes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "pieza",
                      "forma"
                    ],
                    "properties": {
                      "d": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "h": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "u": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "v": {
                        "type": "number",
                        "maximum": 5000,
                        "minimum": -5000
                      },
                      "w": {
                        "type": "number",
                        "maximum": 1000,
                        "minimum": 20
                      },
                      "forma": {
                        "enum": [
                          "circulo",
                          "rect"
                        ],
                        "type": "string"
                      },
                      "pieza": {
                        "enum": [
                          "tapa",
                          "piso",
                          "fondo",
                          "lateral-izq",
                          "lateral-der"
                        ],
                        "type": "string"
                      },
                      "cuerpo": {
                        "type": "integer",
                        "maximum": 48,
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 8
                },
                "backPanel": {
                  "type": "boolean"
                },
                "enCuerpos": {
                  "type": "boolean"
                },
                "softClose": {
                  "type": "boolean"
                },
                "colgadoCon": {
                  "enum": [
                    "auto",
                    "tabla",
                    "colgadores",
                    "chapas",
                    "escuadras"
                  ],
                  "type": "string"
                },
                "glassDoors": {
                  "type": "boolean"
                },
                "fijarAPared": {
                  "type": "boolean"
                },
                "slidingDoor": {
                  "enum": [
                    "full",
                    "per-column"
                  ],
                  "type": "string"
                },
                "zocaloCajon": {
                  "type": "boolean"
                },
                "margenFrente": {
                  "type": "number",
                  "maximum": 50,
                  "minimum": 0
                },
                "techoPasante": {
                  "type": "boolean"
                },
                "frontMaterial": {
                  "type": "string"
                },
                "frenteDeslizante": {
                  "type": "object",
                  "required": [
                    "f",
                    "estantes"
                  ],
                  "properties": {
                    "f": {
                      "type": "number",
                      "maximum": 1,
                      "exclusiveMinimum": 0
                    },
                    "prof": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "estantes": {
                      "type": "integer",
                      "maximum": 12,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "herrajeRebatible": {
                  "enum": [
                    "cazoleta",
                    "piano"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "baseHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "bunkHeight": {
              "type": "number",
              "maximum": 1600,
              "minimum": 900
            },
            "anchoCabecera": {
              "type": "number",
              "maximum": 4000,
              "exclusiveMinimum": 0
            },
            "bunkLadderSide": {
              "enum": [
                "izq",
                "der"
              ],
              "type": "string"
            },
            "drawersPerSide": {
              "type": "integer",
              "maximum": 4,
              "minimum": 0
            },
            "headboardShelves": {
              "type": "integer",
              "maximum": 6,
              "minimum": 0
            },
            "mattressThickness": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "arms",
            "material"
          ],
          "properties": {
            "arms": {
              "type": "boolean"
            },
            "kind": {
              "type": "string",
              "const": "sofa"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "seatHeight": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "backrest",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "banqueta"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "backrest": {
              "type": "boolean"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "backrestAngle": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "cushionThickness": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "espejo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "lid",
            "wheels",
            "material"
          ],
          "properties": {
            "lid": {
              "enum": [
                "ninguna",
                "fija",
                "abisagrada"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "caja"
            },
            "legs": {
              "type": "number",
              "maximum": 900,
              "minimum": 0
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "wheels": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "cortina"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "hojas",
            "relleno",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "biombo"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "hojas": {
              "type": "integer",
              "maximum": 6,
              "minimum": 2
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "relleno": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "slope",
            "shelves",
            "puerta",
            "material"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "invernadero"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "slope": {
              "type": "number",
              "maximum": 45,
              "minimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "puerta": {
              "type": "boolean"
            },
            "shelves": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "uso",
            "pared",
            "material"
          ],
          "properties": {
            "uso": {
              "enum": [
                "escritorio",
                "desayunador",
                "mesa"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "rebatible"
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "pared": {
              "enum": [
                "ladrillo",
                "ladrillo-macizo",
                "hormigon",
                "durlock"
              ],
              "type": "string"
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            },
            "railMaterial": {
              "enum": [
                "mdf-15mm-blanco",
                "mdf-18mm-blanco",
                "mdf-25mm-blanco",
                "mdf-18mm-natural",
                "melamina-18mm-blanco",
                "melamina-18mm-roble-escandinavo",
                "melamina-18mm-paraiso",
                "melamina-18mm-olmo-claro",
                "melamina-18mm-nogal",
                "melamina-18mm-grafito",
                "melamina-18mm-gris-humo",
                "melamina-18mm-gris-perla",
                "melamina-18mm-negro",
                "melamina-18mm-safari",
                "melamina-18mm-jade",
                "melamina-18mm-azul-cosmico",
                "melamina-18mm-terracota",
                "melamina-18mm-rovere-chiaro",
                "melamina-18mm-pino-cascina",
                "melamina-18mm-hickory",
                "melamina-18mm-roble-termo-negro",
                "fenolico-18mm",
                "terciado-18mm"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "width",
            "height",
            "depth",
            "material",
            "backPanel",
            "root"
          ],
          "properties": {
            "base": {
              "enum": [
                "zocalo",
                "patas",
                "ruedas"
              ],
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "modular"
            },
            "root": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "content"
                  ],
                  "properties": {
                    "led": {
                      "type": "boolean"
                    },
                    "door": {
                      "enum": [
                        "izq",
                        "der",
                        "doble",
                        "arriba",
                        "abajo",
                        "corrediza"
                      ],
                      "type": "string"
                    },
                    "lock": {
                      "enum": [
                        "magnetica",
                        "llave"
                      ],
                      "type": "string"
                    },
                    "push": {
                      "type": "boolean"
                    },
                    "ciego": {
                      "type": "object",
                      "required": [
                        "mm"
                      ],
                      "properties": {
                        "mm": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "suplemento": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "abierta": {
                      "type": "boolean"
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "estantes"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            },
                            "prof": {
                              "type": "number",
                              "maximum": 1200,
                              "minimum": 80
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajones"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            },
                            "lock": {
                              "enum": [
                                "magnetica",
                                "llave"
                              ],
                              "type": "string"
                            },
                            "push": {
                              "type": "boolean"
                            },
                            "dobleFondo": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "cajonSecreto"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "barral"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "botellero"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "zapatero"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 5,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "volcable"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 4,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vidrio"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 8,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "bandeja"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 6,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ranurado"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 30,
                              "minimum": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "hueco"
                            },
                            "para": {
                              "enum": [
                                "lavarropas",
                                "horno",
                                "microondas"
                              ],
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c",
                            "n"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "ganchos"
                            },
                            "n": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "asiento"
                            },
                            "ganchos": {
                              "type": "integer",
                              "maximum": 12,
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "c"
                          ],
                          "properties": {
                            "c": {
                              "type": "string",
                              "const": "vacio"
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "montaje": {
                      "enum": [
                        "sobrepuesto",
                        "medio",
                        "embutido"
                      ],
                      "type": "string"
                    },
                    "interior": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "$ref": "#/definitions/__schema0"
                }
              ]
            },
            "tapa": {
              "type": "object",
              "properties": {
                "vuelo": {
                  "type": "number",
                  "maximum": 100,
                  "minimum": 0
                },
                "asiento": {
                  "type": "boolean"
                },
                "baranda": {
                  "type": "object",
                  "required": [
                    "alto"
                  ],
                  "properties": {
                    "alto": {
                      "type": "number",
                      "maximum": 150,
                      "minimum": 50
                    },
                    "frente": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "material": {
                  "type": "string"
                },
                "vueloFrente": {
                  "type": "number",
                  "maximum": 300,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "depth": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "width": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "height": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "colgado": {
              "type": "boolean"
            },
            "montaje": {
              "enum": [
                "sobrepuesto",
                "medio",
                "embutido"
              ],
              "type": "string"
            },
            "overlay": {
              "type": "boolean"
            },
            "uniones": {
              "enum": [
                "minifix",
                "tornillos"
              ],
              "type": "string"
            },
            "herrajes": {
              "type": "object",
              "properties": {
                "copaK": {
                  "type": "number",
                  "maximum": 8,
                  "minimum": 2
                },
                "altoPatas": {
                  "type": "number",
                  "maximum": 200,
                  "minimum": 40
                },
                "copaProfundidad": {
                  "type": "number",
                  "maximum": 16,
                  "minimum": 9
                },
                "largosCorredera": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  },
                  "maxItems": 20,
                  "minItems": 1
                },
                "luzVidrioPorLado": {
                  "type": "number",
                  "maximum": 6,
                  "minimum": 0.5
                },
                "solapeCorredizas": {
                  "type": "number",
                  "maximum": 120,
                  "minimum": 0
                },
                "descuentoCorrediza": {
                  "type": "number",
                  "maximum": 80,
                  "minimum": 0
                },
                "luzCorrederaPorLado": {
                  "type": "number",
                  "maximum": 30,
                  "minimum": 5
                }
              },
              "additionalProperties": false
            },
            "material": {
              "type": "string"
            },
            "recortes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "pieza",
                  "forma"
                ],
                "properties": {
                  "d": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "h": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "u": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "v": {
                    "type": "number",
                    "maximum": 5000,
                    "minimum": -5000
                  },
                  "w": {
                    "type": "number",
                    "maximum": 1000,
                    "minimum": 20
                  },
                  "forma": {
                    "enum": [
                      "circulo",
                      "rect"
                    ],
                    "type": "string"
                  },
                  "pieza": {
                    "enum": [
                      "tapa",
                      "piso",
                      "fondo",
                      "lateral-izq",
                      "lateral-der"
                    ],
                    "type": "string"
                  },
                  "cuerpo": {
                    "type": "integer",
                    "maximum": 48,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 8
            },
            "backPanel": {
              "type": "boolean"
            },
            "enCuerpos": {
              "type": "boolean"
            },
            "softClose": {
              "type": "boolean"
            },
            "colgadoCon": {
              "enum": [
                "auto",
                "tabla",
                "colgadores",
                "chapas",
                "escuadras"
              ],
              "type": "string"
            },
            "glassDoors": {
              "type": "boolean"
            },
            "fijarAPared": {
              "type": "boolean"
            },
            "slidingDoor": {
              "enum": [
                "full",
                "per-column"
              ],
              "type": "string"
            },
            "zocaloCajon": {
              "type": "boolean"
            },
            "margenFrente": {
              "type": "number",
              "maximum": 50,
              "minimum": 0
            },
            "techoPasante": {
              "type": "boolean"
            },
            "frontMaterial": {
              "type": "string"
            },
            "frenteDeslizante": {
              "type": "object",
              "required": [
                "f",
                "estantes"
              ],
              "properties": {
                "f": {
                  "type": "number",
                  "maximum": 1,
                  "exclusiveMinimum": 0
                },
                "prof": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "estantes": {
                  "type": "integer",
                  "maximum": 12,
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "herrajeRebatible": {
              "enum": [
                "cazoleta",
                "piano"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Params a medida (alternativa a 'preset'). Para un mueble modular con el motor recursivo, kind='modular' + un árbol 'root'. El árbol: un nodo es un SPLIT {s:'V'|'H', ch:[{f,node},...]} o una HOJA {content:{c,...}, door?}. s='V' parte en columnas (izq→der); s='H' parte en filas (ABAJO→ARRIBA). f = peso relativo del hijo. content.c ∈ estantes{n}, cajones{n}, barral, zapatero{n}, vidrio{n}, bandeja{n}, botellero, vacio, o 'hueco' para el lugar de un electrodoméstico o de las piernas (si llega al piso, esa celda va sin piso, sin fondo y sin zócalo). door ∈ izq/der/doble/arriba/abajo/corrediza. material p.ej. 'mdf-18mm-blanco'. Ej. cómoda 80cm con puerta arriba y 2 cajones abajo: {kind:'modular',width:800,height:900,depth:450,material:'mdf-18mm-blanco',backPanel:true,base:'zocalo',root:{s:'H',ch:[{f:1,node:{content:{c:'cajones',n:2}}},{f:1,node:{content:{c:'estantes',n:2},door:'der'}}]}}. El mueble puede dejar de ser una caja: 'enCuerpos: true' lo arma en cuerpos separados (uno por columna, cada uno con sus laterales, para poder llevarlo), y cada hijo del corte de la RAÍZ acepta 'alto' y 'prof' propios (mm) y pasa a ser un CUERPO aparte —bajo escalera, escritorio con alzada, bajo mesada con torre—, alineados por atrás. Y 'colgado: true' (en el mueble o en un cuerpo) lo manda a la pared: el kit trae colgadores y riel en vez de patas. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, colgadoCon (\"auto\" = lo decide el motor: escuadras si el cuerpo lleno pesa ≤ 20 kg y mide ≤ 60 cm, si no tabla — usalo al colgar un mueble nuevo; \"tabla\" = tabla de colgar atornillada a la pared, y es lo que vale si falta; \"colgadores\" = colgadores regulables de alacena, uno por esquina de arriba (cuatro si el cuerpo pasa de 1 m y entran en su tercio de arriba), el fondo se mete 18 mm; \"escuadras\" = dos escuadras planas zincadas en las esquinas de arriba y atrás, para lo liviano; \"chapas\" = dos chapas de colgar, sólo en escenas viejas), enCuerpos, slidingDoor, glassDoors, montaje (\"sobrepuesto\" = puertas que tapan el canto entero, bisagra codo 0, lo normal en un mueble suelto; \"medio\" = medio canto, codo 9; \"embutido\" = adentro del vano, codo 18; reemplaza a overlay, que queda por compatibilidad como \"medio\") y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). También: tapa {material?, vuelo? mm, asiento?} (el techo pasa a ser una tapa pasante de otro material del mismo espesor, con vuelo a los costados y al frente; asiento revisa que aguante a una persona), herrajeRebatible \"piano\" (las rebatibles cuelgan de una bisagra piano; abajo, con un par de compases con traba: el escritorio de pared), margenFrente mm (con montaje sobrepuesto, las puertas se pasan de la caja: el frente-cuadro) y content estantes con prof mm (estantes más playos, contra el fondo). frenteDeslizante {f, estantes, prof?}: adelante va un cuerpo de estantes de f×width (como mucho medio interior) que se corre a la derecha su ancho sobre un riel de carga (biblioteca con estantes escondidos); root es el cuerpo fijo de atrás, una sola caja sin puertas ni cajones (alto/prof/colgado de sus hijos se ignoran); base zocalo; no va colgado. root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. interior:true (en una hoja o un corte) pone su puerta o sus cajones DETRÁS de la puerta del ancestro más cercano que tiene una (caja con llave dentro del placard, cajonera interior): esa puerta los tapa y ellos van embutidos y retirados; abierta:true en cambio deja la rama fuera de esa puerta. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Rebatible (tapa de pared sin mueble abajo, se pliega): height = altura de la tapa desde el piso; uso escritorio|desayunador|mesa decide la carga y los soportes; pared ladrillo (hueco o no se sabe)|ladrillo-macizo|hormigon|durlock, el anclaje y cuántos tacos pide la tracción; railMaterial opcional (el listón). Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla."
    },
    "preset": {
      "type": "string",
      "description": "ID del preset del mueble a construir. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles."
    },
    "salida": {
      "anyOf": [
        {
          "enum": [
            "despiece",
            "imagen",
            "modelo3d",
            "visor"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "despiece",
              "imagen",
              "modelo3d",
              "visor"
            ],
            "type": "string"
          },
          "minItems": 1
        }
      ],
      "description": "Qué devolver (uno o varios): un string o una lista. 'despiece' = piezas+cotización+factibilidad (texto). 'imagen' = vista 2D frente/lateral/planta (SVG). 'modelo3d' = el modelo 3D GLB embebido para renderizar. 'visor' = link al editor 3D en el sitio. Default: ['despiece']. El link al sitio se incluye SIEMPRE."
    },
    "ajustes": {
      "type": "object",
      "properties": {
        "alto_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "ancho_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "profundidad_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
      "additionalProperties": false
    }
  },
  "definitions": {
    "__schema0": {
      "type": "object",
      "required": [
        "s",
        "ch"
      ],
      "properties": {
        "s": {
          "enum": [
            "V",
            "H"
          ],
          "type": "string"
        },
        "ch": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "f",
              "node"
            ],
            "properties": {
              "f": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 40
              },
              "alto": {
                "type": "number",
                "maximum": 3000,
                "minimum": 150
              },
              "node": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "content"
                    ],
                    "properties": {
                      "led": {
                        "type": "boolean"
                      },
                      "door": {
                        "enum": [
                          "izq",
                          "der",
                          "doble",
                          "arriba",
                          "abajo",
                          "corrediza"
                        ],
                        "type": "string"
                      },
                      "lock": {
                        "enum": [
                          "magnetica",
                          "llave"
                        ],
                        "type": "string"
                      },
                      "push": {
                        "type": "boolean"
                      },
                      "ciego": {
                        "type": "object",
                        "required": [
                          "mm"
                        ],
                        "properties": {
                          "mm": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "suplemento": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "abierta": {
                        "type": "boolean"
                      },
                      "content": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "estantes"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              },
                              "prof": {
                                "type": "number",
                                "maximum": 1200,
                                "minimum": 80
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajones"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              },
                              "lock": {
                                "enum": [
                                  "magnetica",
                                  "llave"
                                ],
                                "type": "string"
                              },
                              "push": {
                                "type": "boolean"
                              },
                              "dobleFondo": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "cajonSecreto"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "barral"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "botellero"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "zapatero"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 5,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "volcable"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 4,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vidrio"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 8,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "bandeja"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 6,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ranurado"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 30,
                                "minimum": 3
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "hueco"
                              },
                              "para": {
                                "enum": [
                                  "lavarropas",
                                  "horno",
                                  "microondas"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c",
                              "n"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "ganchos"
                              },
                              "n": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "asiento"
                              },
                              "ganchos": {
                                "type": "integer",
                                "maximum": 12,
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "c"
                            ],
                            "properties": {
                              "c": {
                                "type": "string",
                                "const": "vacio"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "montaje": {
                        "enum": [
                          "sobrepuesto",
                          "medio",
                          "embutido"
                        ],
                        "type": "string"
                      },
                      "interior": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "$ref": "#/definitions/__schema0"
                  }
                ]
              },
              "prof": {
                "type": "number",
                "maximum": 1200,
                "minimum": 80
              },
              "colgado": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 8,
          "minItems": 2
        },
        "door": {
          "enum": [
            "izq",
            "der",
            "doble",
            "arriba",
            "abajo",
            "corrediza"
          ],
          "type": "string"
        },
        "lock": {
          "enum": [
            "magnetica",
            "llave"
          ],
          "type": "string"
        },
        "push": {
          "type": "boolean"
        },
        "ciego": {
          "type": "object",
          "required": [
            "mm"
          ],
          "properties": {
            "mm": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "suplemento": {
              "type": "number",
              "exclusiveMinimum": 0
            }
          },
          "additionalProperties": false
        },
        "abierta": {
          "type": "boolean"
        },
        "montaje": {
          "enum": [
            "sobrepuesto",
            "medio",
            "embutido"
          ],
          "type": "string"
        },
        "interior": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}
construir_mueble output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mueble",
    "medidas_mm",
    "salida_incluida",
    "editor_url",
    "modelo_url",
    "nota"
  ],
  "properties": {
    "nota": {
      "type": "string"
    },
    "mueble": {
      "type": "string"
    },
    "cotizacion": {
      "type": "object",
      "required": [
        "total_ars",
        "total_formateado",
        "piezas"
      ],
      "properties": {
        "piezas": {
          "type": "number"
        },
        "total_ars": {
          "type": "number"
        },
        "total_formateado": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "editor_url": {
      "type": "string"
    },
    "medidas_mm": {
      "type": "object",
      "required": [
        "ancho",
        "alto",
        "profundidad"
      ],
      "properties": {
        "alto": {
          "type": "number"
        },
        "ancho": {
          "type": "number"
        },
        "profundidad": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "modelo_url": {
      "type": "string"
    },
    "factibilidad": {
      "type": "object",
      "required": [
        "factible",
        "warnings",
        "nota"
      ],
      "properties": {
        "nota": {
          "type": "string"
        },
        "factible": {
          "type": "boolean"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "tipo",
              "severidad",
              "mensaje"
            ],
            "properties": {
              "tipo": {
                "type": "string"
              },
              "mensaje": {
                "type": "string"
              },
              "severidad": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "editor_url": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "animacion_url": {
      "type": "string"
    },
    "salida_incluida": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
construir_mueble annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

3 advertised

disenar_mueble_para_espacio — Diseñar un mueble para un espacio

Advertised by the server during the last successful anonymous check.

Diseñá un mueble a medida que entre en un espacio y obtené un link 3D editable. Guía el flujo: encontrar el preset → verlo → ajustarlo → armar el diseño.

mueble
Qué mueble querés diseñar. Ej: 'placard corredizo', 'biblioteca', 'escritorio'. (required)
espacio
Medidas del espacio disponible, opcional. Ej: '2,40 m de ancho × 2,60 m de alto'.
cotizar_y_despiece — Cotizar y sacar el despiece

Advertised by the server during the last successful anonymous check.

Averiguá cuánto sale un mueble en pesos y obtené la lista de cortes para la maderera. Guía el flujo hacia cotizar_mueble y despiece.

mueble
Qué mueble cotizar. Ej: 'cómoda', 'biblioteca', 'bajo mesada'. (required)
medidas
Medidas deseadas en cm o m, opcional. Ej: '1,80 m de ancho'.
iterar_diseno — Iterar y refinar un mueble

Advertised by the server during the last successful anonymous check.

Refiná un mueble con un cambio ('más ancho', 'un estante más', 'otro material') y revisá el efecto. Guía el flujo hacia ajustar_mueble y validar_factibilidad.

mueble
El mueble a refinar. Ej: 'biblioteca de 1,80 m en MDF blanco'. (required)
cambio
El cambio a aplicar. Ej: 'hacela 30 cm más ancha', 'agregá un estante', 'pasala a melamina roble'. (required)

Resources

13 advertised

cuanto-cuesta-un-placard — ¿Cuánto cuesta un placard de melamina en Argentina?

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): ¿Cuánto cuesta un placard de melamina en Argentina? Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

cuanto-cuesta-un-placard URI
https://www.mueblito.ar/guias/cuanto-cuesta-un-placard.md

MIME type: text/markdown

cuanto-cuesta-una-biblioteca — ¿Cuánto cuesta una biblioteca de melamina en Argentina?

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): ¿Cuánto cuesta una biblioteca de melamina en Argentina? Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

cuanto-cuesta-una-biblioteca URI
https://www.mueblito.ar/guias/cuanto-cuesta-una-biblioteca.md

MIME type: text/markdown

cuanto-cuesta-un-rack-de-tv — ¿Cuánto cuesta un rack de TV de melamina en Argentina?

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): ¿Cuánto cuesta un rack de TV de melamina en Argentina? Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

cuanto-cuesta-un-rack-de-tv URI
https://www.mueblito.ar/guias/cuanto-cuesta-un-rack-de-tv.md

MIME type: text/markdown

cuanto-cuesta-un-escritorio — ¿Cuánto cuesta un escritorio de melamina en Argentina?

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): ¿Cuánto cuesta un escritorio de melamina en Argentina? Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

cuanto-cuesta-un-escritorio URI
https://www.mueblito.ar/guias/cuanto-cuesta-un-escritorio.md

MIME type: text/markdown

cuanto-cuesta-un-mueble-bajo-mesada — ¿Cuánto cuesta un mueble bajo mesada de cocina en Argentina?

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): ¿Cuánto cuesta un mueble bajo mesada de cocina en Argentina? Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

cuanto-cuesta-un-mueble-bajo-mesada URI
https://www.mueblito.ar/guias/cuanto-cuesta-un-mueble-bajo-mesada.md

MIME type: text/markdown

cuanto-cuesta-una-comoda — ¿Cuánto cuesta una cómoda de melamina en Argentina?

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): ¿Cuánto cuesta una cómoda de melamina en Argentina? Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

cuanto-cuesta-una-comoda URI
https://www.mueblito.ar/guias/cuanto-cuesta-una-comoda.md

MIME type: text/markdown

como-hacer-un-placard-de-melamina — Cómo hacer un placard de melamina paso a paso

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): Cómo hacer un placard de melamina paso a paso Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

como-hacer-un-placard-de-melamina URI
https://www.mueblito.ar/guias/como-hacer-un-placard-de-melamina.md

MIME type: text/markdown

medidas-de-un-placard — Medidas de un placard de melamina: profundidad, barral, estantes y puertas

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): Medidas de un placard de melamina: profundidad, barral, estantes y puertas Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

medidas-de-un-placard URI
https://www.mueblito.ar/guias/medidas-de-un-placard.md

MIME type: text/markdown

medidas-de-un-bajo-mesada — Medidas de un bajo mesada de cocina: alto, profundidad, zócalo y módulos

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): Medidas de un bajo mesada de cocina: alto, profundidad, zócalo y módulos Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

medidas-de-un-bajo-mesada URI
https://www.mueblito.ar/guias/medidas-de-un-bajo-mesada.md

MIME type: text/markdown

como-hacer-un-mueble-modular-de-melamina — Cómo hacer un mueble modular de melamina y sacar la lista de corte

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): Cómo hacer un mueble modular de melamina y sacar la lista de corte Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

como-hacer-un-mueble-modular-de-melamina URI
https://www.mueblito.ar/guias/como-hacer-un-mueble-modular-de-melamina.md

MIME type: text/markdown

que-es-el-despiece-de-melamina — Qué es el despiece de melamina y cómo calcularlo sin perder plata

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): Qué es el despiece de melamina y cómo calcularlo sin perder plata Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

que-es-el-despiece-de-melamina URI
https://www.mueblito.ar/guias/que-es-el-despiece-de-melamina.md

MIME type: text/markdown

como-hacer-un-invernadero-de-jardin — Cómo hacer un invernadero chiquito de jardín

Advertised by the server during the last successful anonymous check.

Guía de Mueblito (contexto de referencia, es-AR): Cómo hacer un invernadero chiquito de jardín Números calculados con el motor real y precios vivos de MercadoLibre Argentina.

como-hacer-un-invernadero-de-jardin URI
https://www.mueblito.ar/guias/como-hacer-un-invernadero-de-jardin.md

MIME type: text/markdown

catalogo — Catálogo de muebles armables de Mueblito

Advertised by the server during the last successful anonymous check.

Todos los muebles que Mueblito sabe construir (JSON): id, nombre, tipo, ambiente, medidas en mm, link al editor 3D y miniatura. Cada uno se puede cotizar, despiezar, armar o abrir con las tools.

catalogo URI
mueblito://catalogo/muebles

MIME type: application/json

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1400 ms
95th percentile latency
1400 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1400 ms · metadata changed · 10 tool(s), 13 resource(s), 0 resource template(s), 3 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http mueblito-mcp https://www.mueblito.ar/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add mueblito-mcp --url https://www.mueblito.ar/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable mueblito-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "mueblito-mcp": {
      "url": "https://www.mueblito.ar/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "mueblito-mcp": {
      "type": "streamableHttp",
      "url": "https://www.mueblito.ar/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start mueblito-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "mueblito-mcp": {
      "type": "http",
      "url": "https://www.mueblito.ar/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http mueblito-mcp https://www.mueblito.ar/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.mueblito.ar/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "mueblito-mcp": {
      "serverUrl": "https://www.mueblito.ar/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Mueblito MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Mueblito MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing