{
	"id": "PriceSpecification.json",
	"title": "Price Specification",
	"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.",
	"media": {"type": "application/json;profile=http://schema.org/PriceSpecification"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}, {"$ref": "StructuredValue.json"}],
	"type": "object",
	"properties": {
		"eligibleQuantity": {"$ref": "QuantitativeValue.json#/definitions/possibleRef"},
		"eligibleTransactionVolume": {"$ref": "PriceSpecification.json#/definitions/possibleRef"},
		"maxPrice": {"$ref": "#/definitions/maxPrice"},
		"minPrice": {"$ref": "#/definitions/minPrice"},
		"price": {"$ref": "#/definitions/price"},
		"priceCurrency": {"$ref": "#/definitions/priceCurrency"},
		"validFrom": {"$ref": "#/definitions/validFrom"},
		"validThrough": {"$ref": "#/definitions/validThrough"},
		"valueAddedTaxIncluded": {"$ref": "#/definitions/valueAddedTaxIncluded"}
	},
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"possibleRef": {
			"oneOf": [
				{"$ref": "#"},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"possibleRefArray": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/possibleRef"}
				},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"maxPrice": {
			"title": "Max Price",
			"description": "The highest price if the price is a range.",
			"type": "number"
		},
		"minPrice": {
			"title": "Min Price",
			"description": "The lowest price if the price is a range.",
			"type": "number"
		},
		"price": {
			"title": "Price",
			"description": "The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\n\nUsage guidelines:\n\n\nUse the priceCurrency property (with standard formats: ISO 4217 currency format e.g. \"USD\"; Ticker symbol for cryptocurrencies e.g. \"BTC\"; well known names for Local Exchange Tradings Systems (LETS) and other currency types e.g. \"Ithaca HOUR\") instead of including ambiguous symbols such as '$' in the value.\nUse '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\nNote that both RDFa and Microdata syntax allow the use of a \"content=\" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\nUse values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.",
			"anyOf": [{"type": "string"}, {"type": "number"}]
		},
		"priceCurrency": {
			"title": "Price Currency",
			"description": "The currency of the price, or a price component when attached to PriceSpecification and its subtypes.\n\nUse standard formats: ISO 4217 currency format e.g. \"USD\"; Ticker symbol for cryptocurrencies e.g. \"BTC\"; well known names for Local Exchange Tradings Systems (LETS) and other currency types e.g. \"Ithaca HOUR\".",
			"type": "string"
		},
		"validFrom": {
			"title": "Valid From",
			"description": "The date when the item becomes valid.",
			"anyOf": [
				{
					"type": "string",
					"format": "date"
				},
				{
					"type": "string",
					"format": "date-time"
				}
			]
		},
		"validThrough": {
			"title": "Valid Through",
			"description": "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.",
			"anyOf": [
				{
					"type": "string",
					"format": "date"
				},
				{
					"type": "string",
					"format": "date-time"
				}
			]
		},
		"valueAddedTaxIncluded": {
			"title": "Value Added Tax Included",
			"description": "Specifies whether the applicable value-added tax (VAT) is included in the price specification or not.",
			"type": "boolean"
		}
	}
}