> ## Documentation Index
> Fetch the complete documentation index at: https://help.lobyco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Discount types reference

> The seven discount models an offer can use, what each one supports, and a worked example of each.

The **discount type** decides what an offer does to the price. It also decides which fields appear on the rest of the form, so it is worth choosing deliberately rather than changing later — the type cannot be changed once the offer is active.

A **discount** is the monetary reduction or bonus value applied to a basket or an item, calculated by the Lobyco Discount Service from the offer and coupon rules.

## At a glance

| Discount type                                         | What it does                                         | Applies to | Discount values                                                      | Tiers or rules |
| ----------------------------------------------------- | ---------------------------------------------------- | ---------- | -------------------------------------------------------------------- | -------------- |
| [Product Discount](#product-discount)                 | Reduces the price of individual products             | Product    | Amount off, Percentage off, Fixed price, Bonus amount, Bonus percent | One            |
| [Basket Discount](#basket-discount)                   | Reduces the basket total                             | Basket     | Amount off, Percentage off, Bonus amount, Bonus percent              | One            |
| [Mix & Match](#mix-and-match)                         | Rewards buying two or more different products        | Product    | Amount off, Percentage off, Fixed price                              | Two or more    |
| [Mix & Match Total Value](#mix-and-match-total-value) | Sells a set of products for one total price          | Basket     | Amount off, Percentage off, Fixed price                              | Two or more    |
| [Threshold Discount](#threshold-discount)             | Discounts every n-th item once a quantity is reached | Product    | Amount off, Percentage off, Fixed price                              | One            |
| [Quantity Tier](#quantity-tier)                       | Grows the discount as quantity increases             | Product    | Amount off, Percentage off, Fixed price                              | Two or more    |
| [Basket Tier](#basket-tier)                           | Grows the discount as basket total increases         | Basket     | Amount off, Percentage off                                           | Two or more    |

Basket-level types — Basket Discount, Mix & Match Total Value and Basket Tier — behave differently from product-level ones in two ways worth knowing up front: they have no **Maximum uses per receipt**, and any products or categories you list are treated as **exclusions** rather than inclusions.

## Product Discount

Applies the discount at product level.

* **Buy** — the products or categories in *Product IDs* and/or *Category IDs*, in the quantity or amount set by *Purchase value*.
* **Get** — an amount off, a percentage off, or a fixed price, from *Offer value*.
* **Limit** — *Maximum quantity per receipt* within one transaction.

This is the only type that supports the full set of discount values, including bonus.

**Example.** 10% off a named coffee brand, up to 4 units per receipt.

## Basket Discount

Applies the discount to the basket total, optionally excluding some items or categories.

* **Buy** — anything, *excluding* the products or categories in *Product IDs* and/or *Category IDs*, to at least the amount set by *Purchase value*.
* **Get** — an amount off or a percentage off.
* **Limit** — *Discount amount limit*, the maximum discount on one transaction.

**Example.** 5.00 off a basket of 40.00 or more, excluding tobacco and gift cards.

## Mix and Match

Applies the discount when two or more *different* products are bought. Any number of rules can be added, and **all** of them must be met for the discount to trigger.

* **Buy** — the products or categories in each rule, in the quantity or amount set by *Purchase value*. At least two rules are required.
* **Get** — an amount off, a percentage off, or a fixed price. This can differ per rule: one rule might give 10% off its items and another 20% off its items.
* **Limit** — *Maximum quantity per receipt*, the total number of groups of items from the rule that receive the discount.

**Example.** Buy a pizza and a soft drink, get 20% off the drink.

## Mix and Match Total Value

Also requires two or more different products, and all rules must be met. It differs from Mix & Match in that it applies **one** discount across all the involved products, and allows a single fixed value for the whole set.

This is the usual choice for meal-deal style offers.

* **Buy** — the products or categories in each rule, in the quantity or amount set by *Threshold value*. At least two rules are required.
* **Get** — an amount off, a percentage off, or all items for a fixed total price.

**Example.** A sandwich, a snack and a drink for 5.00 in total.

## Threshold Discount

Applies a discount to every n-th item once the configured quantity threshold is reached.

* **Buy** — the products or categories in *Product IDs* and/or *Category IDs*, in a quantity equal to or greater than *Threshold value*.
* **Get** — the discount in *Offer value* — amount off, percentage off, or fixed price — applied to every n-th item.
* **Limit** — *Maximum quantity per receipt* within one transaction.

<Warning>
  The threshold value cannot be set to 1.
</Warning>

**Example.** With a threshold of 3 and a limit of 2, the discount applies to the 3rd and 6th items, but not the 9th.

## Quantity Tier

Applies a different discount at each quantity step. Several tiers can be defined, each with its own discount, and the **highest tier reached** is the one that applies.

* **Buy** — the products or categories, which are the **same across all tiers**. The quantity is set per tier: it cannot be less than 2, and must increase with each tier.
* **Get** — the discount in *Offer value* — amount off, percentage off, or fixed price — set per tier. There is no requirement for later tiers to be more generous, though normally they are.
* **Limit** — *Maximum quantity per receipt* within one transaction.

<Warning>
  At least two tiers are required.
</Warning>

**Example.** Buy 3 bottles, get 10% off; buy 6, get 20% off. A customer buying 7 gets 20%.

## Basket Tier

Applies a different discount at each **basket total** step. Several tiers can be defined, each with its own discount, and the highest tier reached is the one that applies.

Where Quantity Tier scales with how *many* items a customer buys, Basket Tier scales with how *much* they spend.

* **Buy** — a basket total equal to or greater than the tier's *Purchase value*. Any products or categories you list are treated as **exclusions**, and are **shared across all tiers**.
* **Get** — an amount off or a percentage off, set per tier. Fixed price and bonus values are not available for this type.
* **Limit** — no *Maximum quantity per receipt*, as the discount applies to the basket rather than to items. Use *Discount amount limit* to cap the discount.

<Warning>
  At least two tiers are required.
</Warning>

<Info>
  Basket Tier is a complex offer type and **may not appear in your app by default**. Contact your Customer Success Manager to check whether it is available for your setup.
</Info>

**Example.** Spend 50.00 or more, get 5.00 off; spend 100.00 or more, get 12.00 off. A customer spending 120.00 gets 12.00 off.

## Fields shared across discount types

### Product IDs and Category IDs

Sets which items or categories the offer covers. Click the pen or plus to edit the list, one ID per line, or upload a CSV with one ID per line.

* The uploaded file only populates the form — it can be reviewed and edited afterwards, and the file name is not stored.
* IDs can be downloaded again for review.
* Keep lists under roughly 40,000 affiliations, with no more than 20 challenges running at once — beyond that you may hit performance problems.
* For **Basket Discount** and **Basket Tier**, these lists are used to *exclude* products and categories from the offer, not to include them.

### Offer value

* **Amount off** — a fixed amount off the product or basket price.
* **Fixed price** — sets a fixed price for the product. Not available at basket level.
* **Percentage off** — a percentage off the product or basket price.
* **Bonus percent** — a bonus percentage of the product or basket price.
* **Bonus amount** — a fixed bonus amount.

Which of these you can choose depends on the discount type — see [At a glance](#at-a-glance).

### Purchase type and Purchase value

**Purchase type** sets what triggers the offer:

* **Amount** — the value of the products, or of the basket, has been reached. For example: buy at least 5.00 of a soft drink to get 10% off.
* **Quantity** — a number of products from the offer has been bought. For example: buy at least 2 bottles to get 10% off.

**Purchase value** is the minimum quantity or amount that must be met before the offer applies.

* Where *Purchase type* is *Amount*, use 0.01 to trigger the offer on any purchase.
* For weighted items, use a low value such as 0.001 — one gram — to trigger on any purchase.

### Maximum uses per receipt

The maximum quantity that can receive the offer in a single transaction. Overall, the offer discounts at most *Redemption limit* × *Maximum uses per receipt*.

This can be overridden by *Discount amount limit* if the maximum amount is reached first. Not available at basket level.

### Ignore offer on POS

Mainly relevant where an external system sets up offers. Switching this on marks the offer as not to be sent to the POS for discount calculation, so it is visible in the mobile app but cannot be applied at the till — which avoids the same offer being allocated twice from two systems.

### Prices

Available for **Product Discount** only, and not used by every retailer. These are display prices for the app, not calculation prices: when the coupon is redeemed, the discount is applied to the price received from the checkout system. They are useful as a fallback where there is no pricing catalogue integration.

* **Product price before discount** — the per-product price shown in the app before discount.
* **Unit price before discount** — the per-unit price shown in the app before discount.
