SEO.JSONLD.EnergyConsumptionDetails (SEO v0.3.0-rc.0)

View Source

EnergyConsumptionDetails represents information related to the energy efficiency of a product that consumes energy. The information that can be provided is based on international regulations such as for example EU directive 2017/1369 for energy labeling and the Energy labeling rule under the Energy Policy and Conservation Act (EPCA) in the US.

Helper for building a Schema.org EnergyConsumptionDetails JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "EnergyConsumptionDetails", 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 EnergyConsumptionDetails JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:energy_efficiency_scale_max) =>
      :eu_energy_efficiency_category_a
      | :eu_energy_efficiency_category_a1_plus
      | :eu_energy_efficiency_category_a2_plus
      | :eu_energy_efficiency_category_a3_plus
      | :eu_energy_efficiency_category_b
      | :eu_energy_efficiency_category_c
      | :eu_energy_efficiency_category_d
      | :eu_energy_efficiency_category_e
      | :eu_energy_efficiency_category_f
      | :eu_energy_efficiency_category_g,
    optional(:energy_efficiency_scale_min) =>
      :eu_energy_efficiency_category_a
      | :eu_energy_efficiency_category_a1_plus
      | :eu_energy_efficiency_category_a2_plus
      | :eu_energy_efficiency_category_a3_plus
      | :eu_energy_efficiency_category_b
      | :eu_energy_efficiency_category_c
      | :eu_energy_efficiency_category_d
      | :eu_energy_efficiency_category_e
      | :eu_energy_efficiency_category_f
      | :eu_energy_efficiency_category_g,
    optional(:has_energy_efficiency_category) =>
      :energy_star_certified
      | :eu_energy_efficiency_category_a
      | :eu_energy_efficiency_category_a1_plus
      | :eu_energy_efficiency_category_a2_plus
      | :eu_energy_efficiency_category_a3_plus
      | :eu_energy_efficiency_category_b
      | :eu_energy_efficiency_category_c
      | :eu_energy_efficiency_category_d
      | :eu_energy_efficiency_category_e
      | :eu_energy_efficiency_category_f
      | :eu_energy_efficiency_category_g,
    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()
  }
  | [
      energy_efficiency_scale_max:
        :eu_energy_efficiency_category_a
        | :eu_energy_efficiency_category_a1_plus
        | :eu_energy_efficiency_category_a2_plus
        | :eu_energy_efficiency_category_a3_plus
        | :eu_energy_efficiency_category_b
        | :eu_energy_efficiency_category_c
        | :eu_energy_efficiency_category_d
        | :eu_energy_efficiency_category_e
        | :eu_energy_efficiency_category_f
        | :eu_energy_efficiency_category_g,
      energy_efficiency_scale_min:
        :eu_energy_efficiency_category_a
        | :eu_energy_efficiency_category_a1_plus
        | :eu_energy_efficiency_category_a2_plus
        | :eu_energy_efficiency_category_a3_plus
        | :eu_energy_efficiency_category_b
        | :eu_energy_efficiency_category_c
        | :eu_energy_efficiency_category_d
        | :eu_energy_efficiency_category_e
        | :eu_energy_efficiency_category_f
        | :eu_energy_efficiency_category_g,
      has_energy_efficiency_category:
        :energy_star_certified
        | :eu_energy_efficiency_category_a
        | :eu_energy_efficiency_category_a1_plus
        | :eu_energy_efficiency_category_a2_plus
        | :eu_energy_efficiency_category_a3_plus
        | :eu_energy_efficiency_category_b
        | :eu_energy_efficiency_category_c
        | :eu_energy_efficiency_category_d
        | :eu_energy_efficiency_category_e
        | :eu_energy_efficiency_category_f
        | :eu_energy_efficiency_category_g,
      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()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "EnergyConsumptionDetails", 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(attrs)

@spec build(attrs()) :: t()

Build a EnergyConsumptionDetails JSON-LD map.

Fields

  • :energy_efficiency_scale_max - Specifies the most energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++. One of: :eu_energy_efficiency_category_a, :eu_energy_efficiency_category_a1_plus, :eu_energy_efficiency_category_a2_plus, :eu_energy_efficiency_category_a3_plus, :eu_energy_efficiency_category_b, :eu_energy_efficiency_category_c, :eu_energy_efficiency_category_d, :eu_energy_efficiency_category_e, :eu_energy_efficiency_category_f, :eu_energy_efficiency_category_g.
  • :energy_efficiency_scale_min - Specifies the least energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++. One of: :eu_energy_efficiency_category_a, :eu_energy_efficiency_category_a1_plus, :eu_energy_efficiency_category_a2_plus, :eu_energy_efficiency_category_a3_plus, :eu_energy_efficiency_category_b, :eu_energy_efficiency_category_c, :eu_energy_efficiency_category_d, :eu_energy_efficiency_category_e, :eu_energy_efficiency_category_f, :eu_energy_efficiency_category_g.
  • :has_energy_efficiency_category - Defines the energy efficiency Category (which could be either a rating out of range of values or a yes/no certification) for a product according to an international energy efficiency standard. One of: :energy_star_certified, :eu_energy_efficiency_category_a, :eu_energy_efficiency_category_a1_plus, :eu_energy_efficiency_category_a2_plus, :eu_energy_efficiency_category_a3_plus, :eu_energy_efficiency_category_b, :eu_energy_efficiency_category_c, :eu_energy_efficiency_category_d, :eu_energy_efficiency_category_e, :eu_energy_efficiency_category_f, :eu_energy_efficiency_category_g.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: