Set Up Cover Panels through API
➡️ See the API Reference documentation 🔗 for detailed information.
Set Up the Dimensions
Parameter | Type | Possible values | Default value |
---|---|---|---|
width | Continuous length | [0 ;∞] | 0 ≤ 400 ≤ ∞ |
depth | Discrete length | [0 ;∞] | 13 |
height | Continuous length | [0 ;∞] | 0 ≤ 800 ≤ ∞ |
"width": {
"max": null,
"min": 0,
"step": 1,
"typeID": 1,
"editable": null,
"translation": {
"name": {
"1": "Longueur",
"2": "Width",
"3": "Anchura",
"4": "Breite"
}
},
"defaultValue": 400
}
Pricing
Additional information is not mandatory.
"prices": [
{
"typePrice": "regular",
"price": 100,
"startDate": null,
"endDate": null,
"currency": "EUR",
}
]
Non-Optimized Cover Panels
In the planner, cabinets use the generic product, but when it comes to pricing an algorithm will determine the boards to use (i.e. product articles) depending on the area to cover.
The final architecture in the BOM 🔗 JSON object will follow the following pattern (this is pseudo-code):
"products": [
{
"cabinetA",
"children": [
...
{
"generic-cover-panel-product", // this item is for the left CP
"children": [
{
"article-board"
}
]
},
{
"generic-cover-panel-product", // this item is for the right CP
"children": [
{
"article-board"
}
]
}
]
}
]
Optimized Cover-Panels
Top and bottom cover panels pricing is optimized: the planner will try to use boards on several cabinets at once.
As cabinets can share boards, these optimized cover panels are not located inside the "products" section of the Bill of Material (BOM) 🔗, but in a dedicated location, under the "linears" section.
"linears": [
{
"generic-cover-panel-product-1",
"children": [
{
"article-board-2400x600",
"furnitureList": [ 1, 2, 3 ],
"position": "top"
},
{
"article-board-800x600",
"furnitureList": [ 3, 4 ],
"position": "top"
},
{
"article-board-2400x600",
"furnitureList": [ 1, 2, 3 ],
"position": "bottom"
},
{
"article-board-800x600",
"furnitureList": [ 3, 4 ],
"position": "bottom"
},
]
},
{
"generic-cover-panel-product-2",
"children": [
{
"article-board-800x390",
"furnitureList": [ 5 ],
"position": "top"
}
]
}
]
Product Mapping
Note: cover panel mappings ARE NOT regular product mapping as documented here 🔗. They use the product mapping structure to configure the behavior, but it is a dedicated algorithm that solves this mapping. For that reason, only simple and flat mappings are supported with only the "EQUALS" comparison and "&&" operator.
"mapping": [
{
"referenceProduct": "20043",
"conditions": {
"version": "1.0",
"conditions": [
{
"param": "width",
"value": 390,
"comparison": "EQUAL"
},
{
"operator": "&&"
},
{
"param": "height",
"value": 860,
"comparison": "EQUAL"
},
{
"operator": "&&"
},
{
"param": "depth",
"value": 13,
"comparison": "EQUAL"
}
]
}
}
]
Deploy
A common practise is to let the user choose the cover panel they want in the planner. You then must list the compatible cover panel products at the top-assembly level using a visible product parameter: e.g. leftCoverPanel
, backCoverPanel
.
To enable the automatic cover-panel behaviors in the planner, you also have to setup a few additional invisible boolean parameters:
leftCoverOption
rightCoverOption
backCoverOption
backLeftCoverOption
(for corner cabinets)backRightCoverOption
(for corner cabinets)
this automatic feature is not available for top and bottom cover panels, that is why it is not useful to add
topCoverOption
andbottomCoverOption
.
To let the end user decide whether or not to let the planner manage cover panels automatically, you can also setup the following boolean parameters:
autoLeftCoverPanel
autoRightCoverPanel
These parameters should be visible and editable for the end user. They are only available for left and right cover panels and let the user enable the automatic cover panels (auto management by the planner) or disable it (manual management by the user).
Cabinet Top Level Update
To definitely activate the cover panel option on a cabinet, the following parameters should be defined at top-assembly level.
📌 Parameters followed by an * are mandatory for automatic behavior. The default value is formatted in bold.
❗️
leftCoverPanel
must be 'nullable' andleftCoverOption
is FALSE by default.
Object type | Parameter name | Parameter type | Possible values | Function |
---|---|---|---|---|
Base/High/Wall cabinet | rightCoverOption * | boolean | TRUE / FALSE | Enable the automatic behavior to deactivate the right cover panel of a cabinet if it is fully covered. ( Require rightCoverPanel [product]) |
Base/High/Wall cabinet | leftCoverOption * | boolean | TRUE / FALSE | Enable the automatic behavior to deactivate the left cover panel of a cabinet if it is fully covered. ( Require leftCoverPanel [product]) |
Base/High cabinet | backCoverOption * | boolean | TRUE / FALSE | Enable the automatic behavior to deactivate the back cover panel of a cabinet if it is fully covered. ( Require backCoverPanel [product]) |
Base/High/Wall cabinet | rightCoverPanel * | product | – | Dedicated parameter for client Range integration. |
Base/High cabinet Wall cabinet | leftCoverPanel * | product | – | Dedicated parameter for client Range integration. |
Base/High cabinet | backCoverPanel * | product | – | Dedicated parameter for client Range integration. |
High/Wall cabinet | topCoverPanel | product | – | Dedicated parameter for client Range integration. |
Wall cabinet | bottomCoverPanel | product | – | Dedicated parameter for client Range integration. |
Base/High/Wall cabinet | autoRightCoverPanel | boolean | TRUE / FALSE | Parameter to let the user decide to manage the right cover panel automatically or not (Requires rightCoverPanel [product] and rightCoverOption [boolean]) |
Base/High/Wall cabinet | autoLeftCoverPanel | boolean | TRUE / FALSE | Parameter to let the user decide to manage the left cover panel automatically or not (Requires leftCoverPanel [product] and leftCoverOption [boolean]) |
leftCoverOption
"leftCoverOption": {
"typeID": 3,
"editable": null,
"translation": {
"name": {
"2": "leftCoverOption"
}
},
"defaultValue": 0
}
leftCoverPanel
"leftCoverPanel": {
"ids": [
"13857",
"15488",
"15528",
"15534",
"15535",
"15769",
"16050",
"16054",
"16053",
null
],
"tags": [],
"typeID": 7,
"editable": "RW",
"nullable": true,
"translation": {
"name": {
"2": "Left Cover Panel"
}
},
"defaultValue": "13857"
}
❗️ Top and bottom panels do not have the automatic removal behavior so only
xxxCoverPanel
product parameters are required.
topCoverPanel
"topCoverPanel": {
"ids": [
"13893",
"15489",
"15529",
"15532",
"15530",
"15770",
"16052",
"16058",
"16057",
null
],
"tags": [],
"typeID": 7,
"editable": "RW",
"nullable": true,
"translation": {
"name": {
"2": "Top Cover Panel"
}
},
"defaultValue": ""
}
bottomCoverPanel
"bottomCoverPanel": {
"ids": [
"13893",
"15489",
"15529",
"15532",
"15530",
"15770",
"16052",
"16058",
"16057",
null
],
"tags": [],
"typeID": 7,
"editable": "RW",
"nullable": true,
"translation": {
"name": {
"2": "Bottom Cover Panel"
}
},
"defaultValue": ""
}