pub struct ElectronicsData {Show 17 fields
pub product_identifier: ProductIdentifier,
pub product_category: DeviceType,
pub energy_efficiency_class: EnergyEfficiencyClass,
pub co2e_per_unit_kg: f64,
pub repairability_score: Option<RepairabilityScore>,
pub repairability_index_inputs: Option<RepairabilityIndexDeclaration>,
pub index_scope_exclusion: Option<IndexScopeExclusion>,
pub spare_parts_available: Option<bool>,
pub repair_manual_url: Option<String>,
pub disassembly_instructions_url: Option<String>,
pub svhc_substances: Option<Vec<SvhcSubstance>>,
pub rohs_compliant: Option<bool>,
pub critical_raw_materials: Option<Vec<CriticalRawMaterial>>,
pub recycled_content_pct: Option<f64>,
pub standby_power_w: Option<f64>,
pub expected_lifetime_years: Option<u32>,
pub firmware_update_until: Option<DateTime<Utc>>,
}Expand description
Electronics product group data.
Scope and applicability dates are held in the product group manifest
(product-groups/electronics.json), not restated here.
Fields§
§product_identifier: ProductIdentifierThe unique product identifier for the product model, in whichever EN 18219 clause 5 scheme issued it — a 14-digit GTIN under scheme 1.
product_category: DeviceTypeDevice type per EU Regulation (EU) 2023/1670 Art. 1(1).
energy_efficiency_class: EnergyEfficiencyClassEU energy label class (A–G) per Energy Labelling Regulation 2017/1369.
co2e_per_unit_kg: f64Whole-lifecycle carbon footprint in kg CO₂e per unit.
repairability_score: Option<RepairabilityScore>Repairability score (non-regulatory heuristic — not EN 45554 / EU 2023/1669).
overall ≥ 6.0 = good; < 4.0 = fails minimum standard.
Not comparable to the enacted index. Where both are present they are
two different numbers on two different scales, and only
repairability_index_inputs feeds the
one Reg. (EU) 2023/1669 defines.
repairability_index_inputs: Option<RepairabilityIndexDeclaration>The Annex IV point 5 parameters an operator declares, from which the enacted repairability index of Reg. (EU) 2023/1669 is computed.
✅ COMPLIANCE-PIN: EU 2023/1669, Annex IV point 5 (OJ L 214, 31.8.2023,
p. 26). Declared values, not a score — see
RepairabilityIndexDeclaration for why the two are kept apart, and for
the Annex IX Table 10 verification tolerance that makes the split the
same shape the Regulation itself describes.
None is the ordinary case and always will be for a device type the act
does not reach. Nothing obliges a passport to carry this — the word
“passport” does not occur in Reg. (EU) 2023/1669, which puts the index on
the energy label and in the product information sheet.
index_scope_exclusion: Option<IndexScopeExclusion>A declaration that Art. 1(a) or Art. 1(b) of Reg. (EU) 2023/1669 carves this unit out of the index’s scope.
✅ COMPLIANCE-PIN: EU 2023/1669, Art. 1 (OJ L 214, 31.8.2023, p. 12). A
rollable-display phone and a high-security smartphone are both
DeviceType::Smartphone, so without this the index would be claimed
over two product classes the Regulation expressly disclaims.
None means not excluded, never “unknown”: the carve-out is what
removes the obligation, so an operator who declares nothing has claimed
nothing, and reading silence as an exclusion would exempt a product on a
missing field.
spare_parts_available: Option<bool>Whether spare parts are commercially available from the manufacturer.
repair_manual_url: Option<String>URL to the repair manual or repair information portal.
disassembly_instructions_url: Option<String>URL to disassembly / dismantling instructions.
svhc_substances: Option<Vec<SvhcSubstance>>SVHC substances present above 0.1% w/w (REACH Art. 33).
rohs_compliant: Option<bool>Whether the product complies with RoHS Directive 2011/65/EU.
critical_raw_materials: Option<Vec<CriticalRawMaterial>>Critical raw materials present (EU CRM Act 2024/1252).
recycled_content_pct: Option<f64>Recycled content as a percentage of total product weight (0.0–100.0).
standby_power_w: Option<f64>Standby power consumption in watts.
expected_lifetime_years: Option<u32>Expected product lifetime in years under normal use.
firmware_update_until: Option<DateTime<Utc>>Date until which firmware / software updates are guaranteed.
Trait Implementations§
Source§impl Clone for ElectronicsData
impl Clone for ElectronicsData
Source§impl Debug for ElectronicsData
impl Debug for ElectronicsData
Source§impl<'de> Deserialize<'de> for ElectronicsData
impl<'de> Deserialize<'de> for ElectronicsData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ElectronicsData
impl PartialEq for ElectronicsData
Source§impl ProductGroupPayload for ElectronicsData
impl ProductGroupPayload for ElectronicsData
Source§fn model_identifier(&self) -> Option<&str>
fn model_identifier(&self) -> Option<&str>
This act defines no model identifier.
Source§fn svhc_substances(&self) -> Option<&[SvhcSubstance]>
fn svhc_substances(&self) -> Option<&[SvhcSubstance]>
This group’s schema carries a REACH candidate-list declaration.
Source§fn product_category(&self) -> Option<&str>
fn product_category(&self) -> Option<&str>
Reg. (EU) 2023/1670 Art. 1(1)’s four device types. Always present: the field is required and the enum is closed.