---
displayed_sidebar: servicesSidebar
---
import ParameterTypes from "@site/src/components/ParameterTypes"
# IPriceSelectionStrategy
## Methods
#### calculateVariantPrice
`**calculateVariantPrice**(data, context): Promise<Map<string, [PriceSelectionResult](../types/PriceSelectionResult.mdx)>>`
Calculate the original and discount price for a given variant in a set of
circumstances described in the context.
##### Parameters
##### Returns
Promise<Map<string, [PriceSelectionResult](../types/PriceSelectionResult.mdx)>>
___
#### onVariantsPricesUpdate
`**onVariantsPricesUpdate**(variantIds): Promise<void>`
Notify price selection strategy that variants prices have been updated.
##### Parameters
##### Returns
Promise<void>
___
#### withTransaction
`**withTransaction**(transactionManager?): [IPriceSelectionStrategy](IPriceSelectionStrategy.mdx)`
##### Parameters
##### Returns
[IPriceSelectionStrategy](IPriceSelectionStrategy.mdx)