gr:UnitPriceSpecification leaf node


URI

http://purl.org/goodrelations/v1#UnitPriceSpecification

Label

Unit price specification

Description

A unit price specification is a conceptual entity that specifies the price asked for a given gr:Offering by the respective gr:Business Entity. An offering may be linked to multiple unit price specifications that specify alternative prices for non-overlapping sets of conditions (e.g. quantities or sales regions) or with differing validity periods.

A unit price specification is characterized by (1) the lower and upper limits and the unit of measurement of the eligible quantity, (2) by a monetary amount per unit of the product or service, and (3) whether this prices includes local sales taxes, namely VAT.

Example: The price, including VAT, for 1 kg of a given material is 5 Euros per kg for 0 - 5 kg and 4 Euros for quantities above 5 kg.

The eligible quantity interval for a given price is specified using the object property gr:hasEligibleQuantity, which points to an instance of gr:QuantitativeValue. The currency is specified using the gr:hasCurrency property, which points to an ISO 4217 currency code. The unit of measurement for the eligible quantity is specified using the gr:hasUnitOfMeasurement datatype property, which points to an UN/CEFACT Common Code (3 characters).

In most cases, the appropriate unit of measurement is the UN/CEFACT Common Code "C62" for "Unit or piece", since a gr:Offering is defined by the quantity and unit of measurement of all items included (e.g. "1 kg of bananas plus a 2 kg of apples"). As long at the offering consists of only one item, it is also possible to use an unit of measurement of choice for specifying the price per unit. For bundles, however, only "C62" for "Unit or piece" is a valid unit of measurement.

You can assume that the price is given per unit or piece if there is no gr:hasUnitOfMeasurement property attached to the price.

Whether VAT and sales taxes are included in this price is specified using the property gr:valueAddedTaxIncluded (xsd:boolean).

The price per unit of measurement is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded datatype property.

The property priceType can be used to indicate that the price is a retail price recommendation only (i.e. a list price).

If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds.

Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.

Note 1: Due to the complexity of pricing scenarios in various industries, it may be necessary to create extensions of this fundamental model of price specifications. Such can be done easily by importing and refining the GoodRelations ontology.

Note 2: For Google, attaching a gr:validThrough statement to a gr:UnitPriceSpecification is mandatory.

Superclasses (1)

Usage

Instances of gr:UnitPriceSpecification can have the following properties:

PROPERTYTYPEDESCRIPTIONRANGE
From class gr:UnitPriceSpecification
gr:billingIncrement owl:DatatypeProperty This property specifies the minimal quantity and rounding increment that will be the basis for the billing. The unit of measurement is specified by the UN/CEFACT code attached to the gr:UnitPriceSpecification via the gr:hasUnitOfMeasurement property. Examples: - The price for gasoline is 4 USD per gallon at the pump, but you will be charged in units of 0.1 gallons. - The price for legal consulting is 100 USD per hour, but you will be charged in units of 15 minutes. This property makes sense only for instances of gr:Offering that include not more than one type of good or service. xsd:float
gr:isListPrice owl:DatatypeProperty This boolean attribute indicates whether a gr:UnitPriceSpecification is a list price (usually a vendor recommendation) or not. "true" indicates it is a list price, "false" indicates it is not. DEPRECATED. Use the gr:priceType property instead. xsd:boolean
gr:priceType owl:DatatypeProperty This attribute can be used to distinguish multiple different price specifications for the same gr:Offering. It supersedes the former gr:isListPrice property. The following values are recommended: The absence of this property marks the actual sales price. SRP: "suggested retail price" - applicable for all sorts of a non-binding retail price recommendations, e.g. such published by the manufacturer or the distributor. This value replaces the former gr:isListPrice property. INVOICE: The invoice price, mostly used in the car industry - this is the price a dealer pays to the manufacturer, excluding rebates and charges. xsd:string
From class gr:PriceSpecification
gr:hasCurrency owl:DatatypeProperty The currency for all prices in the gr:PriceSpecification given using the ISO 4217 standard (3 characters). xsd:string
gr:hasCurrencyValue owl:DatatypeProperty This property specifies the amount of money for a price per unit, shipping charges, or payment charges. The currency and other relevant details are attached to the respective gr:PriceSpecification etc. For a gr:UnitPriceSpecification, this is the price for one unit or bundle (as specified in the unit of measurement of the unit price specification) of the respective gr:ProductOrService. For a gr:DeliveryChargeSpecification or a gr:PaymentChargeSpecification, it is the price per delivery or payment. GoodRelations also supports giving price information as intervals only. If this is needed, use gr:hasMaxCurrencyValue for the upper bound and gr:hasMinCurrencyValue for the lower bound. Using gr:hasCurrencyValue sets the upper and lower bounds to the same given value, i.e., x gr:hasCurrencyValue y implies x gr:hasMinCurrencyValue y, x gr:hasMaxCurrencyValue y. xsd:float
gr:hasMaxCurrencyValue owl:DatatypeProperty This property specifies the UPPER BOUND of the amount of money for a price RANGE per unit, shipping charges, or payment charges. The currency and other relevant details are attached to the respective gr:PriceSpecification etc. For a gr:UnitPriceSpecification, this is the UPPER BOUND for the price for one unit or bundle (as specified in the unit of measurement of the unit price specification) of the respective gr:ProductOrService. For a gr:DeliveryChargeSpecification or a gr:PaymentChargeSpecification, it is the UPPER BOUND of the price per delivery or payment. Using gr:hasCurrencyValue sets the upper and lower bounds to the same given value, i.e., x gr:hasCurrencyValue y implies x gr:hasMinCurrencyValue y, x gr:hasMaxCurrencyValue y. xsd:float
gr:hasMinCurrencyValue owl:DatatypeProperty This property specifies the LOWER BOUND of the amount of money for a price RANGE per unit, shipping charges, or payment charges. The currency and other relevant details are attached to the respective gr:PriceSpecification etc. For a gr:UnitPriceSpecification, this is the LOWER BOUND for the price for one unit or bundle (as specified in the unit of measurement of the unit price specification) of the respective gr:ProductOrService. For a gr:DeliveryChargeSpecification or a gr:PaymentChargeSpecification, it is the LOWER BOUND of the price per delivery or payment. Using gr:hasCurrencyValue sets the upper and lower bounds to the same given value, i.e., x gr:hasCurrencyValue y implies x gr:hasMinCurrencyValue y, x gr:hasMaxCurrencyValue y. xsd:float
gr:valueAddedTaxIncluded owl:DatatypeProperty This property specifies whether the applicable value-added tax (VAT) is included in the price of the gr:PriceSpecification or not. Note: This is a simple representation which may not properly reflect all details of local taxation. xsd:boolean
From class owl:Thing
dc:contributor owl:AnnotationProperty owl:Thing
dc:creator owl:AnnotationProperty owl:Thing
dc:rights owl:AnnotationProperty owl:Thing
dc:subject owl:AnnotationProperty owl:Thing
dc:title owl:AnnotationProperty owl:Thing
dcterms:license owl:AnnotationProperty owl:Thing
foaf:depiction owl:ObjectProperty owl:Thing
foaf:homepage owl:AnnotationProperty owl:Thing
gr:displayPosition owl:AnnotationProperty The position at which the option or element should be listed in a menu or user dialog, lower numbers come first. The main usage of this property are the days of the week (gr:DayOfWeek), but it is also possible to apply it e.g. to product features or any other conceptual element. Note: Rely on this property only for data originating from a single RDF graph; otherwise, unpredictable results are possible. owl:Thing
gr:relatedWebService owl:AnnotationProperty The URI of a SOAP or REST Web Service from which additional information about the gr:BusinessEntity, gr:Offering, gr:PriceSpecification, or gr:ProductOrService, or any other element, can be obtained. The recommended range is xsd:anyURI i.e., the URI of a SOAP or REST Web Service. In principle, any existing or upcoming vocabulary for Web Services can be used in combination with GoodRelations, because the association between (a) the service description and (b) the GoodRelations description can be found via the Web Service URI value used with this gr:relatedWebService property. owl:Thing
http://schema.org/description owl:DatatypeProperty owl:Thing
http://schema.org/image owl:ObjectProperty owl:Thing
http://schema.org/manufacturer owl:ObjectProperty owl:Thing
http://schema.org/name owl:DatatypeProperty owl:Thing
http://schema.org/productID owl:DatatypeProperty owl:Thing
owl:deprecated owl:AnnotationProperty owl:Thing

