Benefit Program Components

Benefit programs are made up of many parts. This article breaks down benefit programs into key parts and explains how they relate to each other.

Visual representation

The following image represents a simple example of a benefits program, which you may want to refer back to while reading this article.

Items

Items are rewards, products, or services provided by other apps. For example, an item could be a product provided by Wix Stores. Items are given to a beneficiary when a benefit is redeemed.

A benefit item references an item and is assigned to 1 benefit using the benefit's item set ID.

Manage benefit items using the Items API.

Benefits

Benefits are configurations of which items can be redeemed for a specified number of credits.

The main parts that make up a benefit are:

  • Items: The items that can be provided to the beneficiary when a benefit is redeemed. A benefit has a unique item set ID, which is defined by Wix when you create the benefit. When you create or update a benefit item, specify the benefit's itemSetId to assign the benefit item to the benefit. All items assigned to the same benefit must be provided by the same app.
  • Price: The cost of redeeming the benefit in credits.

You can also define other settings for a benefit, such as a display name.

Benefits are defined in pool definitions.

Pool definitions

Think of pool definitions as templates for future pools.

The main parts that make up a pool definition are:

  • Benefits: A list of benefits.
  • Credit settings: The initial balance and credit settings for pools created from this pool definition.

You can also define other settings for a pool definition, such as a display name.

Manage pool definitions using the Pool Definitions API.

Program definitions

Think of program definitions as templates for future programs.

A program definition contains pool definitions.

  • Multiple program definitions can contain the same pool definition.
  • A pool definition isn't required to be contained by a program definition.
  • Pool definitions define which program definitions they're in with the optional programDefinitionIds property.

Manage program definitions using the Program Definitions API.

Pools

A pool is a list of benefits that its beneficiary can redeem. It also contains settings that determine how renewing a pool affects its balance.

A pool is created from a pool definition. A pool contains the same benefits and has the same credit settings as the pool definition it was created from. A pool also has:

  • An associated balance.
  • A beneficiary.
  • A status. For example, ACTIVE.

Manage pool definitions using the Pools API.

Programs

A program is a list of pools with the same beneficiary that are managed together.

A program is similar to a program definition, but it also has:

  • A beneficiary.
  • A status. For example, ACTIVE.
  • Pools instead of pool definitions. These pools have the same beneficiary as the program.

Provisioning a program creates a program based on one of the following:

  • Program definition: The program contains pools created from the program definition's pool definitions.
  • Pool definition: The program contains a pool created from the pool definition.

Notes:

  • If a program is created from a pool definition, it doesn't have an associated program definition.
  • Every pool is contained by a program.

Manage programs using the Programs API.

See also

Did this help?