{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "schema:UnitPriceSpecification", "title": "UnitPriceSpecification", "description": "The price asked for a given offer by the respective organization or person.", "type": "object", "allOf": [ { "description": "A structured value representing a price or price range. Typically, only the subclasses of this type are used for markup. It is recommended to use [[MonetaryAmount]] to describe independent amounts of money such as a salary, credit card limits, etc.", "$ref": "schema:PriceSpecification" } ], "properties": { "billingDuration": { "description": "Specifies for how long this price (or price component) will be billed. Can be used, for example, to model the contractual duration of a subscription or payment plan. Type can be either a Duration or a Number (in which case the unit of measurement, for example month, is specified by the unitCode property).", "oneOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "$comment": "https://schema.org/Duration" }, { "$ref": "schema:QuantitativeValue" } ] }, { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string", "$comment": "https://schema.org/Duration" }, { "$ref": "schema:QuantitativeValue" } ] } } ] }, "billingIncrement": { "description": "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 unitCode property.", "type": "number" }, "billingStart": { "description": "Specifies after how much time this price (or price component) becomes valid and billing starts. Can be used, for example, to model a price increase after the first year of a subscription. The unit of measurement is specified by the unitCode property.", "oneOf": [ { "type": "number" }, { "type": "array", "items": { "type": "number" } } ] }, "priceComponentType": { "description": "Identifies a price component (for example, a line item on an invoice), part of the total price for an offer.", "oneOf": [ { "$ref": "schema:PriceComponentTypeEnumeration" }, { "type": "array", "items": { "$ref": "schema:PriceComponentTypeEnumeration" } } ] }, "priceType": { "description": "Defines the type of a price specified for an offered product, for example a list price, a (temporary) sale price or a manufacturer suggested retail price. If multiple prices are specified for an offer the [[priceType]] property can be used to identify the type of each such specified price. The value of priceType can be specified as a value from enumeration PriceTypeEnumeration or as a free form text string for price types that are not already predefined in PriceTypeEnumeration.", "oneOf": [ { "anyOf": [ { "type": "string" }, { "$ref": "schema:PriceTypeEnumeration" } ] }, { "type": "array", "items": { "anyOf": [ { "type": "string" }, { "$ref": "schema:PriceTypeEnumeration" } ] } } ] }, "referenceQuantity": { "description": "The reference quantity for which a certain price applies, e.g. 1 EUR per 4 kWh of electricity. This property is a replacement for unitOfMeasurement for the advanced cases where the price does not relate to a standard unit.", "$ref": "schema:QuantitativeValue" }, "unitCode": { "description": "The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon.", "anyOf": [{ "type": "string", "format": "uri" }, { "type": "string" }] }, "unitText": { "description": "A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for\nunitCode.", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] } } }