> ## Documentation Index
> Fetch the complete documentation index at: https://codebeans-discount-engine-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule and save

> Choose automatic or code discounts, set dates and publish.

The last part of the form decides how the discount is triggered and when it runs.

## Automatic or code

* **Automatic discount** applies without any shopper action whenever the conditions are met.
* **Discount code** requires the shopper to enter a code at checkout.

> [!WARNING]
>
> The method can't be changed after the discount is created.

## Code options

When you choose **Discount code**:

| Option | What it does |
| - | - |
| **Discount code** | The code shoppers enter. **Generate random code** fills in one for you |
| **Applies once per customer** | Each customer can use the code once |
| **Limit number of times this discount can be used in total** | Set **Maximum total uses**. Once that many customers have used the code, no one else can redeem it |
| **Bulk Discount Code** | Generate many unique codes that share the same settings. Set **Number of codes** (up to 250 per generation), and an optional **Prefix** and **Suffix** (letters, numbers, dashes and underscores, up to 10 characters each) |

![Discount code options with Bulk Discount Code expanded](https://mintcdn.com/codebeans-discount-engine-pro/vADWEe_DBoVbp2Z1/images/method-and-codes.png?fit=max\&auto=format\&n=vADWEe_DBoVbp2Z1\&q=85\&s=9db2cadcdcb2d2004e38a719cd5fa7d0)

## Subscriptions

Tick **Applies on subscription** to apply the discount to subscription orders, and set a **Recurring cycle limit** to cap how many renewals it applies to.

## Dates and status

Set a start date and an optional end date. Dates use your shop's time zone. The campaign's status follows from them:

| Status | When |
| - | - |
| Scheduled | The start date is in the future |
| Active | The start date has passed and the end date has not |
| Expired | The end date is in the past |

![Start and end dates](https://mintcdn.com/codebeans-discount-engine-pro/vADWEe_DBoVbp2Z1/images/dates.png?fit=max\&auto=format\&n=vADWEe_DBoVbp2Z1\&q=85\&s=aa5993f3b3ab840e4ae0db788d86af0d)

You never set the status directly. **Activate** and **Expire** on the campaign list move the dates instead. See [Activating and expiring](https://codebeans-discount-engine-pro.mintlify.site/managing/activate-and-expire.md).

## Saving

Click **Save**. If a field is wrong, the error appears inline on that field. Fix it and save again.

Saving also republishes the campaign to your storefront, so any [theme blocks](https://codebeans-discount-engine-pro.mintlify.site/storefront/theme-blocks.md) pick up the change.

> [!NOTE]
>
> If your plan's campaign limit is reached, creating a new campaign is refused on save. Existing campaigns can still be edited. See [Campaign limits](https://codebeans-discount-engine-pro.mintlify.site/plans/campaign-limits.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.