-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.bs
2788 lines (2225 loc) · 115 KB
/
index.bs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<pre class='metadata'>
<<<<<<< HEAD
Title: iLEAP Technical Specifications (Version 0.2.1-20240903)
=======
Title: iLEAP Technical Specifications (Version 0.2.1-20240930)
>>>>>>> e086402 (chore: add changelog entry)
Shortname: ileap-extension
Status: LD
Status Text: Draft Technical Specification
ED: https://sine-fdn.github.io/ileap-extension/
TR: https://sine-fdn.github.io/ileap-extension/TR/2024/ileap-extension-20240605/
Canonical URL: ED
Editor: Violetta Matzoros, https://www.smartfreightcentre.org, violetta.matzoros@smartfreightcentre.org
Editor: Gabriela Rubio Domingo, https://www.smartfreightcentre.org, gabriela.rubiodomingo@smartfreightcentre.org
Editor: Martin Pompéry, https://sine.foundation, martin@sine.foundation
Editor: Raimundo Henriques, https://sine.foundation, raimundo@sine.foundation
Repository: sine-fdn/ileap-extension
Abstract: This document outlines the semantics for logistics emissions data exchange as part of the SFC iLEAP Project. Its format is based on the PACT Technical Specifications and supports the integration of Logistics Emissions Data Exchange into the PACT Network. Implementing this specification enables stakeholders within the supply chain to exchange data on logistics emissions. This facilitates the tracking of logistics emissions and the computation of their contribution to product carbon footprints.
Markup Shorthands: markdown yes
Boilerplate: omit conformance, omit copyright
Previous Version: https://sine-fdn.github.io/ileap-extension/TR/2024/ileap-extension-20240521/
Local Boilerplate: header yes
</pre>
# Introduction # {#introduction}
- Companies have a growing need to calculate and report logistics emissions data with greater accuracy and transparency. They want to move from standard and modeled data to primary data that accurately reflects their supply chain emissions.
- This document specifies a [[#data-model]] and the [=data transactions=] necessary for the interoperable exchange of primary logistics emissions data, ensuring that they are structured to facilitate the calculation of Product Carbon Footprints (PCFs).
- Based on the [[!GLEC]] Framework and [[!ISO14083]], this technical specification adopts the format established by the PACT Framework and PACT Technical Specifications. It conforms to the basic semantics framework for the [=SFC=] Exchange Network project.
- Adoption of this specification will enable the exchange of data between different actors in the logistics value chain, facilitating the calculation of emissions at the [=shipment=], [=Transport Chain Element|TCE=] and [=TOC=] levels, and the integration of these calculations at the [=PCF=] level.
Advisement: The iLEAP Technical Specifications will be continuously refined as part of the ongoing iLEAP project. Significant changes may be introduced as the project progresses.
## Out of Scope ## {#out-of-scope}
This specifcation does not cover the following topics or aspects as they are covered elsewhere or declared as out of scope of this specification:
1. Methodology for the calculation of logistics-related emissions which is specified in the [[!GLEC]] Framework and [[!ISO14083]].
2. Black Carbon (Accounting).
3. How to exactly capture necessary primary activity data for the calculation of [=HOCs=] or [=TOCs=] (i.e. through telematics systems, TMS, or others).
4. Pilot decentralized data exchange following data space governance principles, as covered in the [=SFC=] Data Exchange Network project.
5. How to establish contractual obligations between parties for the provision of data.
6. How to perform data audits and verification.
7. Market based approach for electricity emissions accounting.
8. Book and claim methods to track the environmental attributes of low emission transport solutions separately from the physical delivery. This will be incorporated in later versions of these technical specifications.
9. Variables for detailed GHG emissions modelling, as described in [[!ISO14083]], Section 13.4.3 and Annex M. The current data model is considered a key enabler for primary data collection, where its main focus lays. The basic use of modelled and default data is supported, but detailed parameters for modelling are excluded from the current version.
10. Modes of transport cable car and pipelines. These could be considered for future versions of these technical specifications.
11. Refrigerant emissions, due to leakage of refrigerants used by vehicles and hubs, as described in [[!ISO14083]], Annex I. This will be incorporated in later versions of these technical specifications.
## Document Statuses ## {#document-statuses}
The iLEAP Technical Specifications adhere to the [SemVer](https://semver.org/) standard and are
published according to a flow that clearly distinguishes work-in-progress from pre-releases and
stable releases. These are indicated by the status tag below at the top of the document. Possible
status tags are:
: Living Document
:: Work-in-progress. The version number is typically extended with the date on which the most recent
changes were made (e.g., 0.2.1-20240523). Accessible at
[https://sine-fdn.github.io/ileap-extension/](https://sine-fdn.github.io/ileap-extension/).
: Consultation Draft
:: Pre-release. Distributed for the purpose of obtaining community feedback. No further significant
changes will be made until the release. Minor corrections may still be possible. Every
Consultation Draft is assigned a stable, permanent, URL, e.g.,
[https://sine-fdn.github.io/ileap-extension/TR/2024/ileap-extension-20240521/](https://sine-fdn.github.io/ileap-extension/TR/2024/ileap-extension-20240521/).
: Release
:: Stable release. No further changes will be made to this version. Any additional changes will be
included in subsequent versions. Every Release is assigned a stable, permanent, URL, e.g.,
[https://sine-fdn.github.io/ileap-extension/TR/2024/ileap-extension-20240605/](https://sine-fdn.github.io/ileap-extension/TR/2024/ileap-extension-20240605/).
# Definitions # {#definitions}
## ISO14083- and GLEC-Framework-related Definitions ## {#iso14083-definitions}
: <dfn>Actual Distance</dfn>
:: The actual route (with unit `kilometer`) taken for a consignment. [[!GLEC]] Framework. See also [[!ISO14083]] Section 3.1.27.1.
: <dfn>Consignment</dfn>
::
A consignment refers to a quantifiable quantity of cargo that can be distinctly
identified as a single unit. It is transported from a sender or consignor to a
receiver or consignee, irrespective of the mode of transportation employed. See [[!ISO14083]], Section 3.1.4.
: <dfn>Distance</dfn>
:: See [=Transport Distance=] and [=Actual Distance=]
: <dfn>Great Circle Distance</dfn> (GCD)
::
It is the shortest distance between two points by crow-line, including the curving of the earth. It is an approach used in air transport. [[!GLEC]] Framework.
: <dfn>Hub Activity</dfn>
:: The operations carried out at a hub, measured in the hub’s throughput. [[!GLEC]] Framework.
: Hub Operation Category (<dfn>HOC</dfn> )
:: A Hub Operation Category is a grouping of hub operations sharing similar characteristics. [[!GLEC]] Framework.
: <dfn>Primary Data</dfn>
::
Data based on direct measurements of energy consumption. Also see [[!GLEC]] Framework.
: <dfn>Secondary Data</dfn>
::
Any data that is not primary data. It applies to modelled and default data. [[!GLEC]] Framework.
: <dfn>Shipment</dfn>
::
A shipment refers to the goods in a commercial transaction between a seller and a buyer.
It encompasses the consignments transported as part of this transaction via a transport
chain from the consignor to the consignee. See [[!ISO14083]], Section 3.1.20.
: <dfn>Shortest Feasible Distance</dfn> (SFD)
::
It represents the shortest practical route between two places taking into account the real operating conditions. [[!GLEC]] Framework.
: <dfn>Transport Activity</dfn>
::
Transport activity for each consignment is calculated by multiplying the consignment's mass by the TCE distance.
It is measured with unit `ton kilometer`. See [[!ISO14083]] Section 3.1.24 and the [[!GLEC]] Framework.
: Transport Chain (<dfn>TC</dfn> )
:: A Transport Chain as defined in the [[!GLEC]] Framework. A TC consists of 1 or more [=Transport Chain Elements=]. A TC corresponds to a shipment.
: <dfn>Transport Chain Element</dfn> (TCE)
:: A Transport Chain Element is one element of the transport chain. It can consist of a transport activity or a hub activity. [[!GLEC]] Framework.
: <dfn>Transport Distance</dfn>
:: Refers to the distance covered from the consignor to the consignee during the transportation of the freight. [[!GLEC]] Framework. See also [[!ISO14083]] 3.1.27.
: Transport Operation Category (<dfn>TOC</dfn> )
:: A Transport Operation Category is a grouping of transport services sharing similar characteristics. [[!GLEC]] Framework.
: <dfn>Transport Operator</dfn>
:: Refers to the party that carries out the transport service. See [[!ISO14083]], Section 3.1.30.
: <dfn>Transport Service Organizer</dfn>
:: Refers to the party providing transport services, where some of the operations are subcontrated to a third party, usually a Transport Operator. See [[!ISO14083]], Section 3.1.32.
: <dfn>Transport Service User</dfn>
:: Refers to the party that purchases and or utilizes a transport service. It could be a [=shipper=] or a [=Transport Service Organizer=]. See [[!ISO14083]], Section 3.1.33.
## Auxillary Definitions ## {#auxillary-definitions}
: <dfn>Access Token</dfn>
:: See [PACT Tech Specs](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#access-token) for the definition.
: <dfn>Consignment id</dfn>
::
A digital identifier which uniquely identifies a [=Consignment=] relative to the [=Host system=] and to the [=Data recipient=].
: <dfn>Data Owner</dfn>
:: See [PACT Tech Specs](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#data-owner) for the definition.
: <dfn>Data Recipient</dfn>
:: See [PACT Tech Specs](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#data-recipient) for the definition.
: Data Transaction
:: see [[#txns]]
: <dfn>Host System</dfn>
:: See [PACT Tech Specs](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20231207/#host-system) for the definition.
Here, a host system additionally implements support for 1 or more data transactions ([[#txns]]).
: <dfn>Hub Operator</dfn>
:: A party that is offering hub services, including warehousing and transshipment center services.
: <dfn>PCF</dfn>
::
Product Carbon Footprint. See [PACT Tech Specs](https://wbcsd.github.io/tr/data-exchange-protocol/#dt-carbonfootprint) for further details
: <dfn>ShipmentFootprint</dfn>
:: See [[#dt-sf]] for the definition.
: <dfn>Shipment id</dfn>
::
A digital identifier which uniquely identifies a [=Shipment=] relative to the [=Host system=] and to the [=Data recipient=].
: <dfn>Shipper</dfn>
:: An entity which sends goods for transport; e.g. buying transport services from [=Transport Service Organizers=] or [=Transport Operators=]. See [[!GLEC]] Framework.
: Smart Freight Centre (<dfn>SFC</dfn> )
:: The [Smart Freight Centre](https://www.smartfreightcentre.org) Organization.
: <dfn>Tool Provider</dfn>
::
Provider of software, tools, services, or programs that support companies in
calculating and reporting logistics GHG emissions conforming to these technical specifications.
# Business Cases # {#business-cases}
Note: Non-normative section
This specification shall serve the general need of businesses for logistics GHG emissions
accounting and reporting, conforming with the [[!GLEC]] Framework and [[!ISO14083]].
Given the nature of the logistics industry, and in order to reduce costs overall, this specification aims at
enabling interoperability in the exchange of emissions data between different parties in the logistics value chain.
To achieve this objective, the specification is guided by a set of business cases which provide the
framework for delineating subsequent [[#txns|data transactions]] and the [[#data-model|iLEAP data model]].
## Quantification of (Avoided) Emissions ## {#business-case-1}
A [=Transport Service User=] requests its [=Transport Service Organizers=] or [=Transport Operators=] to provide it with the GHG emissions of [=Shipments=].
The transport service user is particularly interested in having access to accurate emission and emission intensity values based on the measurement of actual data ("primary data").
Accurate logistics emissions values also enable the Transport Service User to compare logistics emissions and the resulting reductions from operational measures.
Data Transactions #1 ([[#txn1]]) and #2 ([[#txn2]]) enable this business case.
## Procurement of Carbon-Efficient Logistics Services ## {#business-case-2}
A [=Transport Service Organizer=] requests their [=Transport Operators=] to share GHG emission intensity information at the [=TOC=] or [=HOC=] level.
Similarly, a [=Transport Service User=] requests intensity information from their [=Transport Service Organizers=] and [=Transport Operators=].
By incorporating emission intensities in procurement processes, the parties are enabled to select services by carbon-efficiency advantages.
Data Transaction #2 [[#txn2]] enable this business case.
## Simplified Emissions Calculation from Transport Activity Data ## {#business-case-3}
A [=Transport Operator=], and possibly also [=Transport Service Organizer=], is not yet able to calculate GHG emissions according to the [[!GLEC|GLEC Framework]] and [[!ISO14083]].
In such a case, the Party may choose to collect [=Transport Activity Data=], that is information related to a single shipment including mass or energy carriers used.
After collecting Transport Activity Data, the Party can then contract a third party, such as a [=Tool Provider=], to calculate TOC and HOC level data from its Transport Activity Data.
This business case is particularly relevant for SMEs to reduce the barrier to entry for logistics emissions reporting.
The way this business case is realized through iLEAP, generally simplifies data collection efforts for the parties involved.
For instance, each party needs to collect the activity data only once. Afterwards, the Party can make the activity data available to multiple parties (see [[#txn3]]) or for different purposes, including business cases beyond emissions calculations.
Data Transaction #3 ([[#txn3]]) enables this business case.
## Potential additional Business Cases ## {#txns-appendix}
: Disclosure of Logistics Emissions as part of PCFs
::
A [=Transport Service User=] is requested to disclose logistics emissions as part of a [=PCF=].
A Transport Service User can disclose this data as a data model extension (see [[#pcf-mapping-sf]])
This is enabled through the usage of the PACT Technical Specifications
and disclosing through so-called Data Model Extensions based on the iLEAP
Data Model ([[#data-model]]) . See the PACT [[!DATA-MODEL-EXTENSIONS]] specification.
: Forecasting
:: A [=Transport Service User=] requests their service provider ([=Transport Service Organizer=] or [=Transport Operator=]) to share GHG emissions at the TOC or HOC level. This enables the Transport Service User to forecast emissions related to specific activities or services, before these take place.
: Integration of Book & Claim
:: A [=Transport Service Organizer=] requests their service provider ([=Transport Operator=]) to share with them emissions attributes according to a book & claim scheme.
Note: This business case is currently out of scope. It might be supported in the future, as book & claim methodologies and related variables are considered in scope of these technical specifications.
# Data Transactions # {#txns}
A <dfn>data transaction</dfn> is an abstraction for the exchange of data between two parties, serving one or more business cases ([[#business-cases]]).
Its function is to facilitate interoperability between different parties by explaining the context and their intention(s).
Each transaction combines the iLEAP data model ([[#data-model]]) with the PACT
Data Exchange Protocol ([[#pcf-mapping]]) to enable interoperability between [=host systems=].
The following diagram shows how the three data transactions (defined below) are related:
<figure id="figure-data-transactions">
<img src="diagrams/transactions.png" width="30%" >
<figcaption>Transactions diagram</figcaption>
</figure>
Note: A [=Tool Provider=] can assume various roles on behalf of the [=Transport Service User=], [=Transport Service Organizer=] or [=Transport Operator=], as outlined in the data transactions below. They can serve as mediators in activities involving data collection, calculation, and reporting.
## Data Transaction 1: TCE Data Exchange ## {#txn1}
This data transaction enables a [=Transport Service User=] (for example, a [=shipper=]) to receive [=Transport Chain Elements=] emissions related data (encoded as <{TCE|TCEs}>) from a
[=Transport Operator=] or a [=Transport Service Organizer=] for a single [=shipment=].
For this, the [=Transport Operator=] or the [=Transport Service Organizer=] MUST
1. first calculate 1 or more TCEs emissions related data in accordance with the [[!GLEC]] Framework and [[!ISO14083]], and then
2. make the resulting <{ShipmentFootprint}> available to the [=Transport Service User=] through the PACT
Network API (see [[#pcf-mapping-sf]]).
The [=Transport Service User=] CAN then derive the Transport Chain ([=TC=]) using the [=shipment id=], by
1. collecting the <{TCE|TCEs}> from all the [=Transport Operators=] and the [=Transport Service Organizers=] related to the shipment
2. forming the [=TC=] from the collected TCEs
3. calculating the logistics emissions of the shipment in accordance with the [[!GLEC]] Framework and [[!ISO14083]].
Note: For an example exchange, see [[#example]]
## Data Transaction 2: TOC or HOC Data Exchange ## {#txn2}
This data transaction enables a [=Transport Service Organizer=] to receive [=TOC=] or [=HOC=] emission intensity related data from a [=Transport Operator=].
The provision of emission intensity data at the [=TOC=] or [=HOC=] level would enable the [=Transport Service Organizer=] to collect the necessary information to calculate emissions according to the GLEC Framework and [[!ISO14083]].
It could also facilitate the inclusion of emission intensity in procurement processes, allowing for the provision of services that offer carbon-efficiency advantages (see Business Case 2).
For this, the [=Transport Operator=] or [=Transport Service Organizer=] MUST
1. first calculate 1 or more TOC or HOC emission profiles in accordance with the [[!GLEC]] Framework and [[!ISO14083]], and then
2. make the resulting <{TOC|TOCs}> or <{HOC|HOCs}> available through the PACT Network API (see [[#pcf-mapping]]).
Note:
The details on how to define and to calculate [=TOCs=] and [=HOCs=] are specified in [[!ISO14083]]
and guidance provided through the [[!GLEC]] Framework.
Details of the calculation method are out of scope of this specification.
## Data Transaction 3: Transport Activity Data Exchange ## {#txn3}
This data transaction enables a [=Transport Service Organizer=] or a [=Transport Service User=] to receive [=Transport Activity Data=] from a [=Transport Operator=].
For this, the [=Transport Operator=] MUST
1. first collect Transport Activity Data belonging to a consignment identified by the [=consignment id=]
2. calculate the <{TAD}> (see [[#dt-tad]]) given the [=consignment id=]
3. make the resulting <{TAD}> available through the PACT Network API.
The [=Transport Service Organizer=] or [=Transport Service User=] CAN then retrieve the <{TAD|TADs}> using the [=consignment ids=].
Note:
This data transaction is considered necessary by logistics parties.
Especially for SMEs, lacking the capabilities to report curated emissions data,
the option to provide activity data to their customers should be given.
# End-to-End Example # {#example}
Note: Non-normative section
This section provides an end-to-end example of how the data transactions ([[#txns]])
enable logistics emissions transparency for a single shipment.
The following hypothetical parties are involved:
: Transport Service User `S`
::
A [=Transport Service User=] which wants to calculate the logistics emissions of a shipment from Rotterdam to Prague.
The shipper has a contract with the Transport Service Organizer `Z`.
`S` operates a [=host system=] which implements Transaction 1 ([[#txn1]]) to collect
<{TCE|TCEs}>. Based on the collected <{TCE|TCEs}>, `S` can calculate Transport Chains ([=TCs=]) and
thereby calculate and gain logistics emissions transparency.
: Transport Service Organizer `Z`
::
A [=Transport Service Organizer=] responsible for a shipment from Rotterdam to Prague.
The Transport Service Organizer contracts Transport Operator A and Transport Operator B to perform the transport.
This operator has a [=host system=] which implements Transaction 1 ([[#txn1]])
as well as Transaction 2 ([[#txn2]]).
Through this, the operator is able to eventually calculate <{TCE|TCEs}> and <{TOC|TOCs}>, so that
they can provide data to Transport Service User `S`.
: Transport Operator `A`
::
A [=Transport Operator=] which is responsible for the first leg of the shipment.
This Operator has a [=host system=] which is capable of calculating <{TCE|TCEs}> and <{TOC|TOCs}> data.
Through this, the operator can make [=Transport Chain Element=]-level data available to the
Transport Service Organizer `Z`, which `Z` can fetch using Transaction 1 ([[#txn1]]).
: Transport Operator `B`
::
Another [=Transport Operator=] which is responsible for the second leg of the shipment.
This [=Transport Operator=] is capable of making <{TAD}> data avialable to the
[=Transport Service Organizer=] Z.
## Data Transactions Executed ## {#example-txns}
Note: In this hypothetical example, hub operations are currently ommitted.
Note: In this hypothetical example, when we refer to a party executing a transaction,
we implicitly refer to their [=host systems=] which execute
the tasks and transactions on their behalf.
### Data Collection by Transport Service Organizer `Z` ### {#example-z}
As the transport consists of 2 legs, `Z` needs to collect data from the 2 Transport Operators `A` and `B`.
For this, the Transport Service Organizer `Z` performs the following data transactions:
1. `Z` executes [[#txn1]] with Transport Operator `A` to collect the <{TCE|TCEs}>
for the first leg of the shipment.
1. As Transport Operator `B` does not support [[#txn1]], `Z` performs [[#txn3]] with
Transport Operator `B` to collect the <{TAD}> for the second leg of the shipment.
1. `Z` then calculates the <{TCE|TCEs}> for the 2nd leg of the shipment based on
the <{TAD}> data and modelled or default factors.
### Data Collection by Transport Service User `S` ### {#example-s}
After Transport Service Organizer `Z` has performed its data collection, the Transport Service User `S`
can calculate the logistics emissions of the shipment by
1. collecting the <{TCE|TCEs}> from `Z` using the [=shipment id=] and [[#txn1]], storing the resulting <{TCE|TCEs}> in e.g. its database.
1. `S` can further verify the <{TCE|TCEs}> by collecting the <{TOC|TOCs}> from `Z` using [[#txn2]]
1. To compute the logistics emissions, `Z` can form the [=TC=] from the collected <{TCE|TCEs}> by taking the <{TCE|TCEs}> of step 1 and
by calculating the logistics emissions for this shipment by following the [[!GLEC]] Framework and [[!ISO14083]].
## Example HTTP Calls ## {#example-http}
### Data Collection by Transport Service Organizer `Z` ### {#example-http-z}
To collect the <{TCE|TCEs}> from Transport Operator `A`, `Z` performs the following HTTP call.
Note: The call to `/footprints` can return several footprints, 1 for each shipment.
By filtering, e.g. by the shipment id, `Z` can retrieve the <{TCE|TCEs}> for
the shipment of interest (not shown below).
The highlighted lines show the data exchanged according to the <{ShipmentFootprint}> data model.
<div class=example>
Example HTTP Request (cURL) to collect TCE Data from Transport Operator A (please note that an actual API call would require authentication):
<pre highlight='sh'>
curl -X 'GET' \
'https://api.transport-operator-a.com/2/footprints'
</pre>
Example response:
<pre highlight='json' line-highlight="37-54" line-numbers>
{
"id": "d9be4477-e351-45b3-acd9-e1da05e6f633",
"specVersion": "2.0.0",
"version": 0,
"created": "2022-05-22T21:47:32Z",
"status": "Active",
"companyName": "Super Duper Transport Co.",
"companyIds": [ "urn:epc:id:sgln:4063973.00000.8" ],
"productDescription": "Logistics emissions related to shipment with ID 1237890",
"productIds": [ "urn:pathfinder:product:customcode:vendor-assigned:1237890" ],
"productCategoryCpc": "83117",
"productNameCompany": "Shipment with ID 1237890",
"comment": "",
"pcf": {
"declaredUnit": "ton kilometer",
"unitaryProductAmount": "36.801",
"pCfExcludingBiogenic": "3.6801",
"fossilGhgEmissions": "3.6801",
"fossilCarbonContent": "0.0",
"biogenicCarbonContent": "0.0",
"characterizationFactors": "AR5",
"crossSectoralStandardsUsed": [ "GHG Protocol Product standard" ],
"productOrSectorSpecificRules": [],
"boundaryProcessesDescription": "SFC GLEC Framework-conforming (W2W CO2e emissions)",
"referencePeriodStart": "2021-01-01T00:00:00Z",
"referencePeriodEnd": "2022-01-01T00:00:00Z",
"secondaryEmissionFactorSources": [ { "name": "GLEC", "version": "3.0" } ],
"exemptedEmissionsPercent": 0.0,
"exemptedEmissionsDescription": "",
"packagingEmissionsIncluded": true,
"primaryDataShare": 100.0
},
"extensions": [
{
"specVersion": "2.0.0",
"dataSchema": "https://catalog.carbon-transparency.com/sfc-ileap/0.0.1/shipmentfootprint.json",
"data": {
"mass": "87",
"shipmentId": "1237890",
"tces": [
{
"tceId": "abcdef",
"prevTceIds": [],
"tocId": "truck-40t-euro5-de",
"shipmentId": "1237890",
"mass": "87",
"distance": {
"actual": "423"
},
"transportActivity": "36.801",
"co2eWTW": "3.6801",
"co2eTTW": "3.2801"
}
]
}
}
]
}
</pre>
</div>
### Data Collection by Transport Service User `S` ### {#example-http-s}
To collect the TCEs data related to the shipment from Transport Organizer `Z`, `S` performs the following HTTP call which yields 2 TCEs.
Note: The call to `/footprints` can return several footprints, 1 for each shipment.
By filtering, e.g. by the shipment id, `Z` can retrieve the <{TCE|TCEs}>
for the shipment of interest (not shown below).
The highlighted lines show 2 TCEs which `Z` has collected and calculated for `S`.
<div class=example>
Example HTTP Request (cURL) to collect TCE Data (please note that an actual API call would require authentication):
<pre highlight='sh'>
curl -X 'GET' \
'https://api.transport-organizer.com/2/footprints'
</pre>
Example response:
<pre highlight='json' line-highlight="37-66" line-numbers>
{
"id": "fb1faac2-7712-458a-a1db-bace3a44abb4",
"specVersion": "2.0.0",
"version": 0,
"created": "2022-05-22T21:47:32Z",
"status": "Active",
"companyName": "Transport Organizer Z",
"companyIds": [ "urn:epc:id:sgln:123456.00000.8" ],
"productDescription": "Logistics emissions related to shipment with ID 1237890",
"productIds": [ "urn:pathfinder:product:customcode:vendor-assigned:shipment:1237890" ],
"productCategoryCpc": "83117",
"productNameCompany": "Shipment with ID 1237890",
"comment": "",
"pcf": {
"declaredUnit": "ton kilometer",
"unitaryProductAmount": "64.728",
"pCfExcludingBiogenic": "8,42769",
"fossilGhgEmissions": "8,42769",
"fossilCarbonContent": "0.0",
"biogenicCarbonContent": "0.0",
"characterizationFactors": "AR5",
"crossSectoralStandardsUsed": [ "GHG Protocol Product standard" ],
"productOrSectorSpecificRules": [],
"boundaryProcessesDescription": "SFC GLEC Framework-conforming (W2W CO2e emissions)",
"referencePeriodStart": "2021-01-01T00:00:00Z",
"referencePeriodEnd": "2022-01-01T00:00:00Z",
"secondaryEmissionFactorSources": [ { "name": "GLEC", "version": "3.0" } ],
"exemptedEmissionsPercent": 0.0,
"exemptedEmissionsDescription": "",
"packagingEmissionsIncluded": true,
"primaryDataShare": 56.85
},
"extensions": [
{
"specVersion": "2.0.0",
"dataSchema": "https://catalog.carbon-transparency.com/sfc-ileap/0.0.1/shipmentfootprint.json",
"data": {
"mass": "87",
"shipmentId": "1237890",
"tces": [
{
"tceId": "abcdef",
"prevTceIds": [],
"tocId": "truck-40t-euro5-de",
"shipmentId": "1237890",
"mass": "87",
"distance": {
"actual": "423"
},
"transportActivity": "3.6801",
"co2eWTW": "3.6801",
"co2eTTW": "3.2801"
},
{
"tceId": "ghijkl",
"prevTceIds": [ "abcdef" ],
"tocId": "operator-z-truck-89sdff",
"shipmentId": "1237890",
"mass": "87",
"distance": {
"actual": "321"
},
"transportActivity": "27.927",
"co2eWTW": "4.74759",
"co2eTTW": "4.272831"
}
]
}
}
]
}
</pre>
</div>
# Data Model # {#data-model}
The iLEAP data model of this chapter together with the data transactions ([[#txns]]) build on top of the [[!ISO14083|ISO 14083]] concepts of TOC, HOC, TCE, TC.
Additionally, the concept of transport activity data ([[#dt-tad|TAD]]) is added to facilitate reporting in case of missing data or limited emissions calculation capabilities from e.g. [=Transport Operators=].
Please, find more details on emissions calculation and the relantionship between the different concepts in the [[!GLEC]] Framework and [[!ISO14083]]).
The iLEAP Data Model is composed by five main data types: <{ShipmentFootprint}>, <{TCE}>, <{TOC}>,
<{HOC}>, and <{TAD}>.
<{ShipmentFootprint|ShipmentFootprints}> and <{TOC|TOCs}> can be exchanged independently as extensions to the PACT
Data Model ([[!PACTDX]]) (see [[!DATA-MODEL-EXTENSIONS]]) in a `ProductFootprint`.
<{TAD|TADs}> can be exchanged through a dedicated endpoint. These should only be used by [=Transport
Operators=] who cannot yet provide <{ShipmentFootprint|ShipmentFootprints}>, <{TOC|TOCs}>, nor <{HOC|HOCs}>.
## ShipmentFootprint ## {#dt-sf}
<dfn element>ShipmentFootprint</dfn> is a collection of 1
or more [=Transport Chain Elements=] (encoded as <{TCE|TCEs}>)
for a single [=shipment=] and from a single entity (a [=Transport Operator=] or a [=Transport Service Organizer=]).
By collecting 1 or more <{TCE|TCEs}> for a shipment from [=Transport Operators=] and [=Transport Service Organizer=],
a [=Transport Service User=] can construct the <{ShipmentFootprint}>. The <{ShipmentFootprint}> corresponds to the logistics emissions related to a full Transport Chain ([=TC=]).
To calculate a ShipmentFootprint, the [=Transport Service User=] MUST
- first receive <{TCE|TCEs}> from [=Transport Operators=] and [=Transport Service Organizers=], linked to the shipment ID for a single shipment in accordance with [[#dt-tce]],
OR calculate <{TCE|TCEs}> from <{TOC|TOCs}> or <{TAD|TADs}> from [=Transport Operators=] and [=Transport Service Organizers=].
- and then add up all <{TCE|TCEs}> that compose the full Transport Chain ([=TC=]) to derive the <{ShipmentFootprint}>.
### Data Attributes ### {#sf-attributes}
A <{ShipmentFootprint}> has the following properties:
<figure id="sf-properties-table" dfn-type="element-attr" dfn-for="ShipmentFootprint">
<table class="data">
<thead>
<tr>
<th>Property
<th>Type
<th>Req
<th>Specification
<tbody>
<tr>
<td><dfn>mass</dfn> : [=Decimal=]
<td>String
<td>M
<td>The mass of the good (SI Unit `kilograms`) and the packaging provided for transport by the [=Transport Service User=], excluding any additional packaging or handling equipment used by the Transport Operator or Transport Service Organizer
<tr>
<td><dfn>volume</dfn> : [=Decimal=]
<td>String
<td>O
<td>The volume of the freight (SI Unit `cubic metre (CBM)`) and any packaging provided by the [=Transport Service User=].
<tr>
<td><dfn>numberOfItems</dfn>
<td>String
<td>O
<td>The number of units the shipment, including the goods transported and any packaging provided by the [=Transport Service User=], is composed of.
Issue: <{ShipmentFootprint/numberOfItems}> is currently underspecified and needs to be re-visited / revised soon.
<tr>
<td><dfn>typeOfItems</dfn>
<td>String
<td>O
<td>The type of units the shipment, including the goods transported and any packaging provided by the [=Transport Service User=], is composed of. For example, boxes, pallets, bottles, etc.
Issue: <{ShipmentFootprint/typeOfItems}> is currently underspecified and need to be re-visited / revised soon.
<tr>
<td><dfn>shipmentId</dfn>
<td>String
<td>M
<td>The [=shipment id=] of the shipment related to this <{ShipmentFootprint}>
<tr>
<td><dfn>tces</dfn>
<td><{TCE}>[]
<td>M
<td>The non-empty array of [=TCEs=] relating to this shipment.
</table>
<figcaption>ShipmentFootprint properties</figcaption>
</figure>
## Transport Chain Element ( <dfn element>TCE</dfn> ) ## {#dt-tce}
The Data Type <{TCE}> models information related to a single [=Transport Chain Element=].
The data related to TCEs can be obtained from direct measurement (see [=Primary Data=]) or other measurements (see [=Secondary Data=]).
<{TCE|TCEs}> are typically calculated by [=Transport Operators=] and [=Transport Service Organizers=]. They are made available to [=Transport Service Users=] through
the <{ShipmentFootprint}> data type and the PACT Data Exchange Protocol. See [[#dt-sf]] and [[#pcf-mapping]] for details.
### Ordering of TCEs ### {#tce-ordering}
For reasons of transparency, traceability, auditability, and comprehensibility,
the recipients of TCE data ([=Transport Service User=] or [=Transport Service Organizer=]) SHOULD also receive the information
on the order in which the TCEs occurred during the transport of the shipment.
Order here means "happens-before" relationship between TCEs relative to other TCEs of the same <{ShipmentFootprint}>.
To facilitate this, the data model of TCEs includes the property <{TCE/prevTceIds}>.
If defined, <{TCE/prevTceIds}> MUST reference all the IDs (<{TCE/tceId}>) of the TCEs which happened *immediately* before the current TCE and <{ShipmentFootprint}>.
If the property is defined and the array is empty, the current TCE MUST be the first TCE of the shipment in relation to the <{ShipmentFootprint}>.
<div class=example>
A [=Transport Service User=] procured the shipment of 2 containers to Rotterdam through a [=Transport Service Organizer=]. The organizer then makes a
<{ShipmentFootprint}> available to the [=Transport Service User=], consisting of the following TCEs:
1. two TCEs with IDs `tce1234` and `tce567` for the first leg of the shipment, which is the transport of the 2 containers from the warehouse to the port.
For both TCEs, <{TCE/prevTceIds}> must equal `[]` (the empty array).
2. one TCE with ID `tce890` for the second leg of the shipment, which is the transport of the 2 containers from the port in Shanghai to the port of Rotterdam.
For this TCE, <{TCE/prevTceIds}> must equal `["tce1234", "tce567"]`.
3. And, last but not least, another TCE with ID `tceABC` for the hub operations at Rotterdam. For this TCE, <{TCE/prevTceIds}> must equal `["tce890"]`.
<figure>
<img src="diagrams/tce-ordering.svg" height="80%" width="80%" >
<figcaption>TCE happened-before relationship graph</figcaption>
</figure>
</div>
### Data Attributes ### {#tce-attributes}
The Data Type <{TCE}> has the following properties:
Note: The properties `tocId` and `hocId` are mutually exclusive, but one of them MUST be defined.
<figure id="tce-properties-table" dfn-type="element-attr" dfn-for="TCE">
<table class="data">
<thead>
<tr>
<th>Property
<th>Type
<th>Req
<th>Specification
<tbody>
<tr>
<td><dfn>tceId</dfn>
<td>String
<td>M
<td>The id of the [=Transport Chain Element=]
<tr>
<td><dfn>prevTceIds</dfn>
<td>String[]
<td>O
<td>
If defined, the <{TCE/tceId|tceIds}> of [=Transport Chain Element=] preceding the current TCE.
See [[#tce-ordering]] for more information.
<tr>
<td><dfn>tocId</dfn>
<td>String
<td>
<td>
If defined, the id of the [=TOC=] used for the calculation of this <{TCE}>.
Either <{TCE/tocId}> or <{TCE/hocId}> MUST be defined.
<tr>
<td><dfn>hocId</dfn>
<td>String
<td>
<td>
If defined, the id of the [=HOC=] used for the calculation of this <{TCE}>.
Either <{TCE/tocId}> or <{TCE/hocId}> MUST be defined.
<tr>
<td><dfn>shipmentId</dfn>
<td>String
<td>M
<td>The [=shipment id=] of the shipment related to this <{TCE}>
<tr>
<td><dfn>consignmentId</dfn>
<td>String
<td>O
<td>The [=consignment id=] of the consignment related to the shipment related to this <{TCE}>
<tr>
<td><dfn>mass</dfn> : [=Decimal=]
<td>String
<td>M
<td>The freight mass (SI derived Unit `kilograms`) and the packaging provided for transport by the Transport Service user, excluding any additional packaging or handling equipment used by the Transport Operator or Transport Service Organizer, in accordance with the [[!GLEC]] Framework.
<tr>
<td><dfn>packagingOrTrEqType</dfn>
<td><{PackagingOrTrEqType}>
<td>O
<td>Category of relevant packaging or transport equipment units utilized for the transport of the consignment. See data type <{PackagingOrTrEqType}> for further information.
<tr>
<td><dfn>packagingOrTrEqAmount</dfn>
<td>Number
<td>O
<td>Number of packaging or transport equipment units utilized to transport the related consignment by the [=Transport Operator=] or [=Transport Service Organizer=].
<tr>
<td><dfn>distance</dfn>
<td><{GLECDistance}>
<td>M
<td>The [=distance=] between the origin and the destination of the activity related to the TCE
<tr>
<td><dfn>origin</dfn>
<td><{Location}>
<td>O
<td>The origin of the activity related to the TCE
<tr>
<td><dfn>destination</dfn>
<td><{Location}>
<td>O
<td>The destination of the activity related to the TCE
<tr>
<td><dfn>transportActivity</dfn> : [=Decimal=]
<td>String
<td>M
<td>
The [=transport activity=] of the TCE (SI derived Unit `ton kilometers`)
<div class=example>
If the transport [=distance=] is `700` `kilometers` and the mass is `230` `kilograms`,
then the value of this property MUST be `161` (`(700 kilometers * 230 kilograms) / 1000`).
</div>
<tr>
<td><dfn>departureAt</dfn>
<td>String
<td>O
<td>
Timestamp of departure. The value MUST be a date and time string conforming to ISO 8601 with timezone UTC.
Note: the original data model defined this as the "date of loading"
<tr>
<td><dfn>arrivalAt</dfn>
<td>String
<td>O
<td>Timestamp of arrival. The value MUST be a date and time string conforming to ISO 8601 with timezone UTC.
<tr>
<td><dfn>flightNo</dfn>
<td>String
<td>O
<td>Identification no of the IATA flight number.
<tr>
<td><dfn>voyageNo</dfn>
<td>String
<td>O
<td>Identification no of a specific vessel conducting a specific route.
<tr>
<td><dfn>incoterms</dfn>
<td>String
<td>O
<td>
Incoterms are a set of internationally recognized rules defining the responsbilities of sellers and buyer in relation to the logistics activities between the parties. Unterstanding who pays for the shipment can help identify the Scope3 Category in which each party has to report their emissions.
If defined, the value of this property MUST be one of the following:
: EXW
:: Ex Works
: FCA
:: Free Carrier
: CPT
:: Carriage Paid to
: CIP
:: Carriage and Insurance Paid to
: DAP
:: Delivered at Place
: DPU
:: Delivered at Place Unloaded
: DDP
:: Delivered Duty Paid
: FAS
:: Free Alongside Ship
: FOB
:: Free on Board
: CFR
:: Cost and Freight
: CIF
:: Cost, Insurance and Freight
<tr>
<td><dfn>co2eWTW</dfn> : [=Decimal=]
<td>String
<td>M
<td>
GHG emissions released to atmosphere during the process of producing, storing,
processing and distributing an energy carrier for vehicle operation + GHG emissions
released to atmosphere as a result of vehicle operation.
The value MUST be calculated for the TCE with unit `kgCO2e`.
<tr>
<td><dfn>co2eTTW</dfn> : [=Decimal=]
<td>String
<td>M
<td>
GHG emissions released to atmosphere as a result of vehicle operation
The value MUST be calculated for the TCE with unit `kgCO2e`.
<tr>
<td><dfn>noxTTW</dfn> : [=Decimal=]
<td>String
<td>O
<td>
Nitrogen oxide released to atmosphere as a result of vehicle operation.
The value MUST be calculated for the TCE with unit `kg`.
<tr>
<td><dfn>soxTTW</dfn> : [=Decimal=]
<td>String
<td>O
<td>
Sulphur oxide released to atmosphere as a result of vehicle operation.
The value MUST be calculated for the TCE with unit `kg`.
<tr>
<td><dfn>ch4TTW</dfn> : [=Decimal=]
<td>String
<td>O
<td>
Methane released to atmosphere as a result of vehicle operation.
The value MUST be calculated for the TCE with unit `kg`.
<tr>
<td><dfn>pmTTW</dfn> : [=Decimal=]
<td>String
<td>O
<td>
Particulate matter (PM10 and PM2.5) released to atmosphere as a result of vehicle operation.
The value MUST be calculated for the TCE with unit `kg`.
</table>
<figcaption>Properties of data type <{TCE}></figcaption>
</figure>
## Transport Operation Category ( <dfn element>TOC</dfn> ) ## {#dt-toc}
The Data Type <{TOC}> contains transport operation category data.
The [=Transport Operator=] or [=Transport Service Organizer=] MUST calculate the <{TOC}> in accordance with the [[!GLEC]] Framework.
The [=Transport Operator=] or [=Transport Service Organizer=] CAN then make the <{TOC}> available through the PACT Network API as a `ProductFootprint` (see [[#pcf-mapping-toc]]).
Transport Operation Category data can be obtained from direct measurement
(see `primary data` definition of [[!ISO14083]]) or other measurements
(see `secondary data` definition of [[!ISO14083]]) such as modelled data
or default value.
### Data Attributes ### {#toc-attributes}
The Data Type <{TOC}> has the following properties:
<figure id="toc-properties-table" dfn-type="element-attr" dfn-for="TOC">
<table class="data">
<thead>
<tr>
<th>Property
<th>Type
<th>Req
<th>Specification
<tbody>
<tr>
<td><dfn>tocId</dfn>
<td>String
<td>M
<td>Unique id of the [=TOC=] relative to the [=Host system=].
<tr>
<td><dfn>isVerified</dfn>
<td>Boolean
<td>M
<td>Indicates that the truthfulness of the GHG emissions value and related variables has been confirmed by a Validation and Verification Body (VVB), as declared in a Verification Statement. The VVB must follow a widely recognized standard for their GHG verification services (example: the ISO or ISAE standards). Verification should use [[!ISO14083]] as audit criteria.
<tr>
<td><dfn>isAccredited</dfn>
<td>Boolean