SEO. JSONLD. IndividualProduct
(SEO v0.3.0-rc.0)
View Source
A single, identifiable product instance (e.g. a laptop with a particular serial number).
Helper for building a Schema.org IndividualProduct JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "IndividualProduct", 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 IndividualProduct JSON-LD map.
Types
@type attrs() :: %{ optional(:serial_number) => String.t(), optional(:additional_property) => SEO.JSONLD.PropertyValue.t() | map(), optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(), optional(:asin) => String.t() | URI.t(), optional(:audience) => SEO.JSONLD.Audience.t() | map(), optional(:award) => String.t(), optional(:awards) => String.t(), optional(:brand) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Brand.t(), optional(:category) => String.t() | URI.t() | SEO.JSONLD.Thing.t() | map() | :aerobic_activity | :anaerobic_activity | :balance | :flexibility | :leisure_time_activity | :occupational_activity | :strength_training | SEO.JSONLD.CategoryCode.t(), optional(:color) => String.t(), optional(:color_swatch) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:country_of_assembly) => String.t(), optional(:country_of_last_processing) => String.t(), optional(:country_of_origin) => SEO.JSONLD.Country.t() | map(), optional(:depth) => SEO.JSONLD.QuantitativeValue.t() | map(), optional(:display_location) => SEO.JSONLD.Place.t() | map(), optional(:funding) => SEO.JSONLD.Grant.t() | map(), optional(:gtin) => String.t() | URI.t(), optional(:gtin12) => String.t(), optional(:gtin13) => String.t(), optional(:gtin14) => String.t(), optional(:gtin8) => String.t(), optional(:has_adult_consideration) => :alcohol_consideration | :dangerous_good_consideration | :healthcare_consideration | :narcotic_consideration | :reduced_relevance_for_children_consideration | :sexual_content_consideration | :tobacco_nicotine_consideration | :unclassified_adult_consideration | :violence_consideration | :weapon_consideration, optional(:has_certification) => SEO.JSONLD.Certification.t() | map(), optional(:has_energy_consumption_details) => SEO.JSONLD.EnergyConsumptionDetails.t() | map(), optional(:has_gs1_digital_link) => URI.t() | String.t(), optional(:has_measurement) => SEO.JSONLD.QuantitativeValue.t() | map(), optional(:has_merchant_return_policy) => SEO.JSONLD.MerchantReturnPolicy.t() | map(), optional(:height) => SEO.JSONLD.QuantitativeValue.t() | map(), optional(:in_product_group_with_id) => String.t(), optional(:is_accessory_or_spare_part_for) => SEO.JSONLD.Product.t() | map(), optional(:is_consumable_for) => SEO.JSONLD.Product.t() | map(), optional(:is_family_friendly) => boolean(), optional(:is_related_to) => SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(), optional(:is_similar_to) => SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(), optional(:is_variant_of) => SEO.JSONLD.ProductModel.t() | map() | SEO.JSONLD.ProductGroup.t(), optional(:item_condition) => :damaged_condition | :new_condition | :refurbished_condition | :used_condition, optional(:keywords) => SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), optional(:logo) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:manufacturer) => SEO.JSONLD.Organization.t() | map(), optional(:material) => String.t() | SEO.JSONLD.Product.t() | map() | URI.t(), optional(:mobile_url) => String.t(), optional(:model) => String.t() | SEO.JSONLD.ProductModel.t() | map(), optional(:mpn) => String.t(), optional(:negative_notes) => SEO.JSONLD.ItemList.t() | map() | SEO.JSONLD.ListItem.t() | String.t() | SEO.JSONLD.WebContent.t(), optional(:nsn) => String.t(), optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), optional(:pattern) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:positive_notes) => SEO.JSONLD.WebContent.t() | map() | SEO.JSONLD.ItemList.t() | SEO.JSONLD.ListItem.t() | String.t(), optional(:product_id) => String.t(), optional(:production_date) => Date.t() | String.t(), optional(:purchase_date) => Date.t() | String.t(), optional(:release_date) => Date.t() | String.t(), optional(:review) => SEO.JSONLD.Review.t() | map(), optional(:reviews) => SEO.JSONLD.Review.t() | map(), optional(:size) => SEO.JSONLD.DefinedTerm.t() | map() | SEO.JSONLD.QuantitativeValue.t() | String.t(), optional(:sku) => String.t(), optional(:slogan) => String.t(), optional(:weight) => SEO.JSONLD.QuantitativeValue.t() | map(), optional(:width) => SEO.JSONLD.QuantitativeValue.t() | map(), 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() } | [ serial_number: String.t(), additional_property: SEO.JSONLD.PropertyValue.t() | map(), aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(), asin: String.t() | URI.t(), audience: SEO.JSONLD.Audience.t() | map(), award: String.t(), awards: String.t(), brand: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Brand.t(), category: String.t() | URI.t() | SEO.JSONLD.Thing.t() | map() | :aerobic_activity | :anaerobic_activity | :balance | :flexibility | :leisure_time_activity | :occupational_activity | :strength_training | SEO.JSONLD.CategoryCode.t(), color: String.t(), color_swatch: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), country_of_assembly: String.t(), country_of_last_processing: String.t(), country_of_origin: SEO.JSONLD.Country.t() | map(), depth: SEO.JSONLD.QuantitativeValue.t() | map(), display_location: SEO.JSONLD.Place.t() | map(), funding: SEO.JSONLD.Grant.t() | map(), gtin: String.t() | URI.t(), gtin12: String.t(), gtin13: String.t(), gtin14: String.t(), gtin8: String.t(), has_adult_consideration: :alcohol_consideration | :dangerous_good_consideration | :healthcare_consideration | :narcotic_consideration | :reduced_relevance_for_children_consideration | :sexual_content_consideration | :tobacco_nicotine_consideration | :unclassified_adult_consideration | :violence_consideration | :weapon_consideration, has_certification: SEO.JSONLD.Certification.t() | map(), has_energy_consumption_details: SEO.JSONLD.EnergyConsumptionDetails.t() | map(), has_gs1_digital_link: URI.t() | String.t(), has_measurement: SEO.JSONLD.QuantitativeValue.t() | map(), has_merchant_return_policy: SEO.JSONLD.MerchantReturnPolicy.t() | map(), height: SEO.JSONLD.QuantitativeValue.t() | map(), in_product_group_with_id: String.t(), is_accessory_or_spare_part_for: SEO.JSONLD.Product.t() | map(), is_consumable_for: SEO.JSONLD.Product.t() | map(), is_family_friendly: boolean(), is_related_to: SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(), is_similar_to: SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(), is_variant_of: SEO.JSONLD.ProductModel.t() | map() | SEO.JSONLD.ProductGroup.t(), item_condition: :damaged_condition | :new_condition | :refurbished_condition | :used_condition, keywords: SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), logo: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), manufacturer: SEO.JSONLD.Organization.t() | map(), material: String.t() | SEO.JSONLD.Product.t() | map() | URI.t(), mobile_url: String.t(), model: String.t() | SEO.JSONLD.ProductModel.t() | map(), mpn: String.t(), negative_notes: SEO.JSONLD.ItemList.t() | map() | SEO.JSONLD.ListItem.t() | String.t() | SEO.JSONLD.WebContent.t(), nsn: String.t(), offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), pattern: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), positive_notes: SEO.JSONLD.WebContent.t() | map() | SEO.JSONLD.ItemList.t() | SEO.JSONLD.ListItem.t() | String.t(), product_id: String.t(), production_date: Date.t() | String.t(), purchase_date: Date.t() | String.t(), release_date: Date.t() | String.t(), review: SEO.JSONLD.Review.t() | map(), reviews: SEO.JSONLD.Review.t() | map(), size: SEO.JSONLD.DefinedTerm.t() | map() | SEO.JSONLD.QuantitativeValue.t() | String.t(), sku: String.t(), slogan: String.t(), weight: SEO.JSONLD.QuantitativeValue.t() | map(), width: SEO.JSONLD.QuantitativeValue.t() | map(), 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 "IndividualProduct", 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 IndividualProduct JSON-LD map.
Fields
:serial_number- The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer.
Inherited properties
Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: