Scale: group range vs. window measurement
At group level the advisor enters a min/max width and height across all windows in the group — informational, to quickly pick a suitable product line for the entire group. At window level the exact finished sizes of the frame apply; these determine actual system suitability and price.
Matrix lookup (per window)
price(height, width, priceGroup) = matrix[ceil(height → tier)][ceil(width → tier)][priceGroup]
Tiers are fixed per system (from the Erfal price list). On input the value is rounded up to the next tier ≥ the entered mm. If the height/width of the window falls outside the system range → the system is not available.
Suitability check (per window)
A system is available if and only if both conditions hold for the window's finished sizes:
| Condition | Formula |
|---|---|
| Width within range | system.min_width ≤ window.finishedWidth ≤ system.max_width |
| Height within range | system.min_height ≤ window.finishedHeight ≤ system.max_height |
Window-info validation
On + Add to order the combination of system + window info is checked. Blocking (aborts):
- Horizontal frame → only horizontally mountable systems (e.g. tension-cable duette LSC/LMB).
- Slanted frame → only tensioned models.
- Movable window (opens in/out/tilt-and-turn) → tensioned required.
- Plastic/aluminium frame that opens + drilled system → choose clamp or stick-on.
Advisory (warning, customer can confirm):
- Ventilation grille + duette → top-down/bottom-up advisory.
- Extra-wide view-through + venetian → Megaview.
- Bathroom + wooden venetian → moisture warning.
- Inward-opening + duette/venetian/roller blind in recess → frame can no longer be opened.
Group consistency
When adding, it is checked whether the product type already occurs elsewhere in the group. Adding a new product type to a group that already has other products → confirm dialog "do you still want to continue?".
Side-guide surcharge
Fixed amount per height tier (€16–€30). Lookup: sideGuide(height) = arr[ceil(height → tier)].
DIN EN 13120 — operating length
When fully extended, the operating cord/chain must sit more than 1.5 m from the floor (child safety). The configurator automatically proposes operatingLength = finishedHeight − 150 cm.
Order total
Order total = sum of all decoration totals across all windows in all groups, excluding TBD accessories (articles whose article number still has to be filled in).