@tracepass/dpp-schemas 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -4
- package/index.json +35 -13
- package/package.json +1 -1
- package/schema.json +20 -2
- package/templates/battery.json +36 -30
- package/templates/chemicals.json +3 -1
- package/templates/construction.json +3 -1
- package/templates/electronics.json +3 -1
- package/templates/fmcg.json +3 -1
- package/templates/furniture.json +3 -1
- package/templates/jewelry.json +3 -1
- package/templates/packaging.json +3 -1
- package/templates/steel.json +3 -1
- package/templates/textile.json +3 -1
- package/templates/toys.json +3 -1
- package/templates/tyres.json +3 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
[](./LICENSE)
|
|
12
12
|
[](https://www.npmjs.com/package/@tracepass/dpp-schemas)
|
|
13
|
-
[](#whats-in-here)
|
|
14
14
|
[](#whats-in-here)
|
|
15
15
|
[](#no-build-step)
|
|
16
16
|
[](./schema.json)
|
|
@@ -39,12 +39,12 @@ this repository contains.
|
|
|
39
39
|
|
|
40
40
|
## What's in here
|
|
41
41
|
|
|
42
|
-
Twelve JSON files, one per product category. **
|
|
42
|
+
Twelve JSON files, one per product category. **937 fields in total. 302 are required by an instrument in force;
|
|
43
43
|
198 are anticipated under a rule that has not yet been adopted.**
|
|
44
44
|
|
|
45
45
|
| Category | Fields | Required | Instrument |
|
|
46
46
|
|---|---:|---:|---|
|
|
47
|
-
| `battery` |
|
|
47
|
+
| `battery` | 119 | 54 | Regulation (EU) 2023/1542 |
|
|
48
48
|
| `chemicals` | 96 | 28 | ESPR (EU) 2024/1781 |
|
|
49
49
|
| `construction` | 49 | 43 | CPR (EU) 2024/3110 |
|
|
50
50
|
| `electronics` | 167 | 20 | ESPR (EU) 2024/1781 |
|
|
@@ -105,7 +105,28 @@ its stated gate is met — so a passport legitimately leaves it empty otherwise.
|
|
|
105
105
|
}
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
Five things are worth pointing out.
|
|
109
|
+
|
|
110
|
+
**`regulation.effectiveDate` is the date the passport obligation begins — not the date
|
|
111
|
+
the regulation applies.** Those are different dates and can sit years apart. PPWR
|
|
112
|
+
(EU) 2025/40 has applied since 12 August 2026, but its packaging DPP provisions phase
|
|
113
|
+
in from 2027, so `packaging` carries `2027`, not `2026-08-12`.
|
|
114
|
+
|
|
115
|
+
Read both dates with their precision marker. `datePrecision` / `mandatoryDatePrecision`
|
|
116
|
+
are `"day"` or `"year"`; absent means `"day"`:
|
|
117
|
+
|
|
118
|
+
- **`"day"`** — a real statutory date. Battery is `2027-02-18`, set by ESPR Article 77.
|
|
119
|
+
- **`"year"`** — only the year is known, because the governing delegated or implementing
|
|
120
|
+
act is not yet adopted. The day and month are filler. **Do not render these as a
|
|
121
|
+
deadline.** Ten of the twelve categories are currently `"year"`.
|
|
122
|
+
|
|
123
|
+
```python
|
|
124
|
+
r = template["regulation"]
|
|
125
|
+
if r.get("datePrecision", "day") == "year":
|
|
126
|
+
print(f"DPP obligation expected in {r['effectiveDate'][:4]}") # "2027"
|
|
127
|
+
else:
|
|
128
|
+
print(f"DPP obligation from {r['effectiveDate']}") # "2027-02-18"
|
|
129
|
+
```
|
|
109
130
|
|
|
110
131
|
**`regulationRef`** is the reason this data is worth having. Every field says which
|
|
111
132
|
article and annex mandates it, so a compliance report can cite its source rather than
|
package/index.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"totals": {
|
|
9
9
|
"categories": 12,
|
|
10
10
|
"fields": 937,
|
|
11
|
-
"requiredFields":
|
|
11
|
+
"requiredFields": 302,
|
|
12
12
|
"anticipatedFields": 198
|
|
13
13
|
},
|
|
14
14
|
"categories": [
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"file": "templates/battery.json",
|
|
19
19
|
"version": 4,
|
|
20
20
|
"fieldCount": 119,
|
|
21
|
-
"requiredFieldCount":
|
|
21
|
+
"requiredFieldCount": 54,
|
|
22
22
|
"anticipatedFieldCount": 11,
|
|
23
23
|
"regulation": {
|
|
24
24
|
"name": "EU Battery Regulation",
|
|
@@ -39,7 +39,9 @@
|
|
|
39
39
|
"name": "EU ESPR - Chemicals",
|
|
40
40
|
"number": "(EU) 2024/1781",
|
|
41
41
|
"effectiveDate": "2029-09-01",
|
|
42
|
-
"
|
|
42
|
+
"datePrecision": "year",
|
|
43
|
+
"mandatoryDate": "2029-09-01",
|
|
44
|
+
"mandatoryDatePrecision": "year"
|
|
43
45
|
}
|
|
44
46
|
},
|
|
45
47
|
{
|
|
@@ -54,7 +56,9 @@
|
|
|
54
56
|
"name": "Construction Products Regulation",
|
|
55
57
|
"number": "(EU) 2024/3110",
|
|
56
58
|
"effectiveDate": "2029-01-01",
|
|
57
|
-
"
|
|
59
|
+
"datePrecision": "year",
|
|
60
|
+
"mandatoryDate": "2029-01-01",
|
|
61
|
+
"mandatoryDatePrecision": "year"
|
|
58
62
|
}
|
|
59
63
|
},
|
|
60
64
|
{
|
|
@@ -69,7 +73,9 @@
|
|
|
69
73
|
"name": "EU ESPR - Electronics",
|
|
70
74
|
"number": "(EU) 2024/1781",
|
|
71
75
|
"effectiveDate": "2028-01-01",
|
|
72
|
-
"
|
|
76
|
+
"datePrecision": "year",
|
|
77
|
+
"mandatoryDate": "2029-01-01",
|
|
78
|
+
"mandatoryDatePrecision": "year"
|
|
73
79
|
}
|
|
74
80
|
},
|
|
75
81
|
{
|
|
@@ -84,7 +90,9 @@
|
|
|
84
90
|
"name": "EU ESPR - FMCG",
|
|
85
91
|
"number": "(EU) 2024/1781",
|
|
86
92
|
"effectiveDate": "2028-01-01",
|
|
87
|
-
"
|
|
93
|
+
"datePrecision": "year",
|
|
94
|
+
"mandatoryDate": "2030-01-01",
|
|
95
|
+
"mandatoryDatePrecision": "year"
|
|
88
96
|
}
|
|
89
97
|
},
|
|
90
98
|
{
|
|
@@ -99,7 +107,9 @@
|
|
|
99
107
|
"name": "EU ESPR - Furniture",
|
|
100
108
|
"number": "(EU) 2024/1781",
|
|
101
109
|
"effectiveDate": "2029-01-01",
|
|
102
|
-
"
|
|
110
|
+
"datePrecision": "year",
|
|
111
|
+
"mandatoryDate": "2030-01-01",
|
|
112
|
+
"mandatoryDatePrecision": "year"
|
|
103
113
|
}
|
|
104
114
|
},
|
|
105
115
|
{
|
|
@@ -114,7 +124,9 @@
|
|
|
114
124
|
"name": "EU ESPR - Jewelry",
|
|
115
125
|
"number": "(EU) 2024/1781",
|
|
116
126
|
"effectiveDate": "2030-01-01",
|
|
117
|
-
"
|
|
127
|
+
"datePrecision": "year",
|
|
128
|
+
"mandatoryDate": "2030-01-01",
|
|
129
|
+
"mandatoryDatePrecision": "year"
|
|
118
130
|
}
|
|
119
131
|
},
|
|
120
132
|
{
|
|
@@ -129,7 +141,9 @@
|
|
|
129
141
|
"name": "Packaging and Packaging Waste Regulation",
|
|
130
142
|
"number": "(EU) 2025/40",
|
|
131
143
|
"effectiveDate": "2027-01-01",
|
|
132
|
-
"
|
|
144
|
+
"datePrecision": "year",
|
|
145
|
+
"mandatoryDate": "2030-01-01",
|
|
146
|
+
"mandatoryDatePrecision": "year"
|
|
133
147
|
}
|
|
134
148
|
},
|
|
135
149
|
{
|
|
@@ -144,7 +158,9 @@
|
|
|
144
158
|
"name": "EU ESPR - Iron, Steel & Aluminium",
|
|
145
159
|
"number": "(EU) 2024/1781",
|
|
146
160
|
"effectiveDate": "2027-01-01",
|
|
147
|
-
"
|
|
161
|
+
"datePrecision": "year",
|
|
162
|
+
"mandatoryDate": "2028-01-01",
|
|
163
|
+
"mandatoryDatePrecision": "year"
|
|
148
164
|
}
|
|
149
165
|
},
|
|
150
166
|
{
|
|
@@ -159,7 +175,9 @@
|
|
|
159
175
|
"name": "EU ESPR - Textiles",
|
|
160
176
|
"number": "(EU) 2024/1781",
|
|
161
177
|
"effectiveDate": "2028-01-01",
|
|
162
|
-
"
|
|
178
|
+
"datePrecision": "year",
|
|
179
|
+
"mandatoryDate": "2029-01-01",
|
|
180
|
+
"mandatoryDatePrecision": "year"
|
|
163
181
|
}
|
|
164
182
|
},
|
|
165
183
|
{
|
|
@@ -174,7 +192,9 @@
|
|
|
174
192
|
"name": "EU ESPR - Toys",
|
|
175
193
|
"number": "(EU) 2024/1781",
|
|
176
194
|
"effectiveDate": "2030-01-01",
|
|
177
|
-
"
|
|
195
|
+
"datePrecision": "year",
|
|
196
|
+
"mandatoryDate": "2030-01-01",
|
|
197
|
+
"mandatoryDatePrecision": "year"
|
|
178
198
|
}
|
|
179
199
|
},
|
|
180
200
|
{
|
|
@@ -189,7 +209,9 @@
|
|
|
189
209
|
"name": "EU ESPR - Tyres",
|
|
190
210
|
"number": "(EU) 2024/1781",
|
|
191
211
|
"effectiveDate": "2028-01-01",
|
|
192
|
-
"
|
|
212
|
+
"datePrecision": "year",
|
|
213
|
+
"mandatoryDate": "2029-01-01",
|
|
214
|
+
"mandatoryDatePrecision": "year"
|
|
193
215
|
}
|
|
194
216
|
}
|
|
195
217
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tracepass/dpp-schemas",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Machine-readable field specifications for EU Digital Product Passports (ESPR) \u2014 12 product categories, 937 fields, each traced to the article of EU law that mandates it. Pure JSON, no dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"digital-product-passport",
|
package/schema.json
CHANGED
|
@@ -67,12 +67,30 @@
|
|
|
67
67
|
"effectiveDate": {
|
|
68
68
|
"type": "string",
|
|
69
69
|
"format": "date",
|
|
70
|
-
"description": "ISO 8601 date (YYYY-MM-DD). A string, not a timestamp."
|
|
70
|
+
"description": "ISO 8601 date (YYYY-MM-DD). A string, not a timestamp. This is the date the DIGITAL PRODUCT PASSPORT obligation begins for the category — NOT the date the instrument itself enters into force or starts applying. The two can differ by years: PPWR (EU) 2025/40 has applied since 2026-08-12, but its packaging DPP provisions phase in from 2027. Read with datePrecision: where that is \"year\", only the year is significant and the day/month are filler."
|
|
71
|
+
},
|
|
72
|
+
"datePrecision": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"day",
|
|
76
|
+
"year"
|
|
77
|
+
],
|
|
78
|
+
"default": "day",
|
|
79
|
+
"description": "How much of effectiveDate is real. \"day\" = a specific statutory date (e.g. battery, 2027-02-18, ESPR Art. 77). \"year\" = only the year is known, because the governing delegated or implementing act is not yet adopted; the day/month are placeholders and MUST NOT be presented to end users as a deadline."
|
|
71
80
|
},
|
|
72
81
|
"mandatoryDate": {
|
|
73
82
|
"type": "string",
|
|
74
83
|
"format": "date",
|
|
75
|
-
"description": "ISO 8601 date (YYYY-MM-DD) from which the passport is legally required."
|
|
84
|
+
"description": "ISO 8601 date (YYYY-MM-DD) from which the passport is legally required. Read with mandatoryDatePrecision — see datePrecision for the semantics."
|
|
85
|
+
},
|
|
86
|
+
"mandatoryDatePrecision": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"enum": [
|
|
89
|
+
"day",
|
|
90
|
+
"year"
|
|
91
|
+
],
|
|
92
|
+
"default": "day",
|
|
93
|
+
"description": "How much of mandatoryDate is real. Same semantics as datePrecision."
|
|
76
94
|
}
|
|
77
95
|
}
|
|
78
96
|
},
|
package/templates/battery.json
CHANGED
|
@@ -5768,7 +5768,7 @@
|
|
|
5768
5768
|
"el": "Πληροφορίες ανταλλακτικών"
|
|
5769
5769
|
},
|
|
5770
5770
|
"description": {
|
|
5771
|
-
"en": "Spare parts
|
|
5771
|
+
"en": "Spare parts catalogue plus the contact details of sources for replacement spares — postal address and e-mail, not only a web link",
|
|
5772
5772
|
"hr": "Katalog dijelova za zamjenu s kontaktnom informacijom dobavljača",
|
|
5773
5773
|
"cs": "Katalog náhradních dílů s kontaktními informacemi dodavatele",
|
|
5774
5774
|
"da": "Katalog over reservedele med leverandørens kontaktoplysninger",
|
|
@@ -5845,9 +5845,11 @@
|
|
|
5845
5845
|
"spare parts",
|
|
5846
5846
|
"replacement parts",
|
|
5847
5847
|
"parts catalog",
|
|
5848
|
-
"spare parts catalog"
|
|
5848
|
+
"spare parts catalog",
|
|
5849
|
+
"spare parts contact",
|
|
5850
|
+
"sources for replacement spares"
|
|
5849
5851
|
],
|
|
5850
|
-
"expectedFormat": "Object with fields: catalogUrl, supplierName, supplierContact",
|
|
5852
|
+
"expectedFormat": "Object with fields: catalogUrl (URL), supplierName (string), supplierPostalAddress (string — full postal address), supplierEmail (string — email), supplierPhone (string, optional). Legacy `supplierContact` free text is accepted but should be split into the typed fields above. Annex XIII 2(b) asks for contact DETAILS, so a bare URL is not sufficient on its own.",
|
|
5851
5853
|
"extractionPriority": 4
|
|
5852
5854
|
}
|
|
5853
5855
|
},
|
|
@@ -7677,7 +7679,7 @@
|
|
|
7677
7679
|
"defaultValue": null,
|
|
7678
7680
|
"enumOptions": null,
|
|
7679
7681
|
"validation": {
|
|
7680
|
-
"required":
|
|
7682
|
+
"required": false,
|
|
7681
7683
|
"min": 0,
|
|
7682
7684
|
"max": null,
|
|
7683
7685
|
"minLength": null,
|
|
@@ -7714,11 +7716,12 @@
|
|
|
7714
7716
|
"sortOrder": 63,
|
|
7715
7717
|
"defaultAccessLevel": "public",
|
|
7716
7718
|
"regulationRef": {
|
|
7717
|
-
"
|
|
7718
|
-
"
|
|
7719
|
-
"
|
|
7720
|
-
"
|
|
7721
|
-
"
|
|
7719
|
+
"annex": null,
|
|
7720
|
+
"instrument": null,
|
|
7721
|
+
"provision": null,
|
|
7722
|
+
"kind": "specification",
|
|
7723
|
+
"article": null,
|
|
7724
|
+
"description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
|
|
7722
7725
|
},
|
|
7723
7726
|
"aiHints": {
|
|
7724
7727
|
"alternateNames": [
|
|
@@ -7790,7 +7793,7 @@
|
|
|
7790
7793
|
"defaultValue": null,
|
|
7791
7794
|
"enumOptions": null,
|
|
7792
7795
|
"validation": {
|
|
7793
|
-
"required":
|
|
7796
|
+
"required": false,
|
|
7794
7797
|
"min": 0,
|
|
7795
7798
|
"max": null,
|
|
7796
7799
|
"minLength": null,
|
|
@@ -7827,11 +7830,12 @@
|
|
|
7827
7830
|
"sortOrder": 64,
|
|
7828
7831
|
"defaultAccessLevel": "public",
|
|
7829
7832
|
"regulationRef": {
|
|
7830
|
-
"
|
|
7831
|
-
"
|
|
7832
|
-
"
|
|
7833
|
-
"
|
|
7834
|
-
"
|
|
7833
|
+
"annex": null,
|
|
7834
|
+
"instrument": null,
|
|
7835
|
+
"provision": null,
|
|
7836
|
+
"kind": "specification",
|
|
7837
|
+
"article": null,
|
|
7838
|
+
"description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
|
|
7835
7839
|
},
|
|
7836
7840
|
"aiHints": {
|
|
7837
7841
|
"alternateNames": [
|
|
@@ -8821,7 +8825,7 @@
|
|
|
8821
8825
|
"defaultValue": null,
|
|
8822
8826
|
"enumOptions": null,
|
|
8823
8827
|
"validation": {
|
|
8824
|
-
"required":
|
|
8828
|
+
"required": false,
|
|
8825
8829
|
"min": 1,
|
|
8826
8830
|
"max": null,
|
|
8827
8831
|
"minLength": null,
|
|
@@ -8858,11 +8862,12 @@
|
|
|
8858
8862
|
"sortOrder": 73,
|
|
8859
8863
|
"defaultAccessLevel": "public",
|
|
8860
8864
|
"regulationRef": {
|
|
8861
|
-
"
|
|
8862
|
-
"
|
|
8863
|
-
"
|
|
8864
|
-
"
|
|
8865
|
-
"
|
|
8865
|
+
"annex": null,
|
|
8866
|
+
"instrument": null,
|
|
8867
|
+
"provision": null,
|
|
8868
|
+
"kind": "specification",
|
|
8869
|
+
"article": null,
|
|
8870
|
+
"description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
|
|
8866
8871
|
},
|
|
8867
8872
|
"aiHints": {
|
|
8868
8873
|
"alternateNames": [
|
|
@@ -9050,7 +9055,7 @@
|
|
|
9050
9055
|
}
|
|
9051
9056
|
],
|
|
9052
9057
|
"validation": {
|
|
9053
|
-
"required":
|
|
9058
|
+
"required": false,
|
|
9054
9059
|
"min": null,
|
|
9055
9060
|
"max": null,
|
|
9056
9061
|
"minLength": null,
|
|
@@ -9087,11 +9092,12 @@
|
|
|
9087
9092
|
"sortOrder": 74,
|
|
9088
9093
|
"defaultAccessLevel": "public",
|
|
9089
9094
|
"regulationRef": {
|
|
9090
|
-
"
|
|
9091
|
-
"
|
|
9092
|
-
"
|
|
9093
|
-
"
|
|
9094
|
-
"
|
|
9095
|
+
"annex": null,
|
|
9096
|
+
"instrument": null,
|
|
9097
|
+
"provision": null,
|
|
9098
|
+
"kind": "specification",
|
|
9099
|
+
"article": null,
|
|
9100
|
+
"description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
|
|
9095
9101
|
},
|
|
9096
9102
|
"aiHints": {
|
|
9097
9103
|
"alternateNames": [
|
|
@@ -13962,8 +13968,8 @@
|
|
|
13962
13968
|
}
|
|
13963
13969
|
}
|
|
13964
13970
|
],
|
|
13965
|
-
"fieldCount":
|
|
13966
|
-
"requiredFieldCount":
|
|
13971
|
+
"fieldCount": 119,
|
|
13972
|
+
"requiredFieldCount": 54,
|
|
13967
13973
|
"_note": "The source markdown lists ~93 fields; CRM sub-fields (name/weight%/country) and hazardous-substance sub-fields (name/CAS/concentration/classification/location) are modeled as array items within criticalRawMaterials and hazardousSubstances respectively.",
|
|
13968
13974
|
"categories": [
|
|
13969
13975
|
"general_info",
|
|
@@ -13976,4 +13982,4 @@
|
|
|
13976
13982
|
],
|
|
13977
13983
|
"createdBy": "system",
|
|
13978
13984
|
"changelog": "v3: Per-category field applicability (requiredBy) for the EV/LMT/industrial state-of-health inversion (DP 33, 61-66). Demoted carbon-footprint (DP 17/18 deferred format) and due-diligence (DP 19 deferred format) fields to anticipated. Demoted truly optional/conditional fields (DP 5 manufacturer web/email, DP 35 commercial warranty, DP 41 Cd/Pb symbols, DP 68-71 if-applicable SoH). Added 6 new fields: DP 24 renewable content share, DP 37 RTE at 50% cycle-life, DP 46 component part numbers, DP 53 dynamic power, DP 57 dynamic energy RTE, DP 64 remaining round-trip efficiency. Fixed DP 40/41 citations per Corrigendum 2026/90285. | v4: Add 13 Annex XIII fields (pre/post-consumer recycled shares Ni/Co/Li, SoC-split power capability, temperature information, cadmium/lead symbols URL, component part numbers URL, spare parts sources URL, accidents information URL). Closes GEFEG mapping gaps."
|
|
13979
|
-
}
|
|
13985
|
+
}
|
package/templates/chemicals.json
CHANGED
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"name": "Construction Products Regulation",
|
|
33
33
|
"number": "(EU) 2024/3110",
|
|
34
34
|
"effectiveDate": "2029-01-01",
|
|
35
|
-
"
|
|
35
|
+
"datePrecision": "year",
|
|
36
|
+
"mandatoryDate": "2029-01-01",
|
|
37
|
+
"mandatoryDatePrecision": "year"
|
|
36
38
|
},
|
|
37
39
|
"fields": [
|
|
38
40
|
{
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"name": "EU ESPR - Electronics",
|
|
33
33
|
"number": "(EU) 2024/1781",
|
|
34
34
|
"effectiveDate": "2028-01-01",
|
|
35
|
-
"
|
|
35
|
+
"datePrecision": "year",
|
|
36
|
+
"mandatoryDate": "2029-01-01",
|
|
37
|
+
"mandatoryDatePrecision": "year"
|
|
36
38
|
},
|
|
37
39
|
"fields": [
|
|
38
40
|
{
|
package/templates/fmcg.json
CHANGED
package/templates/furniture.json
CHANGED
package/templates/jewelry.json
CHANGED
package/templates/packaging.json
CHANGED
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"name": "Packaging and Packaging Waste Regulation",
|
|
33
33
|
"number": "(EU) 2025/40",
|
|
34
34
|
"effectiveDate": "2027-01-01",
|
|
35
|
-
"
|
|
35
|
+
"datePrecision": "year",
|
|
36
|
+
"mandatoryDate": "2030-01-01",
|
|
37
|
+
"mandatoryDatePrecision": "year"
|
|
36
38
|
},
|
|
37
39
|
"fields": [
|
|
38
40
|
{
|
package/templates/steel.json
CHANGED
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"name": "EU ESPR - Iron, Steel & Aluminium",
|
|
33
33
|
"number": "(EU) 2024/1781",
|
|
34
34
|
"effectiveDate": "2027-01-01",
|
|
35
|
-
"
|
|
35
|
+
"datePrecision": "year",
|
|
36
|
+
"mandatoryDate": "2028-01-01",
|
|
37
|
+
"mandatoryDatePrecision": "year"
|
|
36
38
|
},
|
|
37
39
|
"fields": [
|
|
38
40
|
{
|
package/templates/textile.json
CHANGED
package/templates/toys.json
CHANGED
package/templates/tyres.json
CHANGED