version: 0.5.0
traceabilityEvents Domain
Data Model
Data Definitions
DigitalTraceabilityEvent
An array of Traceability Events as a VC
Property | Definition | Type |
---|---|---|
id | A unique identifier (URI) assigned to the product passport. May be a UUID | URI |
@context | A list of JSON-LD context URIs that define the semantic meaning of properties within the credential. | Text |
issuer | The organisation that is the issuer of this VC. Note that the "id" property MUST be a W3C DID. Other identifiers such as tax registration numbers can be listed in the "otherIdentifiers" property. | CredentialIssuer |
validFrom | The date and time from which the credential is valid. | DateTime |
validUntil | Unset | |
credentialSubject | VC subject is the transaction event structure | Event |
Event
This abstract event structure provides a common language to describe supply chain events such as shipments, inspections, manufacturing processes, etc. There are four types of EPCIS event but this is an abstract class representing all common properties of an EPCIS event.
Property | Definition | Type |
---|---|---|
id | The unique identifier of this event - SHOULD be a UUID | URI |
processType | A human readable name for industry specific process represented by this event. | Text |
eventTime | The ISO-8601 date time when the event occurred. | DateTime |
action | Code describing how an event relates to the life-cycle of the entity impacted by the event. | Code (actionCode) |
disposition | Disposition code describing the state of the item after the event. | Code (dispositionCode) |
bizStep | A business step code drawn from a controlled vocabulary. | Code (bizStepCode) |
bizLocation | A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data. | URI |
sensorElementList | An array (one for each sensor) of sensor device data sets associated with the event. | SensorElement |
TransformationEvent
Transformation represents an event in which input objects are fully or partially consumed and output objects are produced, such that any of the input objects may have contributed to all of the output objects - for example consuming bales of cotton to produce yarn.
Property | Definition | Type |
---|---|---|
id | The unique identifier of this event - SHOULD be a UUID | URI |
processType | A human readable name for industry specific process represented by this event. | Text |
eventTime | The ISO-8601 date time when the event occurred. | DateTime |
action | Code describing how an event relates to the life-cycle of the entity impacted by the event. | Code (actionCode) |
disposition | Disposition code describing the state of the item after the event. | Code (dispositionCode) |
bizStep | A business step code drawn from a controlled vocabulary. | Code (bizStepCode) |
bizLocation | A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data. | URI |
sensorElementList | An array (one for each sensor) of sensor device data sets associated with the event. | SensorElement |
outputEPCList | The list of uniquely identified items that are the output of this transformation event - for example a list of individually identified bolts of cloth that are the output of a weaving process. | Item |
inputEPCList | The list of uniquely identified items that are the input of this transformation event - for example a list of individually identified bobbins of yarn that are the input of a weaving process. | Item |
inputQuantityList | The quantified list of product classes that are the input of this transformation event - used when each item does not have a unique identity. for example the weight of raw cotton that is the input to a ginning process. | QuantityElement |
outputQuantityList | The quantified list of product classes that are the output of this transformation event - used when each item does not have a unique identity. for example a count of the bales of cleaned cotton that are the output of a ginning process. | QuantityElement |
ObjectEvent
Object represents an event that happened to one or more physical or digital objects - such as an inspection or certification of a product or shipment. The physical objects may be identified either as specific items (eg a unique consignment number) or as a quantified amount of a product class (eg 100Kg of cotton yarn)
Property | Definition | Type |
---|---|---|
id | The unique identifier of this event - SHOULD be a UUID | URI |
processType | A human readable name for industry specific process represented by this event. | Text |
eventTime | The ISO-8601 date time when the event occurred. | DateTime |
action | Code describing how an event relates to the life-cycle of the entity impacted by the event. | Code (actionCode) |
disposition | Disposition code describing the state of the item after the event. | Code (dispositionCode) |
bizStep | A business step code drawn from a controlled vocabulary. | Code (bizStepCode) |
bizLocation | A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data. | URI |
sensorElementList | An array (one for each sensor) of sensor device data sets associated with the event. | SensorElement |
epcList | A list of uniquely identified items (eg specific items serial numbers or tagged shipments / packages) that are the focus of this object event. | Item |
quantityList | A quantified list of product classes (eg GS1 GTINs) that are the focus of this object event | QuantityElement |
AggregationEvent
Aggregation represents an event that happened to one or more objects that are physically aggregated together (physically constrained to be in the same place at the same time, as when cases are aggregated to a pallet). This event is also used to represent de-aggregation (eg unpacking) when businessStepCode is unpacking.
Property | Definition | Type |
---|---|---|
id | The unique identifier of this event - SHOULD be a UUID | URI |
processType | A human readable name for industry specific process represented by this event. | Text |
eventTime | The ISO-8601 date time when the event occurred. | DateTime |
action | Code describing how an event relates to the life-cycle of the entity impacted by the event. | Code (actionCode) |
disposition | Disposition code describing the state of the item after the event. | Code (dispositionCode) |
bizStep | A business step code drawn from a controlled vocabulary. | Code (bizStepCode) |
bizLocation | A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data. | URI |
sensorElementList | An array (one for each sensor) of sensor device data sets associated with the event. | SensorElement |
parentEPC | The unique item identifier that is the result of this aggregation. Typically a packaging ID used in shipments that represents a box/ pallet / container of contained items. | Item |
childEPCList | The list of child items that have been aggregated into the parent (or dis-aggregated from the parent). Maybe a list of package references (eg boxes on a pallet) or may be individual items (eg products in a box). | Item |
childQuantityList | List of quantified product classes that have been aggregated into the parent. Used when the child items do not have unique identifiers (eg 100 Kg of cotton bales) | QuantityElement |
TransactionEvent
Transaction represents an event in which one or more objects become associated or disassociated with one or more identified business transactions - such as the purchase / shipment of goods between buyer and seller.
Property | Definition | Type |
---|---|---|
id | The unique identifier of this event - SHOULD be a UUID | URI |
processType | A human readable name for industry specific process represented by this event. | Text |
eventTime | The ISO-8601 date time when the event occurred. | DateTime |
action | Code describing how an event relates to the life-cycle of the entity impacted by the event. | Code (actionCode) |
disposition | Disposition code describing the state of the item after the event. | Code (dispositionCode) |
bizStep | A business step code drawn from a controlled vocabulary. | Code (bizStepCode) |
bizLocation | A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data. | URI |
sensorElementList | An array (one for each sensor) of sensor device data sets associated with the event. | SensorElement |
sourcePartyId | The source party for this supply chain transaction - typically the seller party | URI |
destinationPartyId | The destination party for this supply chain transaction - typically the buyer party. | URI |
bizTransaction | The document type representing the trade transaction drawn from the business transaction type vocabulary. | Code (documentTypeCode) |
epcList | The list of uniquely identified trade items included in this supply chain transaction. | Item |
quantityList | List of quantified product classes that are included in this transaction. Used when the trade items do not have unique identifiers (eg 100 reels of yarn) | QuantityElement |
AssociationEvent
The association event represents the assembly of child sub-components to create a parent assembled item. For example a desktop computer assembled from power supply, hard drive, and motherboard. The association event is very similar in structure to the aggregation event but is used for physical assembly. An association event may represent a bill of materials used to assemble a product whilst an aggregation event may represent a packing list or items for transport.
Property | Definition | Type |
---|---|---|
id | The unique identifier of this event - SHOULD be a UUID | URI |
processType | A human readable name for industry specific process represented by this event. | Text |
eventTime | The ISO-8601 date time when the event occurred. | DateTime |
action | Code describing how an event relates to the life-cycle of the entity impacted by the event. | Code (actionCode) |
disposition | Disposition code describing the state of the item after the event. | Code (dispositionCode) |
bizStep | A business step code drawn from a controlled vocabulary. | Code (bizStepCode) |
bizLocation | A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data. | URI |
sensorElementList | An array (one for each sensor) of sensor device data sets associated with the event. | SensorElement |
parentEPC | The unique item identifier that is the parent of this association. Typically an assembled product ID such as a desktop computer that is built from the associated child components. | Item |
childEPCList | The list of child items that have been assembled to create the parent - for example the power supply or hard drive components of a desktop computer. | Item |
childQuantityList | List of quantified product classes that have been assembled into the parent. Used when the child items do not have unique identifiers (eg brackets and screws used in the assembly of a desktop computer) | QuantityElement |
QuantityElement
The quantity element is used to define the quantity (eg 100 kg of a product class. Used when serialised items are not applicable.
Property | Definition | Type |
---|---|---|
productId | THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product. | URI |
productName | The registered name of the product within the identifier scheme. | Text |
quantity | The numeric quantity of the product class (eg 100 kg of cotton) | Numeric |
uom | The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist. | Code (UOM) |
Item
A specific serialised trade item which is an instance of a more generic product.
Property | Definition | Type |
---|---|---|
id | The globally unique ID of the product as a URI. Ideally as a resolvable URL according to ISO 18975. | URI |
name | The name of the product class to which the product item belongs. | Text |
SensorElement
A SensorElement is used to carry data related to an event that is captured one sensor such as an IoT device. Include one sensor property and an array of sensor data values.
Property | Definition | Type |
---|---|---|
sensorMetadata | Data that describes the physical sensor that recorded the sensor data set. | Sensor |
sensorReport | A list of sensor readings from the given sensor relevant to the traceability event context. | SensorData |
sensorIntegrityProof | An optional reference to a verifiable credential signed by the sensor device or device manufacturer that contains the digitally signed raw data associated with this sensor report. | URI |
Sensor
A physical sensor that records a sensor data set.
Property | Definition | Type |
---|---|---|
device | The device Identifier for the sensor as a URI (typically an EPC) | Item |
dataProcessingMethod | The data processing method used by the sensor - should reference a documented standard criteria as a URI | URI |
SensorData
A data point read by a sensor.
Property | Definition | Type |
---|---|---|
time | the timestamp at which the sensor reading was made. | DateTime |
sensorType | the measurement type of the sensor reading, as a URI reference to a measurement method specification. | URI |
value | the sensor reading | Numeric |
uom | the unit of measure for the sensor reading, drawn from UNECE rec20 code list. | Code (UOM) |
CredentialIssuer
From unece.untp-core
The issuer party (person or organisation) of a verifiable credential.
Property | Definition | Type |
---|---|---|
id | The W3C DID of the issuer - should be a did:web or did:tdw | URI |
name | The name of the issuer person or organisation | Text |
otherIdentifier | An optional list of other registered identifiers for this credential issuer | Identifier |
Identifier
From unece.untp-core
The ID and Name of an identified entity such as a product, facility, party, standard, etc. If the identifier is a W3C DID then the corresponding DID document SHOULD include a serviceEndpoint of type "IdentityResolver". If the identifier is not a W3C DID then the id property SHOULD be an identity resolver URL.
Property | Definition | Type |
---|---|---|
id | The globally unique ID of the entity as a resolvable URL according to ISO 18975. ExamplesProduct - id.gs1.org/01/09520123456788/21/12345 Party - abr.business.gov.au/ABN/View?abn=90664869327. Facility - did:web:facilities.example-company.com:123. | URI |
name | The registered name of the entity within the identifier scheme. Examples: product - EV battery 300Ah, Party - Sample Company Pty Ltd, Facility - Green Acres battery factory | Text |
registeredId | The registration number (alphanumeric) of the entity within the register. Unique within the register. | Text |
idScheme | The identifier scheme. Examples : Product - id.gs1.org/01, Party - business.gov.au/abn, Facility - did:web:facilities.acme.com. | IdentifierScheme |
IdentifierScheme
From unece.untp-core
An identifier registration scheme for products, facilities, or organisations. Typically operated by a state, national or global authority.
Property | Definition | Type |
---|---|---|
id | The globally unique identifier of the registration scheme. The scheme should be registered and discoverable from vocabulary.uncefact.org/identifierSchemes | URI |
name | The name of the identifier scheme. | Text |
Code Tables
actionCode
The Action type says how an event relates to the lifecycle of the entity being described. For example, AggregationEvent is used to capture events related to aggregations of objects, such as cases aggregated to a pallet. Throughout its life, the pallet load participates in many business process steps, each of which may generate an EPCIS event. The action field of each event says how the aggregation itself has changed during the event: have objects been added to the aggregation, have objects been removed from the aggregation, or has the aggregation simply been observed without change to its membership? The action is independent of the bizStep (of type BusinessStepID) which identifies the specific business process step in which the action took place.
Value | Name | Description |
---|---|---|
observe | Observe | The entity in question has not been changed. |
add | Add | The entity in question has been created or added to. |
delete | Delete | The entity in question has been removed from or destroyed altogether. |
dispositionCode
Disposition code is a vocabulary whose elements denote a business state of an object. An example is a code that denotes “recalled". The disposition field of an event specifies the business condition of the events objects, subsequent to the event. The disposition is assumed to hold true until another event indicates a change of disposition. Intervening events that do not specify a disposition field have no effect on the presumed disposition of the object.
Code values for this table can be found here:
https://ref.gs1.org/cbv/Disp
bizStepCode
BusinessStep is a vocabulary whose elements denote steps in business processes. An example is an identifier that denotes “shipping.” The business step field of an event specifies the business context of an event: what business process step was taking place that caused the event to be captured?
Code values for this table can be found here:
https://ref.gs1.org/cbv/BizStep
UOM
UNECE Recommendation 20 Unit of Measure code list.
Code values for this table can be found here:
https://vocabulary.uncefact.org/UnitMeasureCode
documentTypeCode
Document type codes for trade and logistics documents supporting the event such as purchase order, invoice, shipping notification, bill of lading, etc.
Code values for this table can be found here:
https://ref.gs1.org/cbv/BTT