---
displayed_sidebar: entitiesSidebar
slug: /references/entities/classes/ShippingOptionRequirement
---

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

# ShippingOptionRequirement

A shipping option requirement defines conditions that a Cart must satisfy for the Shipping Option to be available for usage in the Cart.

## Properties

<ParameterTypes parameters={[{"name":"amount","type":"`number`","description":"The amount to compare the Cart subtotal to.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`Date`","description":"The date with timezone at which the resource was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The shipping option requirement's ID","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"shipping_option","type":"[ShippingOption](entities.ShippingOption.mdx)","description":"The details of the shipping option that the requirements belong to.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"admin_only","type":"`boolean`","description":"Flag to indicate if the Shipping Option usage is restricted to admin users.","optional":false,"defaultValue":"false","expandable":false,"children":[]},{"name":"amount","type":"`null` \\| `number`","description":"The amount to charge for shipping when the Shipping Option price type is `flat\\_rate`.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"The date with timezone at which the resource was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"`Record<string, unknown>`","description":"The data needed for the Fulfillment Provider to identify the Shipping Option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"The date with timezone at which the resource was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The shipping option's ID","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"includes_tax","type":"`boolean`","description":"Whether the shipping option price include tax","optional":false,"defaultValue":"false","expandable":false,"featureFlag":"tax_inclusive_pricing","children":[]},{"name":"is_return","type":"`boolean`","description":"Flag to indicate if the Shipping Option can be used for Return shipments.","optional":false,"defaultValue":"false","expandable":false,"children":[]},{"name":"metadata","type":"`Record<string, unknown>`","description":"An optional key-value map with additional details","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"The name given to the Shipping Option - this may be displayed to the Customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_type","type":"[ShippingOptionPriceType](../enums/entities.ShippingOptionPriceType.mdx)","description":"The type of pricing calculation that is used when creatin Shipping Methods from the Shipping Option. Can be `flat\\_rate` for fixed prices or `calculated` if the Fulfillment Provider can provide price calulations.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"profile","type":"[ShippingProfile](entities.ShippingProfile.mdx)","description":"The details of the shipping profile that the shipping option belongs to.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"profile_id","type":"`string`","description":"The ID of the Shipping Profile that the shipping option belongs to.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider","type":"[FulfillmentProvider](entities.FulfillmentProvider.mdx)","description":"The details of the fulfillment provider that will be used to later to process the shipping method created from this shipping option and its fulfillments.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"provider_id","type":"`string`","description":"The ID of the fulfillment provider that will be used to later to process the shipping method created from this shipping option and its fulfillments.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"region","type":"[Region](entities.Region.mdx)","description":"The details of the region this shipping option can be used in.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"region_id","type":"`string`","description":"The ID of the region this shipping option can be used in.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requirements","type":"[ShippingOptionRequirement](entities.ShippingOptionRequirement.mdx)[]","description":"The details of the requirements that must be satisfied for the Shipping Option to be available for usage in a Cart.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"updated_at","type":"`Date`","description":"The date with timezone at which the resource was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"shipping_option_id","type":"`string`","description":"The ID of the shipping option that the requirements belong to.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"[RequirementType](../enums/entities.RequirementType.mdx)","description":"The type of the requirement, this defines how the value will be compared to the Cart's total. `min\\_subtotal` requirements define the minimum subtotal that is needed for the Shipping Option to be available, while the `max\\_subtotal` defines the maximum subtotal that the Cart can have for the Shipping Option to be available.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"MAX_SUBTOTAL","type":"`\"max_subtotal\"`","description":"The shipping option can only be applied if the subtotal is less than the requirement's amont.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"MIN_SUBTOTAL","type":"`\"min_subtotal\"`","description":"The shipping option can only be applied if the subtotal is greater than the requirement's amount.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/development/entities/repositories#retrieving-a-list-of-records"/>