Implementation

@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

gr:UnitPriceSpecification a owl:Class ;
    rdfs:label "Unit price specification"@en ;
    rdfs:comment """A unit price specification is a conceptual entity that specifies the price asked for a given gr:Offering by the respective gr:Business Entity. An offering may be linked to multiple unit price specifications that specify alternative prices for non-overlapping sets of conditions (e.g. quantities or sales regions) or with differing validity periods. 

A unit price specification is characterized by (1) the lower and upper limits and the unit of measurement of the eligible quantity, (2) by a monetary amount per unit of the product or service, and (3)  whether this prices includes local sales taxes, namely VAT.
	
Example: The price, including VAT, for 1 kg of a given material is 5 Euros per kg for 0 - 5 kg and 4 Euros for quantities above 5 kg.

The eligible quantity interval for a given price is specified using the object property gr:hasEligibleQuantity, which points to an instance of gr:QuantitativeValue. The currency is specified using the gr:hasCurrency property, which points to an ISO 4217 currency code. The unit of measurement for the eligible quantity is specified using the gr:hasUnitOfMeasurement datatype property, which points to an UN/CEFACT Common Code (3 characters).
	
In most cases, the appropriate unit of measurement is the UN/CEFACT Common Code "C62" for "Unit or piece", since a gr:Offering is defined by the quantity and unit of measurement of all items included (e.g. "1 kg of bananas plus a 2 kg of apples"). As long at the offering consists of only one item, it is also possible to use an unit of measurement of choice for specifying the price per unit. For bundles, however, only  "C62" for "Unit or piece" is a valid unit of measurement.

You can assume that the price is given per unit or piece if there is no gr:hasUnitOfMeasurement property attached to the price.
	
Whether VAT and sales taxes are included in this price is specified using the property gr:valueAddedTaxIncluded (xsd:boolean).
	
The price per unit of measurement is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded datatype property.

The property priceType can be used to indicate that the price is a retail price recommendation only (i.e. a list price). 

If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds.

Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.

Note 1: Due to the complexity of pricing scenarios in various industries, it may be necessary to create extensions of this fundamental model of price specifications. Such can be done easily by importing and refining the GoodRelations ontology.

Note 2: For Google, attaching a gr:validThrough statement to a gr:UnitPriceSpecification is mandatory. 
"""@en ;
    rdfs:isDefinedBy <http://purl.org/goodrelations/v1> ;
    rdfs:subClassOf gr:PriceSpecification ;
    owl:disjointWith gr:DeliveryChargeSpecification,
        gr:PaymentChargeSpecification .