The forestry trailer configuration model is much more complex than the Personal Computer so it better to start with it if you have not done it before. Please refer to VariCPQ Basic: Modeling and administration for more thorough definitions and all available modeling constructs.
The trailer has 14 parameters that have been divided into three groups. In the normal process the user will first select the physical dimensions of the trailer, then wheels and other major features, and finally the accessories. However, VariCPQ does not restrict the user to this workflow and they make selections in any order if they want it.
The model is defined in the Excel file: varicpq-forestry-trailer.xlsx.
WIDTHis a number between
2350mm as the default value.
REQUIRESconstraint says that you can select an option only if you also select another option while an
EXCLUDESconstraint says that you cannot take two options together, and an OR constraint says that the user needs to include at least one selection from a list in the configuration. This model has five constraints: trailers with heavy load allowances need stronger brakes, a crane needs stabilizing flaps, it is not possible to have both rear working light and a toolbox, it is not possible to have wide wheels and a working light, and the user needs to have one of the working light, toolbox, or the crane.
A configuration model is a single workbook that can contain many sheets. In this case we have only one sheet. Empty rows of the sheet are ignored. The beginning of the trailer model looks like this:
The meanings of the columns are:
PRODUCT row gives information about what is being
configured. The ID column contains the product code while the DESC
language columns gives descriptions that are shown to the user in
In this case the product code is
VM00000230/A. However, the
English description that is shown to the users is 'Forestry
Trailer T800'. The price row shows the base price of the trailer
that is 10000 EUR.
Parameters that are related to each other can be grouped
together in the configurator form. Each group is started with a
GROUP row that gives an ID to the group as well as its description
that is shown to the users.
The Forestry Trailer model has three groups:
BASIC: contains parameters that define the physical dimensions of the trailer.
WHEELS: parameters defining the tyres and the optional crane
ACCESSORIES: parameters defining the accessory options of the trailer.
Each parameter of the model is defined in two parts. First there is the row that defines the parameter itself, and then each possible value or range of values on its own row. You can add names for values and ranges and then use the names when defining rules using constraints.
The carrying capacity is defined with the rows:
This defines that the parameter has a list of five possible
values and the default value is
16. Two of the values have an
English description added to them. This description is shown in
VariCPQ form when given, otherwise the view shows the ID of the
value. Each different carrying capacity has a price assigned to
it that is added to the total price when the value is chosen.
16 have additional English info texts
defined for then that are shown when the user presses the info
Three of the values,
16 have the name
HEAVY_LOAD defined for them. This groups them together so that
it will later be possible to add a rule saying that a large
carrying capacity requires four-wheel brakes.
The trailer width is defined with rows:
The definition states that value of the
WIDTH must be between
2100 and 2600 millimeters with the default value 2350. The range
is divided into two parts 2100-2300 and 2301-2600. This is done
because that lets us to add an extra charge of 100 EUR to the
wider subrange. The parameter
WIDTH is not used in any constraints, so we do
not need to add names to the values.
The trailer length is defined with:
This is similar to the
WIDTH case except that there is only
one range as all lengths have the same price. The length is a
number between 6000 and 7500 millimeters with the default value
The stake height is defined with:
Here the value lies in the range 500-2000 millimeters with 1000 as the default. The range is split in three parts to show that it is possible to combine individual values with ranges in the definition of numerical attributes.
The last parameter in the
BASIC group is the ground clearance
that is a simple numerical parameter in the range of 700-1000 mm
with default 800 mm.
TYRES is the first parameter of the
WHEELS group and it is
There are three possible values and each of them has a different price. Here all values have at least one name
WIDEtyres, that is,
There are defined with rows:
There are two brake options: 2-wheel and 4-wheel brakes that
both have their own prices. The 4-wheel brakes have the name
BRAKES_4 defined for it because it is needed for the constraint
that says that heavy load trailers need better brakes.
A trailer may have a loading crane. The parameter is defined with rows:
The trailer either has a crane or not, so the possible values
YES and including the crane adds
2500 EUR to the price.
Because the crane is involved in a constraint, the
YES value has
also the name
CRANE defined for it.
The stabilizer is another option similar to the crane. If the trailer has a crane, then the stabilizer is mandatory, but it can be taken also by itself.
As is the case with the
CRANE parameter, this has two values,
YES, and the
YES option has both a price and a name.
The first accessory parameter is the
COLOR that has three
Choosing the color does not have any effect in price and there are no constraints on it so most of the columns are empty.
TOOLBOX is another yes/no option:
Including a toolbox adds 200 EUR to the price. The
has the name
TOOLBOX because it will be used in a constraint.
The rear work light is a yes/no option:
NO values have names. The name
here to illustrate that it is possible to expresses not-conditions
by naming the values suitably. You can test that the work light is
not selected by checking if the value
NO_LIGHT is selected.
The Forestry Trailer model has five configuration rules that are modeled using all three constraint types.
The first rule is that heavy-load trailers need 4-wheel brakes.
This is stated as a
The first row states what is the value that has requirement
HEAVY_LOAD), and the next row what value is necessary for that
The constraint works in two ways:
When a user selects the value that has a requirement, then VariCPQ automatically tries to satisfy the requirement. If there is only one way to meet it then that is selected automatically. If there are many ways, then those values that are incompatible with it are disabled on the for.
The automatic selection works in both directions. If the user selects 2-wheel brakes before they select the carrying capacity, then the heavy load options are disabled on the form.
If the user tries to select an option that is disabled, they get a warning dialog that shows the constraint's description to tell what is the problem. The dialog shows the parameters that are involved in the conflict and the user can select which of the choices to reset directly from the form.
The second rule states that the crane requires flaps to stabilize it. This has the same form as the previous brake constraint:
If the user selects the crane, VariCPQ will try to automatically add the flaps to the configuration. If that is not possible, there will be a conflict.
The rear working lights and the toolbox are attached to the
same place in the trailer, so it is not possible to take both of
them. This is modeled using an
EXCLUDES constraint that states
that two values may not be selected at the same time:
The EXCLUDES constraint triggers automatic value disabling in
VariCPQ. As soon as the user selects
is disabled and vice versa. If the user tries to select the
disabled value, they will a conflict dialog explaining the problem
using the description of the constraint.
EXCLUDES constraint of the model forbids the user
WIDE wheels and the light:
In this case the
WIDE selection refers to two values of the
TYRES parameter: both
400/60-15.5 are marked
WIDE so selecting either prevents including the light.
The final constraint is an example of a business rule that is not
technical. The rule states that the user has to select at least
one of the options: crane, toolbox or rear work light. This is
modeled with an
OR requires that at least one of the listed values is included
in a configuration but there may be more. For example, the user is
allowed to select both
LIGHT if they want.
Download a workbook template from this link. It is made in Euros (
EUR) and English (