Class and Flag overview
The UPowr platform gives you the flexibility to configure the workflow for a Customer’s project, as well as the experience the Customer has with your organisation.
For example, you can configure a workflow to suit:
- your organisational requirements - you can set if a quote requires a final review before it's sent to a Customer.
- the Customer experience that you want to offer - you can choose the payment options available to Customers, as well as whether they receive transactional or nurture emails.
You can do this through Classes and Flags:
- Flags are used to configure what happens in a workflow
- Classes are used to configure whether a Flag is applied to a particular Customer.
You can add a new Prime contractor from the Contractor class manager. For more information, see Roles and permissions
Flags
Flags are used to:
- turn functionality on or off - e.g. to set whether a Site inspection is required to install a product.
- specify what an end user can see - e.g.:
- the payment options that Customers can use.
- the tasks an Operator sees
- the forms an Installer must fill out
See the full list of available Flags.
Flag types
By default, the Platform includes these Flag types:
- Onboarding
- Quoting
- General
- Buying
- Installation
- Rectification
- Audit
- Asset replacement
- Site inspection
- Considering
If your environment has been set up with more Job types, you'll see Flags for them too.
Classes
Classes are used to configure whether a Flag is applied to a particular Customer. For example, you can set a Flag to apply only to Customers with commercial projects or only when a Customer is assigned a specific Contractor.
Class types
Here are the available Class types, the order that they're checked by the Platform, and how they're assigned to an entity.
The first Class, System default, is what is applied to the Customer if no other Classes have been applied.
Order | Class | How it's assigned |
---|---|---|
1 | Products | Through the Hardware model manager |
2 | Project | By an Operator on the Onboarding task or via the Onboarding API |
3 | Site | By an Operator on the Onboarding task |
4 | Customer | By an Operator on the Onboarding task or via the Onboarding API |
5 | Prime contractor | By an Operator on the Onboarding task |
6 | System default | NA |
In addition to these Classes, the Platform also has defaults that it uses when an entity hasn't been assigned to a Class.
How Classes and Flags interact
When a Workflow starts for a Customer’s project, the Platform:
- Checks which Flags are relevant to the Workflow.
- Checks how these Flags are set within the relevant Classes.
- Checks the Classes in the order listed above, and:
- If it finds that a Flag is enabled and set, it uses the setting, and ignores lower order settings.
- If the Flag is not enabled for any class, it uses the default.
Then once the Platform knows how the Flags are set, it creates the required workflow for that Project.
Examples
To illustrate how this works, let's look at some examples.
For simplicity, we're only going to account for 3 classes, which the Platform will check in this order:
- Site class - Residential
- Customer class - Solar offer A
- Contractor class - Region B Installers
The Flag we'll use is Skip quote transactional emails.
Example 1
Site: Residential | Customer: Solar offer A | Contractor: Region B Installers | Default | |
---|---|---|---|---|
Flag | NOT SET | ON | NOT SET | OFF |
In this example:
- The flag is not set for the relevant Site class, so the Platform looks at the next class down, the Customer class.
- For the Customer class, the flag is set to
On
. - The Platform ignores the Contractor class and Default settings.
Example 2
Site: Residential | Customer: Solar offer A | Contractor: Region B Installers | Default | |
---|---|---|---|---|
Flag | ON | OFF | NOT SET | OFF |
In this example:
- The Flag is set to
ON
for the relevant Site class, so the Platform uses this setting. - The Platform also ignores the settings for other Classes. This includes the Customer class that has been set to
OFF
.
Example 3
Site: Residential | Customer: Solar offer A | Contractor: Region B Installers | Default | |
---|---|---|---|---|
Flag | NOT SET | NOT SET | NOT SET | OFF |
In this example, the Flag has not been set for any relevant Classes, so the default OFF
is used.