Application Method

In this document, you'll learn what an application method is.

What is an Application Method?#

The ApplicationMethod data model defines how a promotion is applied:

Property

Purpose

type

Does the promotion discount a fixed amount or a percentage?

target_type

Is the promotion applied on a cart item, shipping method, or the entire order?

allocation

Is the discounted amount applied on each item or split between the applicable items?

Target Promotion Rules#

When the promotion is applied to a cart item or a shipping method, 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 represents this relation.

A diagram showcasing the target_rules relation between the ApplicationMethod and PromotionRule data models

In this example, the promotion is only applied on products in the cart having 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 represents this relation.

A diagram showcasing the buy_rules relation between the ApplicationMethod and PromotionRule data models

In this example, the cart must have two products with the SKU SHIRT for the promotion to be applied.

Was this page helpful?
Edit this page
Ask Anything
FAQ
What is Medusa?
How can I create a module?
How can I create a data model?
How do I create a workflow?
How can I extend a data model in the Product Module?
Recipes
How do I build a marketplace with Medusa?
How do I build digital products with Medusa?
How do I build subscription-based purchases with Medusa?
What other recipes are available in the Medusa documentation?
Chat is cleared on refresh
Line break