> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt ## Resource: Benefit Programs Lifecycle ## Article: Benefit Programs Lifecycle ## Article Link: https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/benefit-programs-lifecycle.md ## Article Content: # Benefit Programs Lifecycle The purpose of having benefit programs is to allow [beneficiaries](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) to enroll in [programs](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md), so they can [redeem](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) [benefits](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) from the programs' [pools](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md). Pools contain the key parts of benefit programs, including the benefits, beneficiary, and [balance](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md). However, managing benefit programs requires more than just managing pools. This article details the different parts involved in managing benefit programs and their associated components. Learn more about [benefit programs components](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/benefit-program-components.md). ## Creating benefit programs Programs and pools are created from [program definitions](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) and [pool definitions](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md). - **Programs and pools are live**: They have a status and a beneficiary. - **Program definitions and pool definitions are static**: They exist to serve as templates for programs and pools. A program definition is a list of pool definitions, and a pool definition is a list of benefits and a credit configuration. Why do we need both program definitions and pool definitions? ### Balances Each pool has its own associated balance. This allows you to manage the available [credits](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) separately for each pool in a program. ### Managing a program's pools synchronously Program definitions allow you to group pool definitions, so when a program is provisioned from the program definition, all of its pools are managed together. When you [renew a program](#renewing-programs) or [change its status](#changing-programs-statuses), it affects all the program's pools similarly. ### Reusing pool definitions across program definitions 1 pool definition can be contained in multiple program definitions, which allows you to reuse benefits across program definitions without needing to duplicate code. ### Benefit programs with 1 pool definition If you only have 1 pool definition, then you don't need a program definition. You can [provision](#provisioning-programs) a program from your pool definition, which results in a program containing 1 pool, which is created from your pool definition. ## Provisioning programs [Provisioning](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) a program is the action of creating a program and assigning a beneficiary to it. Provision a program by calling [Provision Program](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/programs/provision-program.md). You can provision a program from a program definition or a pool definition: - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition. - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition. A program's pools have the same beneficiary and status as the program. ## Redeeming benefits A beneficiary can redeem a benefit by calling [Redeem Benefit](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/pools/redeem-benefit.md). Redeeming a benefit adjusts the pool's balance by the benefit's price, but you still need to handle providing the item to the beneficiary. You can check which items and benefits are eligible to be redeemed using the following methods: - [Check Benefit Eligibility](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/pools/check-benefit-eligibility.md) - [Bulk Check Benefit Eligibility](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/pools/bulk-check-benefit-eligibility.md) - [Get Eligible Benefits](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/pools/get-eligible-benefits.md) ## Managing programs and pools Once created, you may want to apply changes to your programs and pools. ### Renewing programs Renewing a program renews the program's pools. This may affect each pool's associated balance, depending on the pool's credit configuration. Renew a program by calling [Renew Program](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/programs/renew-program.md). ### Changing programs' statuses Changing a program's status changes the program's pools' statuses. You can [pause](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/programs/pause-program.md), [resume](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/programs/resume-program.md), or [end](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/programs/end-program.md) a program. ### Updating program definitions and pool definitions When you update a program definition or a pool definition, you may want the changes to apply to programs and pools created from it. specify when you want the changes to apply using the method's [`cascade`](https://dev.wix.com/docs/api-reference/business-solutions/benefit-programs/introduction.md) parameter. The changes will apply to all future program and pools, and to existing programs and pools depending on the `cascade` value. Changes can apply to existing programs and pools at the following times: - Immediately following the successful API call. - When they are next [renewed](#renewing-programs). - Never. Changes will only be applied to future programs and pools.