SEO. JSONLD. FinancialIncentive
(SEO v0.3.0-rc.0)
View Source
Represents financial incentives for goods/services offered by an organization (or individual).
Typically contains the name of the incentive, the incentivizedItem, the incentiveAmount, the incentiveStatus, incentiveType, the provider of the incentive, and eligibleWithSupplier.
Optionally contains criteria on whether the incentive is limited based on purchaseType, purchasePriceLimit, incomeLimit, and the qualifiedExpense.
Helper for building a Schema.org FinancialIncentive JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "FinancialIncentive", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a FinancialIncentive JSON-LD map.
Types
@type attrs() :: %{ optional(:area_served) => SEO.JSONLD.GeoShape.t() | map() | SEO.JSONLD.AdministrativeArea.t() | SEO.JSONLD.Place.t() | String.t(), optional(:eligible_with_supplier) => SEO.JSONLD.Organization.t() | map(), optional(:incentive_amount) => SEO.JSONLD.UnitPriceSpecification.t() | map() | SEO.JSONLD.QuantitativeValue.t() | SEO.JSONLD.LoanOrCredit.t(), optional(:incentive_status) => :incentive_status_active | :incentive_status_in_development | :incentive_status_on_hold | :incentive_status_retired, optional(:incentive_type) => :incentive_type_loan | :incentive_type_rebate_or_subsidy | :incentive_type_tax_credit | :incentive_type_tax_deduction | :incentive_type_tax_waiver, optional(:incentivized_item) => SEO.JSONLD.Product.t() | map() | SEO.JSONLD.DefinedTerm.t(), optional(:income_limit) => SEO.JSONLD.MonetaryAmount.t() | map() | String.t(), optional(:provider) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:publisher) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:purchase_price_limit) => SEO.JSONLD.MonetaryAmount.t() | map(), optional(:purchase_type) => :purchase_type_lease | :purchase_type_new_purchase | :purchase_type_trade_in | :purchase_type_used_purchase, optional(:qualified_expense) => :incentive_qualified_expense_type_goods_only | :incentive_qualified_expense_type_goods_or_services | :incentive_qualified_expense_type_services_only | :incentive_qualified_expense_type_utility_bill, optional(:valid_from) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:valid_through) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:additional_type) => String.t() | URI.t(), optional(:alternate_name) => String.t(), optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(), optional(:disambiguating_description) => String.t(), optional(:identifier) => String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), optional(:image) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:main_entity_of_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:name) => String.t(), optional(:owner) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:potential_action) => SEO.JSONLD.Action.t() | map(), optional(:same_as) => URI.t() | String.t(), optional(:subject_of) => SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), optional(:url) => URI.t() | String.t() } | [ area_served: SEO.JSONLD.GeoShape.t() | map() | SEO.JSONLD.AdministrativeArea.t() | SEO.JSONLD.Place.t() | String.t(), eligible_with_supplier: SEO.JSONLD.Organization.t() | map(), incentive_amount: SEO.JSONLD.UnitPriceSpecification.t() | map() | SEO.JSONLD.QuantitativeValue.t() | SEO.JSONLD.LoanOrCredit.t(), incentive_status: :incentive_status_active | :incentive_status_in_development | :incentive_status_on_hold | :incentive_status_retired, incentive_type: :incentive_type_loan | :incentive_type_rebate_or_subsidy | :incentive_type_tax_credit | :incentive_type_tax_deduction | :incentive_type_tax_waiver, incentivized_item: SEO.JSONLD.Product.t() | map() | SEO.JSONLD.DefinedTerm.t(), income_limit: SEO.JSONLD.MonetaryAmount.t() | map() | String.t(), provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), purchase_price_limit: SEO.JSONLD.MonetaryAmount.t() | map(), purchase_type: :purchase_type_lease | :purchase_type_new_purchase | :purchase_type_trade_in | :purchase_type_used_purchase, qualified_expense: :incentive_qualified_expense_type_goods_only | :incentive_qualified_expense_type_goods_or_services | :incentive_qualified_expense_type_services_only | :incentive_qualified_expense_type_utility_bill, valid_from: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), valid_through: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), additional_type: String.t() | URI.t(), alternate_name: String.t(), description: SEO.JSONLD.TextObject.t() | map() | String.t(), disambiguating_description: String.t(), identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), main_entity_of_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), name: String.t(), owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), potential_action: SEO.JSONLD.Action.t() | map(), same_as: URI.t() | String.t(), subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), url: URI.t() | String.t() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "FinancialIncentive", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a FinancialIncentive JSON-LD map.
Fields
:area_served- The geographic area where a service or offered item is provided.:eligible_with_supplier- The supplier of the incentivized item/service for which the incentive is valid for such as a utility company, merchant, or contractor.:incentive_amount- Describes the amount that can be redeemed from this incentive.
SEO.JSONLD.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:
{
"@type": "QuantitativeValue",
“minValue”: 2500,
“maxValue”: 7500,
"unitCode": "USD"
}
`SEO.JSONLD.QuantitativeValue` 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:
{
"@type": "QuantitativeValue",
"value": 30,
"unitCode": "P1",
"unitText": "%",
“maxValue”: 7500,
“valueReference”: “USD”
}
`SEO.JSONLD.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:
{
"@type": "UnitPriceSpecification",
"price": 10,
"priceCurrency": "USD",
"referenceQuantity": 1,
"unitCode": "DO3",
"unitText": "kw/h",
"maxPrice": 1000,
"description": "$10 / kwh up to $1000"
}
SEO.JSONLD.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:
{
"@type": "LoanOrCredit",
"loanTerm": {
"@type":"QuantitativeValue",
"value":"10",
"unitCode": "ANN"
},
"amount":[
{
"@type": "QuantitativeValue",
"Name":"fixed interest rate",
"value":"0",
},
],
"amount":[
{
"@type": "MonetaryAmount",
"Name":"min loan amount",
"value":"4000",
"currency":"CAD"
},
{
"@type": "MonetaryAmount",
"Name":"max loan amount",
"value":"50000",
"currency":"CAD"
}
],
}
In summary: Use SEO.JSONLD.QuantitativeValue for absolute/percentage-based incentives applied on the price of a good/service.
Use SEO.JSONLD.UnitPriceSpecification for incentives based on a per-unit basis (e.g. net metering).
Use SEO.JSONLD.LoanOrCredit for loans/credits.
.
:incentive_status- The status of the incentive (active, on hold, retired, etc.). One of::incentive_status_active,:incentive_status_in_development,:incentive_status_on_hold,:incentive_status_retired.:incentive_type- The type of incentive offered (tax credit/rebate, tax deduction, tax waiver, subsidies, etc.). One of::incentive_type_loan,:incentive_type_rebate_or_subsidy,:incentive_type_tax_credit,:incentive_type_tax_deduction,:incentive_type_tax_waiver.:incentivized_item- The type or specific product(s) and/or service(s) being incentivized. DefinedTermSets are used for product and service categories such as the United Nations Standard Products and Services Code: { "@type": "DefinedTerm", "inDefinedTermSet": "https://www.unspsc.org/", "termCode": "261315XX", "name": "Photovoltaic module" }
For a specific product or service, use the Product type:
{
"@type": "Product",
"name": "Kenmore White 17" Microwave",
}
For multiple different incentivized items, use multiple SEO.JSONLD.DefinedTerm or SEO.JSONLD.Product.
:income_limit- Optional. Income limit for which the incentive is applicable for.
If MonetaryAmount is specified, this should be based on annualized income (e.g. if an incentive is limited to those making { "@type": "MonetaryAmount", "maxValue": 114000, "currency": "USD", }
Use 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.
:provider- 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.:publisher- The publisher of the article in question.:purchase_price_limit- Optional. The maximum price the item can have and still qualify for this offer.:purchase_type- Optional. The type of purchase the consumer must make in order to qualify for this incentive. One of::purchase_type_lease,:purchase_type_new_purchase,:purchase_type_trade_in,:purchase_type_used_purchase.:qualified_expense- 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. One of::incentive_qualified_expense_type_goods_only,:incentive_qualified_expense_type_goods_or_services,:incentive_qualified_expense_type_services_only,:incentive_qualified_expense_type_utility_bill.:valid_from- The date when the item becomes valid.:valid_through- The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.
Inherited properties
Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: