PriceSpecification
The PriceSpecification entity is the HiiRetail representation of a currency-specific value related to a Product. It might be a Purchase PriceSpecification in which it states what the Product is purchased for from a Supplier. It might be a Sales PriceSpecification that indicates what the Product is sold for in a sales process.
A product MUST have a PriceSpecification. There must always be a Default PriceSpecification on a Product to make sure any downstream usage always has a valid Gross Profit calculation available. Usually a Default PriceSpecification is not enough, and a minimum of one Sales PriceSpecification must exist too.
type PriceSpecification {
entityMetadata: EntityMetadataV1 @deprecated
status: PriceStatus!
itemId: String
priceType: PriceTypeV1! @deprecated
type: PriceType!
value: Float!
minPrice: Float
maxPrice: Float
taxRuleId: String @deprecated
taxableGroupId: String
validFrom: DateTime!
validTo: DateTime
currencyId: String
promotionId: String
discountIds: [String]
isMandatory: Boolean
isCurrent: Boolean
excludingTax: Boolean
additionalProperties: [AdditionalProperty]
globalUniqueId: String
id: String
correlationId: String
tenantId: String
name: String
description: String
businessUnitId: String @deprecated
businessUnitIds: [String]
businessUnitGroupId: String
version: Int!
revision: Long!
created: DateTime!
createdBy: String
modified: DateTime!
modifiedBy: String
}
Fields
PriceSpecification.entityMetadata
● EntityMetadataV1
deprecated object
EntityMetadata will be removed on 01 Jan 2023. Use the entity metadata properties on the entity level instead.
PriceSpecification.status
● PriceStatus!
non-null enum
The price specification status.
PriceSpecification.itemId
● String
scalar
The reference ID to an Item to which this price belongs.
PriceSpecification.priceType
● PriceTypeV1!
deprecated non-null enum
PriceType will be removed on 01 Jan 2023. Use Type instead.
PriceSpecification.type
● PriceType!
non-null enum
The price type. There are several other PriceSpecification Types for different purposes. Depending on the PriceType the PriceSpecification can and should be used for different things. A Promotion PriceSpecification should always reference a Promotion and a Member PriceSpecification has no meaning unless some relation to a member exists.
PriceSpecification.value
● Float!
non-null scalar
The floating point price including taxes.
PriceSpecification.minPrice
● Float
scalar
The lowest price if the price is a range.
PriceSpecification.maxPrice
● Float
scalar
The highest price if the price is a range.
PriceSpecification.taxRuleId
● String
deprecated scalar
TaxRuleId will be removed on 01 Sep 2026. Use TaxableGroupId instead.
The tax rule Id used for this price specification.
PriceSpecification.taxableGroupId
● String
scalar
The ID of the taxable group used for this price specification. A taxable group is the logical name for the tax, independent of the tax rate assigned. The tax rate for a single taxable group can differ depending on region.
PriceSpecification.validFrom
● DateTime!
non-null scalar
The time and date the price is valid from.
PriceSpecification.validTo
● DateTime
scalar
Optional time and date for when the price ends. If null the price will be valid forever until replaced.
PriceSpecification.currencyId
● String
scalar
Currency this price is specified in.
PriceSpecification.promotionId
● String
scalar
If the price is a promotion price this will hold the promotion Id.
PriceSpecification.discountIds
● [String]
list scalar
A list of discounts that should be applied to the price to get the net price.
PriceSpecification.isMandatory
● Boolean
scalar
The flag makes the price inheritance work from top down instead of bottom up. Meaning that a price marked as mandatory will override prices on lower business unit groups and business unit specific prices. This includes prices marked as mandatory on lower levels.
PriceSpecification.isCurrent
● Boolean
scalar
The flag indicating if the price is the current one.
PriceSpecification.excludingTax
● Boolean
scalar
Determines if the Price Specification should treat the Value as excluding VAT/Taxes. Default is false. Or in other words, the price is defined as including VAT and/or Taxes. If set to true the Value would be considered without VAT/Taxes, and this will have an impact on how the Price is visualized and used in different systems.
PriceSpecification.additionalProperties
● [AdditionalProperty]
list object
List of customer specific values on the entity level.
PriceSpecification.globalUniqueId
● String
scalar
Internal unique ID for CRUD operations and relations. A typical example is: TenantId_itemId_BusinessUnitGroupId
PriceSpecification.id
● String
scalar
Id for the entity. Either external or internal
PriceSpecification.correlationId
● String
scalar
ID for tracing an entity and/or a group of sub entities through the application. Might be external, and if missing from the producer of data the API will add an ID. Must be used in all logging and tracing.
PriceSpecification.tenantId
● String
scalar
To support multi tenancy we need to be able to identify the customer that owns this information.
PriceSpecification.name
● String
scalar
The name of the entity. This general property can replace the previous ArticleName, StoreName, CampaignName, etc.
PriceSpecification.description
● String
scalar
The description of the entity.
PriceSpecification.businessUnitId
● String
deprecated scalar
BusinessUnitId is obsolete. Use BusinessUnitIds property instead.
Used to assign the entity to tenant's specific business unit.
PriceSpecification.businessUnitIds
● [String]
list scalar
The business units associated with the entity.
PriceSpecification.businessUnitGroupId
● String
scalar
Used to assign the entity to a specific level in a business unit group hierarchy specific to the tenant.
PriceSpecification.version
● Int!
non-null scalar
Version of the entity. Must be updated when there is a change to the entity. An ever increasing Integer.
Use revision instead of version if you need a more precise versioning mechanism.
PriceSpecification.revision
● Long!
non-null scalar
Contains evergrowing number used to validate the version of an entity.
PriceSpecification.created
● DateTime!
non-null scalar
When the object was first created. This timestamp will be set by the input API POST-endpoints before creating the AVRO data for processing.
PriceSpecification.createdBy
● String
scalar
Who created. Will be an ID and must be looked up in the user DB. This ID will be set by the input API POST-endpoints before creating the AVRO data for processing.
PriceSpecification.modified
● DateTime!
non-null scalar
When the object was modified. Will be updated along with the Version property. This timestamp will be set by the input API PUT and PATCH-endpoints before creating the AVRO data for processing.
PriceSpecification.modifiedBy
● String
scalar
Who created or modified the object. Will be an ID and must be looked up in the user DB. This ID will be set by the input API PUT and PATCH-endpoints before creating the AVRO data for processing.
Member Of
Item
object ● ItemWithIdentifiers
object ● PriceSpecificationsConnection
object ● PriceSpecificationsEdge
object