---
displayed_sidebar: pricingReference
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# PriceRuleDTO

A price rule's data.

## Properties

<ParameterTypes parameters={[
  {
    "name": "id",
    "type": "`string`",
    "description": "The ID of the price rule.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "price_list_id",
    "type": "`string`",
    "description": "The ID of the associated price list.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "price_set",
    "type": "[PriceSetDTO](PriceSetDTO.mdx)",
    "description": "The associated price set.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": [
      {
        "name": "id",
        "type": "`string`",
        "description": "The ID of the price set.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "money_amounts",
        "type": "[MoneyAmountDTO](MoneyAmountDTO.mdx)[]",
        "description": "The prices that belong to this price set.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": [
          {
            "name": "amount",
            "type": "`number`",
            "description": "The price of this money amount.",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "currency",
            "type": "[CurrencyDTO](CurrencyDTO.mdx)",
            "description": "The money amount's currency.",
            "optional": true,
            "defaultValue": "",
            "expandable": true,
            "children": []
          },
          {
            "name": "currency_code",
            "type": "`string`",
            "description": "The currency code of this money amount.",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "id",
            "type": "`string`",
            "description": "The ID of the money amount.",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "max_quantity",
            "type": "`number`",
            "description": "The maximum quantity required to be purchased for this price to be applied.",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "min_quantity",
            "type": "`number`",
            "description": "The minimum quantity required to be purchased for this price to be applied.",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "price_set_money_amount",
            "type": "[PriceSetMoneyAmountDTO](PriceSetMoneyAmountDTO.mdx)",
            "description": "The details of the relation between the money amount and its associated price set.",
            "optional": true,
            "defaultValue": "",
            "expandable": false,
            "children": []
          }
        ]
      },
      {
        "name": "rule_types",
        "type": "[RuleTypeDTO](RuleTypeDTO.mdx)[]",
        "description": "The rule types applied on this price set.",
        "optional": true,
        "defaultValue": "",
        "expandable": false,
        "children": [
          {
            "name": "default_priority",
            "type": "`number`",
            "description": "The priority of the rule type. This is useful when calculating the price of a price set, and multiple rules satisfy the provided context. The higher the value, the higher the priority of the rule type.",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "id",
            "type": "`string`",
            "description": "The ID of the rule type.",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "name",
            "type": "`string`",
            "description": "The display name of the rule type.",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          },
          {
            "name": "rule_attribute",
            "type": "`string`",
            "description": "The unique name used to later identify the rule\\_attribute. For example, it can be used in the `context` parameter of the `calculatePrices` method to specify a rule for calculating the price.",
            "optional": false,
            "defaultValue": "",
            "expandable": false,
            "children": []
          }
        ]
      }
    ]
  },
  {
    "name": "price_set_id",
    "type": "`string`",
    "description": "The ID of the associated price set.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "price_set_money_amount_id",
    "type": "`string`",
    "description": "The ID of the associated price set money amount.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "priority",
    "type": "`number`",
    "description": "The priority of the price rule in comparison to other applicable price rules.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "rule_type",
    "type": "[RuleTypeDTO](RuleTypeDTO.mdx)",
    "description": "The associated rule type.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": [
      {
        "name": "default_priority",
        "type": "`number`",
        "description": "The priority of the rule type. This is useful when calculating the price of a price set, and multiple rules satisfy the provided context. The higher the value, the higher the priority of the rule type.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "id",
        "type": "`string`",
        "description": "The ID of the rule type.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "name",
        "type": "`string`",
        "description": "The display name of the rule type.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "rule_attribute",
        "type": "`string`",
        "description": "The unique name used to later identify the rule\\_attribute. For example, it can be used in the `context` parameter of the `calculatePrices` method to specify a rule for calculating the price.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "rule_type_id",
    "type": "`string`",
    "description": "The ID of the associated rule type.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "value",
    "type": "`string`",
    "description": "The value of the price rule.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} />
