Home > @vsf-enterprise/commercetools-types > ProductDiscount
# ProductDiscount type
A product price can be discounted in two ways:
* with a relative or an absolute product discount, which will be automatically applied to all prices in a product that match a discount predicate. A relative discount reduces the matching price by a fraction (for example 10 % off). An absolute discount reduces the matching price by a fixed amount (for example 10€ off). If more than one product discount matches a price, the discount sort order determines which one will be applied. * with an external product discount, which can then be used to explicitly set a discounted value on a particular product price.
The discounted price is stored in the discounted field of the Product Price.
Note that when a discount is created, updated or removed it can take up to 15 minutes to update all the prices with the discounts.
The maximum number of ProductDiscounts that can be active at the same time is **200**.
Signature:
export declare type ProductDiscount = Versioned & {
__typename?: 'ProductDiscount';
predicate: Scalars['String'];
validFrom?: Maybe<Scalars['DateTime']>;
validUntil?: Maybe<Scalars['DateTime']>;
isActive: Scalars['Boolean'];
isValid: Scalars['Boolean'];
sortOrder: Scalars['String'];
key?: Maybe<Scalars['String']>;
name?: Maybe<Scalars['String']>;
description?: Maybe<Scalars['String']>;
referenceRefs: Array<Reference>;
nameAllLocales: Array<LocalizedString>;
descriptionAllLocales?: Maybe<Array<LocalizedString>>;
value: ProductDiscountValue;
id: Scalars['String'];
version: Scalars['Long'];
createdAt: Scalars['DateTime'];
lastModifiedAt: Scalars['DateTime'];
createdBy?: Maybe<Initiator>;
lastModifiedBy?: Maybe<Initiator>;
};
References: Versioned, Scalars, Maybe, Reference, LocalizedString, ProductDiscountValue, Initiator