123 lines
8.6 KiB
JSON
123 lines
8.6 KiB
JSON
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"$id": "schema:FinancialIncentive",
|
||
"title": "FinancialIncentive",
|
||
"description": "Represents financial incentives for goods/services offered by an organization (or individual).\n\nTypically contains the [[name]] of the incentive, the [[incentivizedItem]], the [[incentiveAmount]], the [[incentiveStatus]], [[incentiveType]], the [[provider]] of the incentive, and [[eligibleWithSupplier]].\n\nOptionally contains criteria on whether the incentive is limited based on [[purchaseType]], [[purchasePriceLimit]], [[incomeLimit]], and the [[qualifiedExpense]].\n ",
|
||
"type": "object",
|
||
"allOf": [
|
||
{
|
||
"description": "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.",
|
||
"$ref": "schema:Intangible"
|
||
}
|
||
],
|
||
"properties": {
|
||
"areaServed": {
|
||
"description": "The geographic area where a service or offered item is provided.",
|
||
"anyOf": [
|
||
{ "type": "string" },
|
||
{ "$ref": "schema:AdministrativeArea" },
|
||
{ "$ref": "schema:GeoShape" },
|
||
{ "$ref": "schema:Place" }
|
||
]
|
||
},
|
||
"eligibleWithSupplier": {
|
||
"description": "The supplier of the incentivized item/service for which the incentive is valid for such as a utility company, merchant, or contractor.",
|
||
"$ref": "schema:Organization"
|
||
},
|
||
"incentiveAmount": {
|
||
"description": "Describes the amount that can be redeemed from this incentive.\n \n[[QuantitativeValue]]: Use this for incentives based on price (either raw amount or percentage-based). For a raw amount example, \"You can claim $2,500 - $7,500 from the total cost of installation\" would be represented as the following:\n {\n \"@type\": \"QuantitativeValue\",\n “minValue”: 2500,\n “maxValue”: 7500,\n \"unitCode\": \"USD\"\n }\n[[QuantitivateValue]] can also be used for percentage amounts. In such cases, value is used to represent the incentive’s percentage, while maxValue represents a limit (if one exists) to that incentive. The unitCode should be 'P1' and the unitText should be '%', while valueReference should be used for holding the currency type. For example, \"You can claim up to 30% of the total cost of installation, up to a maximum of $7,500\" would be:\n {\n \"@type\": \"QuantitativeValue\",\n \"value\": 30,\n \"unitCode\": \"P1\",\n \"unitText\": \"%\",\n “maxValue”: 7500,\n “valueReference”: “USD”\n }\n[[UnitPriceSpecification]]: Use this for incentives that are based on amounts rather than price. For example, a net metering rebate that pays $10/kWh, up to $1,000:\n {\n \"@type\": \"UnitPriceSpecification\",\n \"price\": 10,\n \"priceCurrency\": \"USD\",\n \"referenceQuantity\": 1,\n \"unitCode\": \"DO3\",\n \"unitText\": \"kw/h\",\n \"maxPrice\": 1000,\n \"description\": \"$10 / kwh up to $1000\"\n }\n[[LoanOrCredit]]: Use for incentives that are loan based. For example, a loan of $4,000 - $50,000 with a repayment term of 10 years, interest free would look like:\n {\n \"@type\": \"LoanOrCredit\",\n \"loanTerm\": {\n \"@type\":\"QuantitativeValue\",\n \"value\":\"10\",\n \"unitCode\": \"ANN\"\n },\n \"amount\":[\n {\n \"@type\": \"QuantitativeValue\",\n \"Name\":\"fixed interest rate\",\n \"value\":\"0\",\n },\n ],\n \"amount\":[\n {\n \"@type\": \"MonetaryAmount\",\n \"Name\":\"min loan amount\",\n \"value\":\"4000\",\n \"currency\":\"CAD\"\n },\n {\n \"@type\": \"MonetaryAmount\",\n \"Name\":\"max loan amount\",\n \"value\":\"50000\",\n \"currency\":\"CAD\"\n }\n ],\n }\n\nIn summary: Use [[QuantitativeValue]] for absolute/percentage-based incentives applied on the price of a good/service.\nUse [[UnitPriceSpecification]] for incentives based on a per-unit basis (e.g. net metering).\nUse [[LoanOrCredit]] for loans/credits.\n.",
|
||
"oneOf": [
|
||
{
|
||
"anyOf": [
|
||
{ "$ref": "schema:LoanOrCredit" },
|
||
{ "$ref": "schema:QuantitativeValue" },
|
||
{ "$ref": "schema:UnitPriceSpecification" }
|
||
]
|
||
},
|
||
{
|
||
"type": "array",
|
||
"items": {
|
||
"anyOf": [
|
||
{ "$ref": "schema:LoanOrCredit" },
|
||
{ "$ref": "schema:QuantitativeValue" },
|
||
{ "$ref": "schema:UnitPriceSpecification" }
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"incentiveStatus": {
|
||
"description": "The status of the incentive (active, on hold, retired, etc.).",
|
||
"$ref": "schema:IncentiveStatus"
|
||
},
|
||
"incentiveType": {
|
||
"description": "The type of incentive offered (tax credit/rebate, tax deduction, tax waiver, subsidies, etc.).",
|
||
"$ref": "schema:IncentiveType"
|
||
},
|
||
"incentivizedItem": {
|
||
"description": "The type or specific product(s) and/or service(s) being incentivized.\nDefinedTermSets are used for product and service categories such as the United Nations Standard Products and Services Code:\n {\n \"@type\": \"DefinedTerm\",\n \"inDefinedTermSet\": \"https://www.unspsc.org/\",\n \"termCode\": \"261315XX\",\n \"name\": \"Photovoltaic module\"\n }\n\nFor a specific product or service, use the Product type:\n {\n \"@type\": \"Product\",\n \"name\": \"Kenmore White 17\" Microwave\",\n }\nFor multiple different incentivized items, use multiple [[DefinedTerm]] or [[Product]].",
|
||
"anyOf": [{ "$ref": "schema:DefinedTerm" }, { "$ref": "schema:Product" }]
|
||
},
|
||
"incomeLimit": {
|
||
"description": "Optional. Income limit for which the incentive is applicable for.\n \nIf MonetaryAmount is specified, this should be based on annualized income (e.g. if an incentive is limited to those making <$114,000 annually):\n {\n \"@type\": \"MonetaryAmount\",\n \"maxValue\": 114000,\n \"currency\": \"USD\",\n }\n\nUse Text for incentives that are limited based on other criteria, for example if an incentive is only available to recipients making 120% of the median poverty income in their area.",
|
||
"oneOf": [
|
||
{
|
||
"anyOf": [{ "type": "string" }, { "$ref": "schema:MonetaryAmount" }]
|
||
},
|
||
{
|
||
"type": "array",
|
||
"items": {
|
||
"anyOf": [{ "type": "string" }, { "$ref": "schema:MonetaryAmount" }]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"provider": {
|
||
"description": "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller.",
|
||
"anyOf": [{ "$ref": "schema:Organization" }, { "$ref": "schema:Person" }]
|
||
},
|
||
"publisher": {
|
||
"description": "The publisher of the article in question.",
|
||
"anyOf": [{ "$ref": "schema:Organization" }, { "$ref": "schema:Person" }]
|
||
},
|
||
"purchasePriceLimit": {
|
||
"description": "Optional. The maximum price the item can have and still qualify for this offer.",
|
||
"oneOf": [
|
||
{ "$ref": "schema:MonetaryAmount" },
|
||
{ "type": "array", "items": { "$ref": "schema:MonetaryAmount" } }
|
||
]
|
||
},
|
||
"purchaseType": {
|
||
"description": "Optional. The type of purchase the consumer must make in order to qualify for this incentive.",
|
||
"oneOf": [
|
||
{ "$ref": "schema:PurchaseType" },
|
||
{ "type": "array", "items": { "$ref": "schema:PurchaseType" } }
|
||
]
|
||
},
|
||
"qualifiedExpense": {
|
||
"description": "Optional. The types of expenses that are covered by the incentive. For example some incentives are only for the goods (tangible items) but the services (labor) are excluded.",
|
||
"oneOf": [
|
||
{ "$ref": "schema:IncentiveQualifiedExpenseType" },
|
||
{
|
||
"type": "array",
|
||
"items": { "$ref": "schema:IncentiveQualifiedExpenseType" }
|
||
}
|
||
]
|
||
},
|
||
"validFrom": {
|
||
"description": "The date when the item becomes valid.",
|
||
"anyOf": [
|
||
{ "type": "string", "format": "date" },
|
||
{ "type": "string", "format": "date-time" }
|
||
]
|
||
},
|
||
"validThrough": {
|
||
"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" }
|
||
]
|
||
}
|
||
}
|
||
}
|