The CustomerDiscounter holds the main logic for calculating customer-specific discounts. However, you probably do not want to instantiate one of these directly. Instead, use your instantiated Discountler to generate a CustomerDiscounter instance specific to the customer in question.

Hierarchy

  • CustomerDiscounter

Constructors

Properties

analyticsProperties: Readonly<Properties>
config: {
    discountGroups: CustomerDiscountGroup[];
}

Type declaration

customerProperties: Readonly<Properties>
discountGroupIds: number[]
discounts: Readonly<Discount>[]
equivalentCustomerTags: string[]
hasActiveSale: boolean
itemProperties: Readonly<Properties>
largestDiscountPercentage: number
largestSaleDiscountPercentage: number
orderProperties: Readonly<Properties>
orderTags: string[]
saleDiscounts: Readonly<Discount>[]

Accessors

  • get cacheKey(): string
  • Returns string

Methods

  • Parameters

    • __namedParameters: {
          tags?: string[];
      } = {}
      • Optional tags?: string[]

    Returns undefined | Readonly<Discount>

  • Parameters

    • product: {
          tags?: string[];
      } = {}
      • Optional tags?: string[]

    Returns ItemDiscountProperties

  • Deprecated

    For backwards compatibility

    Parameters

    • Optional product: {
          tags?: string[];
      }
      • Optional tags?: string[]

    Returns number

  • Deprecated

    For backwards compatibility

    Parameters

    • Optional product: {
          tags?: string[];
      }
      • Optional tags?: string[]

    Returns boolean

Generated using TypeDoc