Application Method
In this guide, you'll learn what an application method is in the Promotion Module.
What is an Application Method?#
The ApplicationMethod data model defines how a promotion is applied. It has the following properties that determine its behavior:
Property | Purpose | Possible Values |
---|---|---|
| Does the promotion discount a fixed amount or a percentage? |
|
| Is the promotion applied to a cart item, shipping method, or the entire order? |
|
| Is the discounted amount applied to each item or split between the applicable items? |
|
Target Promotion Rules#
When the promotion is applied to a cart item or a shipping method (in other words, when target_type
is items
or shipping_methods
), you can restrict which items/shipping methods the promotion is applied to.
The ApplicationMethod
data model has a collection of PromotionRule records to restrict which items or shipping methods the promotion applies to. The target_rules
property in the ApplicationMethod
represents this relation.
In this example, the promotion is only applied to product variants in the cart that have the SKU SHIRT
.
Buy Promotion Rules#
When the promotion’s type is buyget
, you must specify the “buy X” condition. For example, a cart must have two shirts before the promotion can be applied.
The application method has a collection of PromotionRule
items to define the “buy X” rule. The buy_rules
property in the ApplicationMethod
represents this relation.
In this example, the cart must have two product variants with the SKU SHIRT
for the promotion to be applied.
Maximum Quantity Restriction#
When the allocation
property in the ApplicationMethod
is set to each
, you can set the max_quantity
property of ApplicationMethod
to limit how many item quantities the promotion is applied to.
For example, if the max_quantity
property is set to 1
and the customer has a line item with quantity two in the cart, the promotion is only applied to one of them.
This condition is applied on the quantity of every applicable item in the cart. For example, if set to 1
and the customer has two applicable items in the cart, the promotion is applied to one of each of them.