Skip to main content

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.
Add a new Prime contractor

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.

OrderClassHow it's assigned
1ProductsThrough the Hardware model manager
2ProjectBy an Operator on the Onboarding task or via the Onboarding API
3SiteBy an Operator on the Onboarding task
4CustomerBy an Operator on the Onboarding task or via the Onboarding API
5Prime contractorBy an Operator on the Onboarding task
6System defaultNA

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:

  1. Checks which Flags are relevant to the Workflow.
  2. Checks how these Flags are set within the relevant Classes.
  3. 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:

  1. Site class - Residential
  2. Customer class - Solar offer A
  3. Contractor class - Region B Installers

The Flag we'll use is Skip quote transactional emails.

Example 1

Site: ResidentialCustomer: Solar offer AContractor: Region B InstallersDefault
FlagNOT SETONNOT SETOFF

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: ResidentialCustomer: Solar offer AContractor: Region B InstallersDefault
FlagONOFFNOT SETOFF

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: ResidentialCustomer: Solar offer AContractor: Region B InstallersDefault
FlagNOT SETNOT SETNOT SETOFF

In this example, the Flag has not been set for any relevant Classes, so the default OFF is used.