diff --git a/.gitignore b/.gitignore
index d72a9634..1992ebaa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,6 +35,7 @@ yarn-error.log
testem.log
/typings
.env
+minio_data/*
# Yarn
.yarn/*
diff --git a/app-config.acrs.json b/app-config.acrs.json
new file mode 100644
index 00000000..7e5333a9
--- /dev/null
+++ b/app-config.acrs.json
@@ -0,0 +1,2865 @@
+{
+ "name": "ACRS",
+ "styles": {
+ "primaryColor": "rgb(35, 138, 186)",
+ "secondaryColor": "black",
+ "tertiaryColor": "black"
+ },
+ "generalFeatures": [
+ {
+ "name": "General features",
+ "type": "",
+ "styles": {
+ "primaryColor": "rgb(35, 138, 186)",
+ "secondaryColor": "black",
+ "tertiaryColor": "black"
+ },
+ "features": []
+ }
+ ],
+ "apps": [
+ {
+ "name": "Top Line Steel",
+ "type": "producer",
+ "assets": {
+ "logo": "https://storage.googleapis.com/acrs-assets/logos/Top-Line-Steel-Logo.jpg",
+ "brandTitle": "Top Line Steel",
+ "passportVC": "",
+ "transactionEventVC": ""
+ },
+ "styles": {
+ "primaryColor": "#b22166",
+ "secondaryColor": "#391561",
+ "tertiaryColor": "#ffffff"
+ },
+ "features": [
+ {
+ "name": "Issue DPP",
+ "id": "produce_product",
+ "components": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "Product": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Classification": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "Classification scheme - eg https://unstats.un.org/unsd/classifications/Econ/cpc "
+ },
+ "classifierValue": {
+ "type": "string",
+ "description": "classifier value within the scheme - eg \"01211\" in UN CPC"
+ },
+ "classifierName": {
+ "type": "string",
+ "description": "Name of the classifier - eg \"Asparagus\" for code \"01211\" in UNCPC"
+ },
+ "classifierURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "Linked data URL to a web vocabulary entery for this classificaiton code. When this property is provided, the scheme, value, and name properties of the classifer are not required. eg https://vocabulary.uncefact.org/unlocode#AUBNE represensign the port of Brisbane in the UN/LOCODE classification scheme."
+ }
+ },
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility."
+ },
+ "BinaryFile": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fileHash": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "description": "The MD5 hash of the file."
+ },
+ "fileLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The location of the evidence file."
+ },
+ "fileType": {
+ "type": "string",
+ "x-external-enumeration": "https://mimetype.io/all-types",
+ "description": "The type of file, represented as a MIME type.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://mimetype.io/all-types\n "
+ }
+ },
+ "description": "A file representing a data snapshot that is used to infomr the conformity assessment."
+ },
+ "Dimension": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "weight": {
+ "$ref": "#/$defs/Measure",
+ "description": "the weight of the product"
+ },
+ "length": {
+ "$ref": "#/$defs/Measure",
+ "description": "The length of the product or packaging"
+ },
+ "width": {
+ "$ref": "#/$defs/Measure",
+ "description": "The width of the product or packaging"
+ },
+ "height": {
+ "$ref": "#/$defs/Measure",
+ "description": "The height of the product or packaging"
+ },
+ "volume": {
+ "$ref": "#/$defs/Measure",
+ "description": "The displacement volume of the product."
+ }
+ },
+ "description": "Overall (length, width, height) dimensions and weight/volume of an item."
+ },
+ "Measure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "number",
+ "description": "The numeric value of the measure"
+ },
+ "unit": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "Unit of measure drawn from the UNECE rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG)."
+ },
+ "Characteristic": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {},
+ "description": "Product specific characteristics. This class is an extension point for industry specific product characteristics or performance information such as clothing size or battery capacity."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Facility": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A unique identifier (URI) assigned to the facility. (Link Resolver - GS1 GLN?)"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the facility, represented as a text string."
+ },
+ "location": {
+ "type": "string",
+ "format": "uri",
+ "description": ""
+ },
+ "operatedBy": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity responsible for operating the facility."
+ }
+ },
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
+ },
+ "Material": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "originCountry": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId",
+ "description": "A ISO 3166-1 code representing the country of origin of the component or ingredient.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId\n "
+ },
+ "materialType": {
+ "$ref": "#/$defs/Classification",
+ "description": "The type of this material - as a value drawn from a controlled vocabulary eg textileexchange.org/materials/rm01014 - representing organic cotton."
+ },
+ "massFraction": {
+ "type": "number",
+ "description": "A numeric value representing the mass fraction of the product represented by this material. The sum of all mass fraction values for a given passport should be 100."
+ },
+ "recycled": {
+ "type": "boolean",
+ "description": "Indicator is true if this material input is from a recycled source."
+ },
+ "hazardous": {
+ "type": "boolean",
+ "description": "Indicates whether this material is hazardous. If true then "
+ }
+ },
+ "description": "The material class encapsulates details about the origin or source of raw materials in a product, including the country of origin and the mass fraction."
+ },
+ "Claim": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "topic": {
+ "type": "string",
+ "enum": [
+ "environment.energy",
+ "environment.emissions",
+ "environment.water",
+ "environment.waste",
+ "environment.deforestation",
+ "environment.biodiversity",
+ "circularity.content",
+ "circularity.design",
+ "social.labour",
+ "social.rights",
+ "social.community",
+ "social.safety",
+ "governance.ethics",
+ "governance.compliance",
+ "governance.transparency"
+ ],
+ "example": "environment.energy",
+ "description": "A code representing the topic of the sustainability claim. E.g. environment.deforestation, environment.ghg-emission-intensity, etc.. Drawn from a standard code list. "
+ },
+ "standardOrRegulation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The standard or regulation against which this conformity claim is made. Expressed as a URI and should match a value in the UN catalogue of reference vocabularies. "
+ },
+ "criteriaReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the specific criteria within the standard or regulation against which this claim is made."
+ },
+ "claimedValues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Metric"
+ },
+ "description": "One or more actual measures supporting the claim. For example for GHG emissions there may be a metric for total emissions intensity and also a metric for amount of offsets included."
+ },
+ "benchmarkValue": {
+ "$ref": "#/$defs/Metric",
+ "description": "A benchmark value against which the claimed value can be assessed. THis could be a value specified by a standard or regulation or could be an industry benchmark."
+ },
+ "benchmarkReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A refernce to evidence to support the benchmark value."
+ },
+ "conformance": {
+ "type": "boolean",
+ "description": "and indicator (boolean) that expresses whether or not this product has achieved compliance against the criteria. for example, if the topic is environment.deforstation and the criteria is EU.2023.1115 then the product is conformant if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."
+ },
+ "conformityEvidence": {
+ "$ref": "#/$defs/Evidence",
+ "description": "A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."
+ }
+ },
+ "description": "The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."
+ },
+ "Metric": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A human readable name for this metric"
+ },
+ "value": {
+ "$ref": "#/$defs/Measure",
+ "description": "A numeric value representing the measurement or evaluation outcome for the claim."
+ },
+ "accuracy": {
+ "type": "number",
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
+ }
+ },
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of emasure) / value (ie the actual numeric value) pairs. "
+ },
+ "TraceabilityEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "eventReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the detailed information about the EPCIS event. Most likely in the form of a verifiable credential."
+ },
+ "eventType": {
+ "type": "string",
+ "enum": ["aggregation", "transformation", "object", "transaction", "association"],
+ "example": "aggregation",
+ "description": "A code representing the type of EPCIS event. ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent, ObjectEvent."
+ }
+ },
+ "description": "The TraceabilityEvent class represents a specific EPCIS event in the traceability chain of a product, including details about the event type and reference."
+ }
+ }
+ },
+ "data": {
+ "productIdentifier": [
+ {
+ "scheme": "https://identifier.example.org/steel",
+ "identifierValue": "0109359502000010",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/steel/12345/binding"
+ }
+ }
+ ],
+ "batchIdentifier": [
+ {
+ "scheme": "https://batch.example.org",
+ "identifierValue": "BATCH-67890",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://batch.example.org/67890/binding"
+ }
+ }
+ ],
+ "itemIdentifier": [
+ {
+ "scheme": "https://item.example.org",
+ "identifierValue": "ITEM-112233",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://item.example.org/112233/binding"
+ }
+ }
+ ],
+ "classification": [
+ {
+ "scheme": "https://unstats.un.org/unsd/classifications/Econ/cpc",
+ "classifierValue": "41231",
+ "classifierName": "Steel Rods",
+ "classifierURL": "https://vocabulary.uncefact.org/unlocode#AUSYD"
+ }
+ ],
+ "modelName": "Steel Model X",
+ "image": "data:image/webp;base64,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",
+ "description": "High-quality steel rods for construction.",
+ "furtherInformation": "https://example.org/products/steel_model_x",
+ "manufacturedDate": "2024-05-20",
+ "dimension": {
+ "weight": { "value": 1500, "unit": "KG" },
+ "length": { "value": 6, "unit": "MTR" },
+ "width": { "value": 0.1, "unit": "MTR" },
+ "height": { "value": 0.1, "unit": "MTR" },
+ "volume": { "value": 0.6, "unit": "CMT" }
+ },
+ "characteristic": {},
+ "manufacturer": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Steel Manufacturer Inc.",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-56789",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/56789/binding"
+ }
+ }
+ ]
+ },
+ "manufacturedAt": {
+ "identifier": [
+ {
+ "scheme": "https://identifier.example.org/facility",
+ "identifierValue": "FAC-1234",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/facility/1234/binding"
+ }
+ }
+ ],
+ "name": "Main Steel Plant",
+ "location": "https://plus.codes/4RRG6RJX+W3",
+ "operatedBy": {
+ "id": "did:example:567890abcdefghi",
+ "name": "Steel Manufacturer Inc.",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-56789",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/56789/binding"
+ }
+ }
+ ]
+ }
+ },
+ "materialsProvenance": [
+ {
+ "originCountry": "AU",
+ "materialType": {
+ "scheme": "https://textileexchange.org/materials",
+ "classifierValue": "STEEL",
+ "classifierName": "Carbon Steel"
+ },
+ "massFraction": 100,
+ "recycled": false,
+ "hazardous": false
+ }
+ ],
+ "conformityClaim": [
+ {
+ "topic": "Structural Steel Certification",
+ "standardOrRegulation": "https://example.org/standards/environment",
+ "criteriaReference": "https://example.org/standards/environment/criteria",
+ "claimedValues": [],
+ "benchmarkValue": {},
+ "benchmarkReference": "https://example.org/benchmarks/environment",
+ "conformance": true,
+ "conformityEvidence": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://acrs.pyx.io/verify?q=%7B%22payload%22%3A%7B%22uri%22%3A%22https%3A%2F%2Fstorage.googleapis.com%2Fverifiable-credentials%2Fconformity-credentials%2Ftop-line-steel-dcc.json%22%7D%7D"
+ }
+ }
+ ],
+ "recyclingInstruction": "https://example.org/recycling/steel_model_x"
+ },
+ "className": "json-form",
+ "style": {
+ "margin": "40px auto",
+ "paddingTop": "40px",
+ "width": "80%"
+ }
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {}
+ }
+ ],
+ "services": [
+ {
+ "name": "processDPP",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app"
+ },
+ "dpp": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],
+ "renderTemplate": [
+ {
+ "template": "
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["VerifiableCredential", "DigitalProductPassport"],
+ "dlrLinkTitle": "Steel Passport",
+ "dlrIdentificationKeyNamespace": "gs1",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/productIdentifier/0/identifierValue"
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "topLineSteel_dpps",
+ "objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Sale Steel",
+ "id": "transaction_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "topLineSteel_dpps",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "TransactionEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Identifier" },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Item": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "itemID": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "format": "uri",
+ "description": "The globally unique identifier (eg GS1 GTIN or digital link) of the product item. "
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the product class to which the product item belongs. "
+ }
+ },
+ "description": "A specific trade item /product code which could be either a product serial number or a consignment identifier "
+ },
+ "QuantityElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "epcClass": {
+ "type": "string",
+ "format": "uri",
+ "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product."
+ },
+ "quantity": {
+ "type": "number",
+ "description": "The numeric quantity of the product class (eg 100 kg of cotton)"
+ },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The quantity element is used to define the quantities (eg 100), units of measure (eg Kg) and product class (eg GTIN or other class identifier) of products that are inputs or outputs or the subject of supply chain events. ",
+ "required": ["quantity"]
+ },
+ "TradeDocument": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BTT",
+ "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n "
+ },
+ "identifier": {
+ "type": "string",
+ "description": "The identifier of the trade transaction document - eg an invoice number or bill of lading number. Must be unique for a given source party"
+ },
+ "documentURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the referenced trade document. For integrity reasons, it is recommended (but not required) that the documentURL is a hashlink (https://w3c-ccg.github.io/hashlink/) so that if the document the URL is changed then the hash verification will fail."
+ }
+ },
+ "description": "A trade transaction between two parties such as an invoice, purchase order, or shipping notification."
+ },
+ "SensorElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sensorMetadata": {
+ "$ref": "#/$defs/Sensor",
+ "description": "Data that describes the physical sensor that recorded the sensor data set."
+ },
+ "sensorReport": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorData" },
+ "description": "A list of sensor readings from the given sensor relevant to the traceability event context."
+ },
+ "sensorIntegrityProof": {
+ "type": "string",
+ "format": "uri",
+ "description": "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."
+ }
+ },
+ "description": "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."
+ },
+ "Sensor": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "device": {
+ "$ref": "#/$defs/Item",
+ "description": "The device Identifier for the sensor as a URI (typically an EPC)"
+ },
+ "dataProcessingMethod": {
+ "type": "string",
+ "format": "uri",
+ "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI"
+ }
+ },
+ "description": "A physical sensor that records a sensor data set."
+ },
+ "SensorData": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp at which the sensor reading was made."
+ },
+ "type": {
+ "type": "string",
+ "format": "uri",
+ "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification."
+ },
+ "value": { "type": "number", "description": "the sensor reading" },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "the unit of measure for the sensor reading\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "A data point read by a sensor."
+ }
+ }
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/eventID"
+ },
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/epcList/index/name"
+ },
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/epcList/index/itemID"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/action",
+ "data": "observe"
+ },
+ {
+ "path": "/disposition",
+ "data": "https://ref.gs1.org/cbv/Disp/in_transit"
+ },
+ {
+ "path": "/bizStep",
+ "data": "https://ref.gs1.org/cbv/BizStep/receiving"
+ },
+ {
+ "path": "/bizLocation",
+ "data": "https://example.com/warehouse"
+ },
+ {
+ "path": "/sourceParty",
+ "data": {
+ "id": "did:web:api.acrs.pyx.io:top-line-steel",
+ "name": "Top Line Steel",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/source",
+ "identifierValue": "SRC123456",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/source_evidence"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "path": "/destinationParty",
+ "data": {
+ "id": "did:web:api.acrs.pyx.io:steel-processor",
+ "name": "Steel Processor",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/destination",
+ "identifierValue": "DST7891011",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/destination_evidence"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "generationFields": [
+ {
+ "path": "/eventID",
+ "handler": "generateIdWithSerialNumber"
+ },
+ {
+ "path": "/eventTime",
+ "handler": "generateCurrentDatetime"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {
+ "includeDownload": true,
+ "downloadFileName": "transaction"
+ }
+ }
+ ],
+ "services": [
+ {
+ "name": "processTransactionEvent",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app"
+ },
+ "epcisTransactionEvent": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
+ "renderTemplate": [
+ {
+ "template": "Transaction Event
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["TransactionEventCredential"],
+ "dlrLinkTitle": "Transaction Event",
+ "dlrIdentificationKeyNamespace": "gs1",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/eventID",
+ "localStorageParams": { "storageKey": "topLineSteel_dpps", "keyPath": "/epcList/index/name" }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Quality Steel",
+ "type": "producer",
+ "assets": {
+ "logo": "https://storage.googleapis.com/acrs-assets/logos/Quality-Steel-Logo.png",
+ "brandTitle": "Quality Steel",
+ "passportVC": "",
+ "transactionEventVC": ""
+ },
+ "styles": {
+ "primaryColor": "#000000",
+ "secondaryColor": "#391561",
+ "tertiaryColor": "#ffffff"
+ },
+ "features": [
+ {
+ "name": "Issue DPP",
+ "id": "produce_product",
+ "components": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "Product": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Classification": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "Classification scheme - eg https://unstats.un.org/unsd/classifications/Econ/cpc "
+ },
+ "classifierValue": {
+ "type": "string",
+ "description": "classifier value within the scheme - eg \"01211\" in UN CPC"
+ },
+ "classifierName": {
+ "type": "string",
+ "description": "Name of the classifier - eg \"Asparagus\" for code \"01211\" in UNCPC"
+ },
+ "classifierURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "Linked data URL to a web vocabulary entery for this classificaiton code. When this property is provided, the scheme, value, and name properties of the classifer are not required. eg https://vocabulary.uncefact.org/unlocode#AUBNE represensign the port of Brisbane in the UN/LOCODE classification scheme."
+ }
+ },
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility."
+ },
+ "BinaryFile": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fileHash": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "description": "The MD5 hash of the file."
+ },
+ "fileLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The location of the evidence file."
+ },
+ "fileType": {
+ "type": "string",
+ "x-external-enumeration": "https://mimetype.io/all-types",
+ "description": "The type of file, represented as a MIME type.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://mimetype.io/all-types\n "
+ }
+ },
+ "description": "A file representing a data snapshot that is used to infomr the conformity assessment."
+ },
+ "Dimension": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "weight": {
+ "$ref": "#/$defs/Measure",
+ "description": "the weight of the product"
+ },
+ "length": {
+ "$ref": "#/$defs/Measure",
+ "description": "The length of the product or packaging"
+ },
+ "width": {
+ "$ref": "#/$defs/Measure",
+ "description": "The width of the product or packaging"
+ },
+ "height": {
+ "$ref": "#/$defs/Measure",
+ "description": "The height of the product or packaging"
+ },
+ "volume": {
+ "$ref": "#/$defs/Measure",
+ "description": "The displacement volume of the product."
+ }
+ },
+ "description": "Overall (length, width, height) dimensions and weight/volume of an item."
+ },
+ "Measure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "number",
+ "description": "The numeric value of the measure"
+ },
+ "unit": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "Unit of measure drawn from the UNECE rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG)."
+ },
+ "Characteristic": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {},
+ "description": "Product specific characteristics. This class is an extension point for industry specific product characteristics or performance information such as clothing size or battery capacity."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Facility": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A unique identifier (URI) assigned to the facility. (Link Resolver - GS1 GLN?)"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the facility, represented as a text string."
+ },
+ "location": {
+ "type": "string",
+ "format": "uri",
+ "description": ""
+ },
+ "operatedBy": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity responsible for operating the facility."
+ }
+ },
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
+ },
+ "Material": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "originCountry": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId",
+ "description": "A ISO 3166-1 code representing the country of origin of the component or ingredient.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId\n "
+ },
+ "materialType": {
+ "$ref": "#/$defs/Classification",
+ "description": "The type of this material - as a value drawn from a controlled vocabulary eg textileexchange.org/materials/rm01014 - representing organic cotton."
+ },
+ "massFraction": {
+ "type": "number",
+ "description": "A numeric value representing the mass fraction of the product represented by this material. The sum of all mass fraction values for a given passport should be 100."
+ },
+ "recycled": {
+ "type": "boolean",
+ "description": "Indicator is true if this material input is from a recycled source."
+ },
+ "hazardous": {
+ "type": "boolean",
+ "description": "Indicates whether this material is hazardous. If true then "
+ }
+ },
+ "description": "The material class encapsulates details about the origin or source of raw materials in a product, including the country of origin and the mass fraction."
+ },
+ "Claim": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "topic": {
+ "type": "string",
+ "enum": [
+ "environment.energy",
+ "environment.emissions",
+ "environment.water",
+ "environment.waste",
+ "environment.deforestation",
+ "environment.biodiversity",
+ "circularity.content",
+ "circularity.design",
+ "social.labour",
+ "social.rights",
+ "social.community",
+ "social.safety",
+ "governance.ethics",
+ "governance.compliance",
+ "governance.transparency"
+ ],
+ "example": "environment.energy",
+ "description": "A code representing the topic of the sustainability claim. E.g. environment.deforestation, environment.ghg-emission-intensity, etc.. Drawn from a standard code list. "
+ },
+ "standardOrRegulation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The standard or regulation against which this conformity claim is made. Expressed as a URI and should match a value in the UN catalogue of reference vocabularies. "
+ },
+ "criteriaReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the specific criteria within the standard or regulation against which this claim is made."
+ },
+ "claimedValues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Metric"
+ },
+ "description": "One or more actual measures supporting the claim. For example for GHG emissions there may be a metric for total emissions intensity and also a metric for amount of offsets included."
+ },
+ "benchmarkValue": {
+ "$ref": "#/$defs/Metric",
+ "description": "A benchmark value against which the claimed value can be assessed. THis could be a value specified by a standard or regulation or could be an industry benchmark."
+ },
+ "benchmarkReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A refernce to evidence to support the benchmark value."
+ },
+ "conformance": {
+ "type": "boolean",
+ "description": "and indicator (boolean) that expresses whether or not this product has achieved compliance against the criteria. for example, if the topic is environment.deforstation and the criteria is EU.2023.1115 then the product is conformant if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."
+ },
+ "conformityEvidence": {
+ "$ref": "#/$defs/Evidence",
+ "description": "A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."
+ }
+ },
+ "description": "The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."
+ },
+ "Metric": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A human readable name for this metric"
+ },
+ "value": {
+ "$ref": "#/$defs/Measure",
+ "description": "A numeric value representing the measurement or evaluation outcome for the claim."
+ },
+ "accuracy": {
+ "type": "number",
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
+ }
+ },
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of emasure) / value (ie the actual numeric value) pairs. "
+ },
+ "TraceabilityEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "eventReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the detailed information about the EPCIS event. Most likely in the form of a verifiable credential."
+ },
+ "eventType": {
+ "type": "string",
+ "enum": ["aggregation", "transformation", "object", "transaction", "association"],
+ "example": "aggregation",
+ "description": "A code representing the type of EPCIS event. ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent, ObjectEvent."
+ }
+ },
+ "description": "The TraceabilityEvent class represents a specific EPCIS event in the traceability chain of a product, including details about the event type and reference."
+ }
+ }
+ },
+ "data": {
+ "productIdentifier": [
+ {
+ "scheme": "https://identifier.example.org/steel",
+ "identifierValue": "0109359502000041",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/steel/67890/binding"
+ }
+ }
+ ],
+ "batchIdentifier": [
+ {
+ "scheme": "https://batch.example.org",
+ "identifierValue": "BATCH-54321",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://batch.example.org/54321/binding"
+ }
+ }
+ ],
+ "itemIdentifier": [
+ {
+ "scheme": "https://item.example.org",
+ "identifierValue": "ITEM-445566",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://item.example.org/445566/binding"
+ }
+ }
+ ],
+ "classification": [
+ {
+ "scheme": "https://unstats.un.org/unsd/classifications/Econ/cpc",
+ "classifierValue": "41232",
+ "classifierName": "Steel Coil",
+ "classifierURL": "https://vocabulary.uncefact.org/unlocode#GBLON"
+ }
+ ],
+ "modelName": "Steel Model Y",
+ "image": "data:image/octet-stream;base64,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IjIwMjEtMDQtMDZUMTY6MTQ6MDYrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA0LTA2VDE2OjE0OjA2KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NGVmMjFlZjgtYTk2Ny04OTQ0LWI5MGYtOTMxM2Y3MTNiYmU4IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTZlOWU4ZjUtYTA1Zi1kNTQzLTg1ZGItMmVkYTQ2MTA5ZWU5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MzVmZWQzZTgtZTZhNC00MzQ3LWEwOGQtOTFiZjA0ZWJhNTA0IiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNWZlZDNlOC1lNmE0LTQzNDctYTA4ZC05MWJmMDRlYmE1MDQiIHN0RXZ0OndoZW49IjIwMjEtMDQtMDZUMTY6MTM6NTgrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YTAxZjdmNzYtMzBkZi1jYjRjLWIxM2UtOTUwMjllYTJlMjYzIiBzdEV2dDp3aGVuPSIyMDIxLTA0LTA2VDE2OjE0OjA2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvanBlZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NGVmMjFlZjgtYTk2Ny04OTQ0LWI5MGYtOTMxM2Y3MTNiYmU4IiBzdEV2dDp3aGVuPSIyMDIxLTA0LTA2VDE2OjE0OjA2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmEwMWY3Zjc2LTMwZGYtY2I0Yy1iMTNlLTk1MDI5ZWEyZTI2MyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozNWZlZDNlOC1lNmE0LTQzNDctYTA4ZC05MWJmMDRlYmE1MDQiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNWZlZDNlOC1lNmE0LTQzNDctYTA4ZC05MWJmMDRlYmE1MDQiLz4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+RDYyNTZGMzU5MERGRjIxMzAxNUZFNjkwOUQ2MTc5MzQ8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pg==",
+ "description": "Steel Coil for construction and infrastructure projects.",
+ "furtherInformation": "https://example.org/products/steel_model_y",
+ "manufacturedDate": "2024-06-01",
+ "dimension": {
+ "weight": { "value": 2500, "unit": "KG" },
+ "length": { "value": 100, "unit": "MTR" },
+ "width": { "value": 1, "unit": "MTR" },
+ "height": { "value": 0.005, "unit": "MTR" },
+ "volume": { "value": 1.8, "unit": "CMT" }
+ },
+ "characteristic": {},
+ "manufacturer": {
+ "id": "did:example:abcdef1234567890",
+ "name": "Global Steel Co.",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ },
+ "manufacturedAt": {
+ "identifier": [
+ {
+ "scheme": "https://identifier.example.org/facility",
+ "identifierValue": "FAC-6789",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/facility/6789/binding"
+ }
+ }
+ ],
+ "name": "Advanced Steel Plant",
+ "location": "https://plus.codes/4RRG4WWR+W5",
+ "operatedBy": {
+ "id": "did:example:0987654321abcdef",
+ "name": "Global Steel Co.",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ }
+ },
+ "materialsProvenance": [
+ {
+ "originCountry": "AU",
+ "materialType": {
+ "scheme": "https://textileexchange.org/materials",
+ "classifierValue": "STEEL",
+ "classifierName": "Alloy Steel"
+ },
+ "massFraction": 100,
+ "recycled": false,
+ "hazardous": false
+ }
+ ],
+ "conformityClaim": [
+ {
+ "topic": "Structural Steel Certification",
+ "standardOrRegulation": "https://example.org/standards/environment",
+ "criteriaReference": "https://example.org/standards/environment/criteria",
+ "claimedValues": [],
+ "benchmarkValue": {},
+ "benchmarkReference": "https://example.org/benchmarks/environment",
+ "conformance": true,
+ "conformityEvidence": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://acrs.pyx.io/verify?q=%7B%22payload%22%3A%7B%22uri%22%3A%22https%3A%2F%2Fstorage.googleapis.com%2Fverifiable-credentials%2Fconformity-credentials%2Fquality-steel-dcc.json%22%7D%7D"
+ }
+ }
+ ],
+ "recyclingInstruction": "https://example.org/recycling/steel_model_y"
+ },
+ "className": "json-form",
+ "style": {
+ "margin": "40px auto",
+ "paddingTop": "40px",
+ "width": "80%"
+ }
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {}
+ }
+ ],
+ "services": [
+ {
+ "name": "processDPP",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app"
+ },
+ "dpp": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],
+ "renderTemplate": [
+ {
+ "template": " Digital Product Passport
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["VerifiableCredential", "DigitalProductPassport"],
+ "dlrLinkTitle": "Steel Passport",
+ "dlrIdentificationKeyNamespace": "gs1",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/productIdentifier/0/identifierValue"
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "qualitySteel_dpps",
+ "objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Sale Steel",
+ "id": "transaction_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "qualitySteel_dpps",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "TransactionEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Identifier" },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Item": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "itemID": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "format": "uri",
+ "description": "The globally unique identifier (eg GS1 GTIN or digital link) of the product item. "
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the product class to which the product item belongs. "
+ }
+ },
+ "description": "A specific trade item /product code which could be either a product serial number or a consignment identifier "
+ },
+ "QuantityElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "epcClass": {
+ "type": "string",
+ "format": "uri",
+ "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product."
+ },
+ "quantity": {
+ "type": "number",
+ "description": "The numeric quantity of the product class (eg 100 kg of cotton)"
+ },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The quantity element is used to define the quantities (eg 100), units of measure (eg Kg) and product class (eg GTIN or other class identifier) of products that are inputs or outputs or the subject of supply chain events. ",
+ "required": ["quantity"]
+ },
+ "TradeDocument": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BTT",
+ "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n "
+ },
+ "identifier": {
+ "type": "string",
+ "description": "The identifier of the trade transaction document - eg an invoice number or bill of lading number. Must be unique for a given source party"
+ },
+ "documentURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the referenced trade document. For integrity reasons, it is recommended (but not required) that the documentURL is a hashlink (https://w3c-ccg.github.io/hashlink/) so that if the document the URL is changed then the hash verification will fail."
+ }
+ },
+ "description": "A trade transaction between two parties such as an invoice, purchase order, or shipping notification."
+ },
+ "SensorElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sensorMetadata": {
+ "$ref": "#/$defs/Sensor",
+ "description": "Data that describes the physical sensor that recorded the sensor data set."
+ },
+ "sensorReport": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorData" },
+ "description": "A list of sensor readings from the given sensor relevant to the traceability event context."
+ },
+ "sensorIntegrityProof": {
+ "type": "string",
+ "format": "uri",
+ "description": "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."
+ }
+ },
+ "description": "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."
+ },
+ "Sensor": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "device": {
+ "$ref": "#/$defs/Item",
+ "description": "The device Identifier for the sensor as a URI (typically an EPC)"
+ },
+ "dataProcessingMethod": {
+ "type": "string",
+ "format": "uri",
+ "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI"
+ }
+ },
+ "description": "A physical sensor that records a sensor data set."
+ },
+ "SensorData": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp at which the sensor reading was made."
+ },
+ "type": {
+ "type": "string",
+ "format": "uri",
+ "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification."
+ },
+ "value": { "type": "number", "description": "the sensor reading" },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "the unit of measure for the sensor reading\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "A data point read by a sensor."
+ }
+ }
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/eventID"
+ },
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/epcList/index/name"
+ },
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/epcList/index/itemID"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/action",
+ "data": "observe"
+ },
+ {
+ "path": "/disposition",
+ "data": "https://ref.gs1.org/cbv/Disp/in_transit"
+ },
+ {
+ "path": "/bizStep",
+ "data": "https://ref.gs1.org/cbv/BizStep/receiving"
+ },
+ {
+ "path": "/bizLocation",
+ "data": "https://example.com/warehouse"
+ },
+ {
+ "path": "/sourceParty",
+ "data": {
+ "id": "did:web:api.acrs.pyx.io:quality-steel",
+ "name": "Quality Steel",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/source",
+ "identifierValue": "SRC123456",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/source_evidence"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "path": "/destinationParty",
+ "data": {
+ "id": "did:web:api.acrs.pyx.io:steel-processor",
+ "name": "Steel Processor",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/destination",
+ "identifierValue": "DST7891011",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/destination_evidence"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "generationFields": [
+ {
+ "path": "/eventID",
+ "handler": "generateIdWithSerialNumber"
+ },
+ {
+ "path": "/eventTime",
+ "handler": "generateCurrentDatetime"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {
+ "includeDownload": true,
+ "downloadFileName": "transaction"
+ }
+ }
+ ],
+ "services": [
+ {
+ "name": "processTransactionEvent",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app"
+ },
+ "epcisTransactionEvent": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
+ "renderTemplate": [
+ {
+ "template": "Transaction Event
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["VerifiableCredential", "DigitalProductPassport"],
+ "dlrLinkTitle": "Cherries Product Passport",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": {
+ "function": "concatService",
+ "args": [
+ { "type": "text", "value": "(01)" },
+ { "type": "path", "value": "/productIdentifier/0/identifierValue" },
+ { "type": "text", "value": "(10)" },
+ { "type": "path", "value": "/batchIdentifier/0/identifierValue" },
+ { "type": "text", "value": "(21)" },
+ { "type": "path", "value": "/itemIdentifier/0/identifierValue" }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "CherriesFarm_dpps",
+ "objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Move to Next Facility",
+ "id": "transaction_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "CherriesFarm_dpps",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "TransactionEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Identifier" },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Item": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "itemID": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "format": "uri",
+ "description": "The globally unique identifier (eg GS1 GTIN or digital link) of the product item. "
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the product class to which the product item belongs. "
+ }
+ },
+ "description": "A specific trade item /product code which could be either a product serial number or a consignment identifier "
+ },
+ "QuantityElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "epcClass": {
+ "type": "string",
+ "format": "uri",
+ "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product."
+ },
+ "quantity": {
+ "type": "number",
+ "description": "The numeric quantity of the product class (eg 100 kg of cotton)"
+ },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The quantity element is used to define the quantities (eg 100), units of measure (eg Kg) and product class (eg GTIN or other class identifier) of products that are inputs or outputs or the subject of supply chain events. ",
+ "required": ["quantity"]
+ },
+ "TradeDocument": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BTT",
+ "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n "
+ },
+ "identifier": {
+ "type": "string",
+ "description": "The identifier of the trade transaction document - eg an invoice number or bill of lading number. Must be unique for a given source party"
+ },
+ "documentURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the referenced trade document. For integrity reasons, it is recommended (but not required) that the documentURL is a hashlink (https://w3c-ccg.github.io/hashlink/) so that if the document the URL is changed then the hash verification will fail."
+ }
+ },
+ "description": "A trade transaction between two parties such as an invoice, purchase order, or shipping notification."
+ },
+ "SensorElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sensorMetadata": {
+ "$ref": "#/$defs/Sensor",
+ "description": "Data that describes the physical sensor that recorded the sensor data set."
+ },
+ "sensorReport": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorData" },
+ "description": "A list of sensor readings from the given sensor relevant to the traceability event context."
+ },
+ "sensorIntegrityProof": {
+ "type": "string",
+ "format": "uri",
+ "description": "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."
+ }
+ },
+ "description": "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."
+ },
+ "Sensor": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "device": {
+ "$ref": "#/$defs/Item",
+ "description": "The device Identifier for the sensor as a URI (typically an EPC)"
+ },
+ "dataProcessingMethod": {
+ "type": "string",
+ "format": "uri",
+ "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI"
+ }
+ },
+ "description": "A physical sensor that records a sensor data set."
+ },
+ "SensorData": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp at which the sensor reading was made."
+ },
+ "type": {
+ "type": "string",
+ "format": "uri",
+ "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification."
+ },
+ "value": { "type": "number", "description": "the sensor reading" },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "the unit of measure for the sensor reading\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "A data point read by a sensor."
+ }
+ }
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/eventID"
+ },
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/epcList/index/name"
+ },
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/epcList/index/itemID"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/action",
+ "data": "observe"
+ },
+ {
+ "path": "/disposition",
+ "data": "https://ref.gs1.org/cbv/Disp/in_transit"
+ },
+ {
+ "path": "/bizStep",
+ "data": "https://ref.gs1.org/cbv/BizStep/receiving"
+ },
+ {
+ "path": "/bizLocation",
+ "data": "https://example.com/warehouse"
+ },
+ {
+ "path": "/sourceParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/source",
+ "identifierValue": "SRC123456",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/source_evidence"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "path": "/destinationParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Processor",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/destination",
+ "identifierValue": "DST7891011",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/destination_evidence"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "generationFields": [
+ {
+ "path": "/eventID",
+ "handler": "generateIdWithSerialNumber"
+ },
+ {
+ "path": "/eventTime",
+ "handler": "generateCurrentDatetime"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {
+ "includeDownload": true,
+ "downloadFileName": "transaction"
+ }
+ }
+ ],
+ "services": [
+ {
+ "name": "processTransactionEvent",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
+ },
+ "epcisTransactionEvent": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
+ "renderTemplate": [
+ {
+ "template": "Transaction Event
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["TransactionEventCredential"],
+ "dlrLinkTitle": "Transaction Event",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/eventID",
+ "localStorageParams": { "storageKey": "CherriesFarm_dpps", "keyPath": "/epcList/index/name" }
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "orchard_facility_transaction_event",
+ "objectKeyPath": "/vc/credentialSubject/eventID"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Packhouse Facility",
+ "type": "producer",
+ "assets": {
+ "logo": "Cherries-farm-logo.webp",
+ "brandTitle": "Packhouse Facility"
+ },
+ "styles": {
+ "primaryColor": "#b5651d",
+ "secondaryColor": "#391561",
+ "tertiaryColor": "#ffffff"
+ },
+ "features": [
+ {
+ "name": "Issue DPP",
+ "id": "produce_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "orchard_facility_transaction_event",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "Product": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Classification": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "Classification scheme - eg https://unstats.un.org/unsd/classifications/Econ/cpc "
+ },
+ "classifierValue": {
+ "type": "string",
+ "description": "classifier value within the scheme - eg \"01211\" in UN CPC"
+ },
+ "classifierName": {
+ "type": "string",
+ "description": "Name of the classifier - eg \"Asparagus\" for code \"01211\" in UNCPC"
+ },
+ "classifierURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "Linked data URL to a web vocabulary entery for this classificaiton code. When this property is provided, the scheme, value, and name properties of the classifer are not required. eg https://vocabulary.uncefact.org/unlocode#AUBNE represensign the port of Brisbane in the UN/LOCODE classification scheme."
+ }
+ },
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility."
+ },
+ "BinaryFile": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fileHash": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "description": "The MD5 hash of the file."
+ },
+ "fileLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The location of the evidence file."
+ },
+ "fileType": {
+ "type": "string",
+ "x-external-enumeration": "https://mimetype.io/all-types",
+ "description": "The type of file, represented as a MIME type.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://mimetype.io/all-types\n "
+ }
+ },
+ "description": "A file representing a data snapshot that is used to infomr the conformity assessment."
+ },
+ "Dimension": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "weight": {
+ "$ref": "#/$defs/Measure",
+ "description": "the weight of the product"
+ },
+ "length": {
+ "$ref": "#/$defs/Measure",
+ "description": "The length of the product or packaging"
+ },
+ "width": {
+ "$ref": "#/$defs/Measure",
+ "description": "The width of the product or packaging"
+ },
+ "height": {
+ "$ref": "#/$defs/Measure",
+ "description": "The height of the product or packaging"
+ },
+ "volume": {
+ "$ref": "#/$defs/Measure",
+ "description": "The displacement volume of the product."
+ }
+ },
+ "description": "Overall (length, width, height) dimensions and weight/volume of an item."
+ },
+ "Measure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "number",
+ "description": "The numeric value of the measure"
+ },
+ "unit": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "Unit of measure drawn from the UNECE rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG)."
+ },
+ "Characteristic": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {},
+ "description": "Product specific characteristics. This class is an extension point for industry specific product characteristics or performance information such as clothing size or battery capacity."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Facility": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A unique identifier (URI) assigned to the facility. (Link Resolver - GS1 GLN?)"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the facility, represented as a text string."
+ },
+ "location": {
+ "type": "string",
+ "format": "uri",
+ "description": ""
+ },
+ "operatedBy": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity responsible for operating the facility."
+ }
+ },
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
+ },
+ "Material": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "originCountry": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId",
+ "description": "A ISO 3166-1 code representing the country of origin of the component or ingredient.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId\n "
+ },
+ "materialType": {
+ "$ref": "#/$defs/Classification",
+ "description": "The type of this material - as a value drawn from a controlled vocabulary eg textileexchange.org/materials/rm01014 - representing organic cotton."
+ },
+ "massFraction": {
+ "type": "number",
+ "description": "A numeric value representing the mass fraction of the product represented by this material. The sum of all mass fraction values for a given passport should be 100."
+ },
+ "recycled": {
+ "type": "boolean",
+ "description": "Indicator is true if this material input is from a recycled source."
+ },
+ "hazardous": {
+ "type": "boolean",
+ "description": "Indicates whether this material is hazardous. If true then "
+ }
+ },
+ "description": "The material class encapsulates details about the origin or source of raw materials in a product, including the country of origin and the mass fraction."
+ },
+ "Claim": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "topic": {
+ "type": "string",
+ "enum": [
+ "environment.energy",
+ "environment.emissions",
+ "environment.water",
+ "environment.waste",
+ "environment.deforestation",
+ "environment.biodiversity",
+ "circularity.content",
+ "circularity.design",
+ "social.labour",
+ "social.rights",
+ "social.community",
+ "social.safety",
+ "governance.ethics",
+ "governance.compliance",
+ "governance.transparency"
+ ],
+ "example": "environment.energy",
+ "description": "A code representing the topic of the sustainability claim. E.g. environment.deforestation, environment.ghg-emission-intensity, etc.. Drawn from a standard code list. "
+ },
+ "standardOrRegulation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The standard or regulation against which this conformity claim is made. Expressed as a URI and should match a value in the UN catalogue of reference vocabularies. "
+ },
+ "criteriaReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the specific criteria within the standard or regulation against which this claim is made."
+ },
+ "claimedValues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Metric"
+ },
+ "description": "One or more actual measures supporting the claim. For example for GHG emissions there may be a metric for total emissions intensity and also a metric for amount of offsets included."
+ },
+ "benchmarkValue": {
+ "$ref": "#/$defs/Metric",
+ "description": "A benchmark value against which the claimed value can be assessed. THis could be a value specified by a standard or regulation or could be an industry benchmark."
+ },
+ "benchmarkReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A refernce to evidence to support the benchmark value."
+ },
+ "conformance": {
+ "type": "boolean",
+ "description": "and indicator (boolean) that expresses whether or not this product has achieved compliance against the criteria. for example, if the topic is environment.deforstation and the criteria is EU.2023.1115 then the product is conformant if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."
+ },
+ "conformityEvidence": {
+ "$ref": "#/$defs/Evidence",
+ "description": "A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."
+ }
+ },
+ "description": "The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."
+ },
+ "Metric": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A human readable name for this metric"
+ },
+ "value": {
+ "$ref": "#/$defs/Measure",
+ "description": "A numeric value representing the measurement or evaluation outcome for the claim."
+ },
+ "accuracy": {
+ "type": "number",
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
+ }
+ },
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of emasure) / value (ie the actual numeric value) pairs. "
+ },
+ "TraceabilityEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "eventReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the detailed information about the EPCIS event. Most likely in the form of a verifiable credential."
+ },
+ "eventType": {
+ "type": "string",
+ "enum": ["aggregation", "transformation", "object", "transaction", "association"],
+ "example": "aggregation",
+ "description": "A code representing the type of EPCIS event. ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent, ObjectEvent."
+ }
+ },
+ "description": "The TraceabilityEvent class represents a specific EPCIS event in the traceability chain of a product, including details about the event type and reference."
+ }
+ }
+ },
+ "data": {
+ "image": "data:image/jpg;base64,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",
+ "productIdentifier": [
+ {
+ "scheme": "https://id.gs1.org/gtin",
+ "identifierValue": "0105012345678900",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://id.gs1.org/gtin/05012345678900/binding"
+ }
+ }
+ ],
+ "batchIdentifier": [
+ {
+ "scheme": "https://Cherriesfarm.example.org/batch",
+ "identifierValue": "BATCH-2024-001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://Cherriesfarm.example.org/batch/2024-001/binding"
+ }
+ }
+ ],
+ "itemIdentifier": [
+ {
+ "scheme": "https://Cherriesfarm.example.org/item",
+ "identifierValue": "TRF-24-0001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://Cherriesfarm.example.org/item/TRF-24-0001/binding"
+ }
+ }
+ ],
+ "classification": [
+ {
+ "scheme": "https://www.unspsc.org",
+ "classifierValue": "50383710",
+ "classifierName": "Cherriess",
+ "classifierURL": "https://www.unspsc.org/search-code/50383710"
+ }
+ ],
+ "modelName": "Black Cherries",
+ "description": "Premium Black Cherriess harvested from our sustainable Cherries orchards.",
+ "furtherInformation": "https://Cherriesfarm.example.org/products/black_perigord",
+ "manufacturedDate": "2024-01-15",
+ "dimension": {
+ "weight": { "value": 50, "unit": "GRM" }
+ },
+ "materialsProvenance": [
+ {
+ "originCountry": "AU",
+ "materialType": {
+ "scheme": "https://www.gs1.org/gpc",
+ "classifierValue": "10005953",
+ "classifierName": "Cherriess (Fresh)",
+ "classifierURL": "https://www.gs1.org/gpc/10005953"
+ },
+ "massFraction": 100,
+ "recycled": false,
+ "hazardous": false
+ }
+ ],
+ "characteristic": {
+ "variety": "Tuber melanosporum",
+ "grade": "Extra",
+ "aroma": "Intense, earthy",
+ "flavor": "Rich, complex"
+ },
+ "manufacturer": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ },
+ "manufacturedAt": {
+ "identifier": [
+ {
+ "scheme": "https://identifier.example.org/facility",
+ "identifierValue": "FAC-5678",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/facility/5678/binding"
+ }
+ }
+ ],
+ "name": "Cherries Orchard",
+ "location": "https://Cherriesfarm.example.org/locations/perigord_orchard",
+ "operatedBy": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "className": "json-form",
+ "style": {
+ "margin": "40px auto",
+ "paddingTop": "40px",
+ "width": "80%"
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/traceabilityInformation/0/eventReference"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/traceabilityInformation/0/eventType",
+ "data": "transaction"
+ }
+ ],
+ "generationFields": []
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {}
+ }
+ ],
+ "services": [
+ {
+ "name": "processDPP",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
+ },
+ "dpp": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],
+ "renderTemplate": [
+ {
+ "template": " Digital Product Passport
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["VerifiableCredential", "DigitalProductPassport"],
+ "dlrLinkTitle": "Cherries Product Passport",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/productIdentifier/0/identifierValue"
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "CherriesFarm_dpps",
+ "objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Move to Next Facility",
+ "id": "transaction_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "CherriesFarm_dpps",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "TransactionEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Identifier" },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Item": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "itemID": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "format": "uri",
+ "description": "The globally unique identifier (eg GS1 GTIN or digital link) of the product item. "
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the product class to which the product item belongs. "
+ }
+ },
+ "description": "A specific trade item /product code which could be either a product serial number or a consignment identifier "
+ },
+ "QuantityElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "epcClass": {
+ "type": "string",
+ "format": "uri",
+ "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product."
+ },
+ "quantity": {
+ "type": "number",
+ "description": "The numeric quantity of the product class (eg 100 kg of cotton)"
+ },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The quantity element is used to define the quantities (eg 100), units of measure (eg Kg) and product class (eg GTIN or other class identifier) of products that are inputs or outputs or the subject of supply chain events. ",
+ "required": ["quantity"]
+ },
+ "TradeDocument": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BTT",
+ "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n "
+ },
+ "identifier": {
+ "type": "string",
+ "description": "The identifier of the trade transaction document - eg an invoice number or bill of lading number. Must be unique for a given source party"
+ },
+ "documentURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the referenced trade document. For integrity reasons, it is recommended (but not required) that the documentURL is a hashlink (https://w3c-ccg.github.io/hashlink/) so that if the document the URL is changed then the hash verification will fail."
+ }
+ },
+ "description": "A trade transaction between two parties such as an invoice, purchase order, or shipping notification."
+ },
+ "SensorElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sensorMetadata": {
+ "$ref": "#/$defs/Sensor",
+ "description": "Data that describes the physical sensor that recorded the sensor data set."
+ },
+ "sensorReport": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorData" },
+ "description": "A list of sensor readings from the given sensor relevant to the traceability event context."
+ },
+ "sensorIntegrityProof": {
+ "type": "string",
+ "format": "uri",
+ "description": "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."
+ }
+ },
+ "description": "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."
+ },
+ "Sensor": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "device": {
+ "$ref": "#/$defs/Item",
+ "description": "The device Identifier for the sensor as a URI (typically an EPC)"
+ },
+ "dataProcessingMethod": {
+ "type": "string",
+ "format": "uri",
+ "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI"
+ }
+ },
+ "description": "A physical sensor that records a sensor data set."
+ },
+ "SensorData": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp at which the sensor reading was made."
+ },
+ "type": {
+ "type": "string",
+ "format": "uri",
+ "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification."
+ },
+ "value": { "type": "number", "description": "the sensor reading" },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "the unit of measure for the sensor reading\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "A data point read by a sensor."
+ }
+ }
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/eventID"
+ },
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/epcList/index/name"
+ },
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/epcList/index/itemID"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/action",
+ "data": "observe"
+ },
+ {
+ "path": "/disposition",
+ "data": "https://ref.gs1.org/cbv/Disp/in_transit"
+ },
+ {
+ "path": "/bizStep",
+ "data": "https://ref.gs1.org/cbv/BizStep/receiving"
+ },
+ {
+ "path": "/bizLocation",
+ "data": "https://example.com/warehouse"
+ },
+ {
+ "path": "/sourceParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/source",
+ "identifierValue": "SRC123456",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/source_evidence"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "path": "/destinationParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Processor",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/destination",
+ "identifierValue": "DST7891011",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/destination_evidence"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "generationFields": [
+ {
+ "path": "/eventID",
+ "handler": "generateIdWithSerialNumber"
+ },
+ {
+ "path": "/eventTime",
+ "handler": "generateCurrentDatetime"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {
+ "includeDownload": true,
+ "downloadFileName": "transaction"
+ }
+ }
+ ],
+ "services": [
+ {
+ "name": "processTransactionEvent",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
+ },
+ "epcisTransactionEvent": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
+ "renderTemplate": [
+ {
+ "template": "Transaction Event
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["TransactionEventCredential"],
+ "dlrLinkTitle": "Transaction Event",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/eventID",
+ "localStorageParams": { "storageKey": "CherriesFarm_dpps", "keyPath": "/epcList/index/name" }
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "packhouse_facility_transaction_event",
+ "objectKeyPath": "/vc/credentialSubject/eventID"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Fumigation and Freight Forwarding Facility",
+ "type": "producer",
+ "assets": {
+ "logo": "Cherries-farm-logo.webp",
+ "brandTitle": "Fumigation and Freight Forwarding Facility"
+ },
+ "styles": {
+ "primaryColor": "#b5651d",
+ "secondaryColor": "#391561",
+ "tertiaryColor": "#ffffff"
+ },
+ "features": [
+ {
+ "name": "Issue DPP",
+ "id": "produce_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "packhouse_facility_transaction_event",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "Product": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Classification": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "Classification scheme - eg https://unstats.un.org/unsd/classifications/Econ/cpc "
+ },
+ "classifierValue": {
+ "type": "string",
+ "description": "classifier value within the scheme - eg \"01211\" in UN CPC"
+ },
+ "classifierName": {
+ "type": "string",
+ "description": "Name of the classifier - eg \"Asparagus\" for code \"01211\" in UNCPC"
+ },
+ "classifierURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "Linked data URL to a web vocabulary entery for this classificaiton code. When this property is provided, the scheme, value, and name properties of the classifer are not required. eg https://vocabulary.uncefact.org/unlocode#AUBNE represensign the port of Brisbane in the UN/LOCODE classification scheme."
+ }
+ },
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility."
+ },
+ "BinaryFile": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fileHash": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "description": "The MD5 hash of the file."
+ },
+ "fileLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The location of the evidence file."
+ },
+ "fileType": {
+ "type": "string",
+ "x-external-enumeration": "https://mimetype.io/all-types",
+ "description": "The type of file, represented as a MIME type.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://mimetype.io/all-types\n "
+ }
+ },
+ "description": "A file representing a data snapshot that is used to infomr the conformity assessment."
+ },
+ "Dimension": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "weight": {
+ "$ref": "#/$defs/Measure",
+ "description": "the weight of the product"
+ },
+ "length": {
+ "$ref": "#/$defs/Measure",
+ "description": "The length of the product or packaging"
+ },
+ "width": {
+ "$ref": "#/$defs/Measure",
+ "description": "The width of the product or packaging"
+ },
+ "height": {
+ "$ref": "#/$defs/Measure",
+ "description": "The height of the product or packaging"
+ },
+ "volume": {
+ "$ref": "#/$defs/Measure",
+ "description": "The displacement volume of the product."
+ }
+ },
+ "description": "Overall (length, width, height) dimensions and weight/volume of an item."
+ },
+ "Measure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "number",
+ "description": "The numeric value of the measure"
+ },
+ "unit": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "Unit of measure drawn from the UNECE rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG)."
+ },
+ "Characteristic": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {},
+ "description": "Product specific characteristics. This class is an extension point for industry specific product characteristics or performance information such as clothing size or battery capacity."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Facility": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A unique identifier (URI) assigned to the facility. (Link Resolver - GS1 GLN?)"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the facility, represented as a text string."
+ },
+ "location": {
+ "type": "string",
+ "format": "uri",
+ "description": ""
+ },
+ "operatedBy": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity responsible for operating the facility."
+ }
+ },
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
+ },
+ "Material": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "originCountry": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId",
+ "description": "A ISO 3166-1 code representing the country of origin of the component or ingredient.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId\n "
+ },
+ "materialType": {
+ "$ref": "#/$defs/Classification",
+ "description": "The type of this material - as a value drawn from a controlled vocabulary eg textileexchange.org/materials/rm01014 - representing organic cotton."
+ },
+ "massFraction": {
+ "type": "number",
+ "description": "A numeric value representing the mass fraction of the product represented by this material. The sum of all mass fraction values for a given passport should be 100."
+ },
+ "recycled": {
+ "type": "boolean",
+ "description": "Indicator is true if this material input is from a recycled source."
+ },
+ "hazardous": {
+ "type": "boolean",
+ "description": "Indicates whether this material is hazardous. If true then "
+ }
+ },
+ "description": "The material class encapsulates details about the origin or source of raw materials in a product, including the country of origin and the mass fraction."
+ },
+ "Claim": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "topic": {
+ "type": "string",
+ "enum": [
+ "environment.energy",
+ "environment.emissions",
+ "environment.water",
+ "environment.waste",
+ "environment.deforestation",
+ "environment.biodiversity",
+ "circularity.content",
+ "circularity.design",
+ "social.labour",
+ "social.rights",
+ "social.community",
+ "social.safety",
+ "governance.ethics",
+ "governance.compliance",
+ "governance.transparency"
+ ],
+ "example": "environment.energy",
+ "description": "A code representing the topic of the sustainability claim. E.g. environment.deforestation, environment.ghg-emission-intensity, etc.. Drawn from a standard code list. "
+ },
+ "standardOrRegulation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The standard or regulation against which this conformity claim is made. Expressed as a URI and should match a value in the UN catalogue of reference vocabularies. "
+ },
+ "criteriaReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the specific criteria within the standard or regulation against which this claim is made."
+ },
+ "claimedValues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Metric"
+ },
+ "description": "One or more actual measures supporting the claim. For example for GHG emissions there may be a metric for total emissions intensity and also a metric for amount of offsets included."
+ },
+ "benchmarkValue": {
+ "$ref": "#/$defs/Metric",
+ "description": "A benchmark value against which the claimed value can be assessed. THis could be a value specified by a standard or regulation or could be an industry benchmark."
+ },
+ "benchmarkReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A refernce to evidence to support the benchmark value."
+ },
+ "conformance": {
+ "type": "boolean",
+ "description": "and indicator (boolean) that expresses whether or not this product has achieved compliance against the criteria. for example, if the topic is environment.deforstation and the criteria is EU.2023.1115 then the product is conformant if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."
+ },
+ "conformityEvidence": {
+ "$ref": "#/$defs/Evidence",
+ "description": "A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."
+ }
+ },
+ "description": "The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."
+ },
+ "Metric": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A human readable name for this metric"
+ },
+ "value": {
+ "$ref": "#/$defs/Measure",
+ "description": "A numeric value representing the measurement or evaluation outcome for the claim."
+ },
+ "accuracy": {
+ "type": "number",
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
+ }
+ },
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of emasure) / value (ie the actual numeric value) pairs. "
+ },
+ "TraceabilityEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "eventReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the detailed information about the EPCIS event. Most likely in the form of a verifiable credential."
+ },
+ "eventType": {
+ "type": "string",
+ "enum": ["aggregation", "transformation", "object", "transaction", "association"],
+ "example": "aggregation",
+ "description": "A code representing the type of EPCIS event. ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent, ObjectEvent."
+ }
+ },
+ "description": "The TraceabilityEvent class represents a specific EPCIS event in the traceability chain of a product, including details about the event type and reference."
+ }
+ }
+ },
+ "data": {
+ "image": "data:image/jpg;base64,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",
+ "productIdentifier": [
+ {
+ "scheme": "https://id.gs1.org/gtin",
+ "identifierValue": "0105012345678900",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://id.gs1.org/gtin/05012345678900/binding"
+ }
+ }
+ ],
+ "batchIdentifier": [
+ {
+ "scheme": "https://Cherriesfarm.example.org/batch",
+ "identifierValue": "BATCH-2024-001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://Cherriesfarm.example.org/batch/2024-001/binding"
+ }
+ }
+ ],
+ "itemIdentifier": [
+ {
+ "scheme": "https://Cherriesfarm.example.org/item",
+ "identifierValue": "TRF-24-0001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://Cherriesfarm.example.org/item/TRF-24-0001/binding"
+ }
+ }
+ ],
+ "classification": [
+ {
+ "scheme": "https://www.unspsc.org",
+ "classifierValue": "50383710",
+ "classifierName": "Cherriess",
+ "classifierURL": "https://www.unspsc.org/search-code/50383710"
+ }
+ ],
+ "modelName": "Black Cherries",
+ "description": "Premium Black Cherriess harvested from our sustainable Cherries orchards.",
+ "furtherInformation": "https://Cherriesfarm.example.org/products/black_perigord",
+ "manufacturedDate": "2024-01-15",
+ "dimension": {
+ "weight": { "value": 50, "unit": "GRM" }
+ },
+ "materialsProvenance": [
+ {
+ "originCountry": "AU",
+ "materialType": {
+ "scheme": "https://www.gs1.org/gpc",
+ "classifierValue": "10005953",
+ "classifierName": "Cherriess (Fresh)",
+ "classifierURL": "https://www.gs1.org/gpc/10005953"
+ },
+ "massFraction": 100,
+ "recycled": false,
+ "hazardous": false
+ }
+ ],
+ "characteristic": {
+ "variety": "Tuber melanosporum",
+ "grade": "Extra",
+ "aroma": "Intense, earthy",
+ "flavor": "Rich, complex"
+ },
+ "manufacturer": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ },
+ "manufacturedAt": {
+ "identifier": [
+ {
+ "scheme": "https://identifier.example.org/facility",
+ "identifierValue": "FAC-5678",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/facility/5678/binding"
+ }
+ }
+ ],
+ "name": "Cherries Orchard",
+ "location": "https://Cherriesfarm.example.org/locations/perigord_orchard",
+ "operatedBy": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "className": "json-form",
+ "style": {
+ "margin": "40px auto",
+ "paddingTop": "40px",
+ "width": "80%"
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/traceabilityInformation/0/eventReference"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/traceabilityInformation/0/eventType",
+ "data": "transaction"
+ }
+ ],
+ "generationFields": []
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {}
+ }
+ ],
+ "services": [
+ {
+ "name": "processDPP",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
+ },
+ "dpp": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],
+ "renderTemplate": [
+ {
+ "template": " Digital Product Passport
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["VerifiableCredential", "DigitalProductPassport"],
+ "dlrLinkTitle": "Cherries Product Passport",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/productIdentifier/0/identifierValue"
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "CherriesFarm_dpps",
+ "objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Move to Next Facility",
+ "id": "transaction_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "CherriesFarm_dpps",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "TransactionEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Identifier" },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Item": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "itemID": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "format": "uri",
+ "description": "The globally unique identifier (eg GS1 GTIN or digital link) of the product item. "
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the product class to which the product item belongs. "
+ }
+ },
+ "description": "A specific trade item /product code which could be either a product serial number or a consignment identifier "
+ },
+ "QuantityElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "epcClass": {
+ "type": "string",
+ "format": "uri",
+ "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product."
+ },
+ "quantity": {
+ "type": "number",
+ "description": "The numeric quantity of the product class (eg 100 kg of cotton)"
+ },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The quantity element is used to define the quantities (eg 100), units of measure (eg Kg) and product class (eg GTIN or other class identifier) of products that are inputs or outputs or the subject of supply chain events. ",
+ "required": ["quantity"]
+ },
+ "TradeDocument": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BTT",
+ "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n "
+ },
+ "identifier": {
+ "type": "string",
+ "description": "The identifier of the trade transaction document - eg an invoice number or bill of lading number. Must be unique for a given source party"
+ },
+ "documentURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the referenced trade document. For integrity reasons, it is recommended (but not required) that the documentURL is a hashlink (https://w3c-ccg.github.io/hashlink/) so that if the document the URL is changed then the hash verification will fail."
+ }
+ },
+ "description": "A trade transaction between two parties such as an invoice, purchase order, or shipping notification."
+ },
+ "SensorElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sensorMetadata": {
+ "$ref": "#/$defs/Sensor",
+ "description": "Data that describes the physical sensor that recorded the sensor data set."
+ },
+ "sensorReport": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorData" },
+ "description": "A list of sensor readings from the given sensor relevant to the traceability event context."
+ },
+ "sensorIntegrityProof": {
+ "type": "string",
+ "format": "uri",
+ "description": "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."
+ }
+ },
+ "description": "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."
+ },
+ "Sensor": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "device": {
+ "$ref": "#/$defs/Item",
+ "description": "The device Identifier for the sensor as a URI (typically an EPC)"
+ },
+ "dataProcessingMethod": {
+ "type": "string",
+ "format": "uri",
+ "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI"
+ }
+ },
+ "description": "A physical sensor that records a sensor data set."
+ },
+ "SensorData": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp at which the sensor reading was made."
+ },
+ "type": {
+ "type": "string",
+ "format": "uri",
+ "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification."
+ },
+ "value": { "type": "number", "description": "the sensor reading" },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "the unit of measure for the sensor reading\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "A data point read by a sensor."
+ }
+ }
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/eventID"
+ },
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/epcList/index/name"
+ },
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/epcList/index/itemID"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/action",
+ "data": "observe"
+ },
+ {
+ "path": "/disposition",
+ "data": "https://ref.gs1.org/cbv/Disp/in_transit"
+ },
+ {
+ "path": "/bizStep",
+ "data": "https://ref.gs1.org/cbv/BizStep/receiving"
+ },
+ {
+ "path": "/bizLocation",
+ "data": "https://example.com/warehouse"
+ },
+ {
+ "path": "/sourceParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/source",
+ "identifierValue": "SRC123456",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/source_evidence"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "path": "/destinationParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Processor",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/destination",
+ "identifierValue": "DST7891011",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/destination_evidence"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "generationFields": [
+ {
+ "path": "/eventID",
+ "handler": "generateIdWithSerialNumber"
+ },
+ {
+ "path": "/eventTime",
+ "handler": "generateCurrentDatetime"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {
+ "includeDownload": true,
+ "downloadFileName": "transaction"
+ }
+ }
+ ],
+ "services": [
+ {
+ "name": "processTransactionEvent",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
+ },
+ "epcisTransactionEvent": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
+ "renderTemplate": [
+ {
+ "template": "Transaction Event
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["TransactionEventCredential"],
+ "dlrLinkTitle": "Transaction Event",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/eventID",
+ "localStorageParams": { "storageKey": "CherriesFarm_dpps", "keyPath": "/epcList/index/name" }
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event",
+ "objectKeyPath": "/vc/credentialSubject/eventID"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Airport Terminal Facility",
+ "type": "producer",
+ "assets": {
+ "logo": "Cherries-farm-logo.webp",
+ "brandTitle": "Airport Terminal"
+ },
+ "styles": {
+ "primaryColor": "#b5651d",
+ "secondaryColor": "#391561",
+ "tertiaryColor": "#ffffff"
+ },
+ "features": [
+ {
+ "name": "Issue DPP",
+ "id": "produce_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "Product": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Classification": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "Classification scheme - eg https://unstats.un.org/unsd/classifications/Econ/cpc "
+ },
+ "classifierValue": {
+ "type": "string",
+ "description": "classifier value within the scheme - eg \"01211\" in UN CPC"
+ },
+ "classifierName": {
+ "type": "string",
+ "description": "Name of the classifier - eg \"Asparagus\" for code \"01211\" in UNCPC"
+ },
+ "classifierURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "Linked data URL to a web vocabulary entery for this classificaiton code. When this property is provided, the scheme, value, and name properties of the classifer are not required. eg https://vocabulary.uncefact.org/unlocode#AUBNE represensign the port of Brisbane in the UN/LOCODE classification scheme."
+ }
+ },
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility."
+ },
+ "BinaryFile": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fileHash": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "description": "The MD5 hash of the file."
+ },
+ "fileLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The location of the evidence file."
+ },
+ "fileType": {
+ "type": "string",
+ "x-external-enumeration": "https://mimetype.io/all-types",
+ "description": "The type of file, represented as a MIME type.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://mimetype.io/all-types\n "
+ }
+ },
+ "description": "A file representing a data snapshot that is used to infomr the conformity assessment."
+ },
+ "Dimension": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "weight": {
+ "$ref": "#/$defs/Measure",
+ "description": "the weight of the product"
+ },
+ "length": {
+ "$ref": "#/$defs/Measure",
+ "description": "The length of the product or packaging"
+ },
+ "width": {
+ "$ref": "#/$defs/Measure",
+ "description": "The width of the product or packaging"
+ },
+ "height": {
+ "$ref": "#/$defs/Measure",
+ "description": "The height of the product or packaging"
+ },
+ "volume": {
+ "$ref": "#/$defs/Measure",
+ "description": "The displacement volume of the product."
+ }
+ },
+ "description": "Overall (length, width, height) dimensions and weight/volume of an item."
+ },
+ "Measure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "number",
+ "description": "The numeric value of the measure"
+ },
+ "unit": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "Unit of measure drawn from the UNECE rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG)."
+ },
+ "Characteristic": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {},
+ "description": "Product specific characteristics. This class is an extension point for industry specific product characteristics or performance information such as clothing size or battery capacity."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Facility": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A unique identifier (URI) assigned to the facility. (Link Resolver - GS1 GLN?)"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the facility, represented as a text string."
+ },
+ "location": {
+ "type": "string",
+ "format": "uri",
+ "description": ""
+ },
+ "operatedBy": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity responsible for operating the facility."
+ }
+ },
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
+ },
+ "Material": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "originCountry": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId",
+ "description": "A ISO 3166-1 code representing the country of origin of the component or ingredient.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId\n "
+ },
+ "materialType": {
+ "$ref": "#/$defs/Classification",
+ "description": "The type of this material - as a value drawn from a controlled vocabulary eg textileexchange.org/materials/rm01014 - representing organic cotton."
+ },
+ "massFraction": {
+ "type": "number",
+ "description": "A numeric value representing the mass fraction of the product represented by this material. The sum of all mass fraction values for a given passport should be 100."
+ },
+ "recycled": {
+ "type": "boolean",
+ "description": "Indicator is true if this material input is from a recycled source."
+ },
+ "hazardous": {
+ "type": "boolean",
+ "description": "Indicates whether this material is hazardous. If true then "
+ }
+ },
+ "description": "The material class encapsulates details about the origin or source of raw materials in a product, including the country of origin and the mass fraction."
+ },
+ "Claim": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "topic": {
+ "type": "string",
+ "enum": [
+ "environment.energy",
+ "environment.emissions",
+ "environment.water",
+ "environment.waste",
+ "environment.deforestation",
+ "environment.biodiversity",
+ "circularity.content",
+ "circularity.design",
+ "social.labour",
+ "social.rights",
+ "social.community",
+ "social.safety",
+ "governance.ethics",
+ "governance.compliance",
+ "governance.transparency"
+ ],
+ "example": "environment.energy",
+ "description": "A code representing the topic of the sustainability claim. E.g. environment.deforestation, environment.ghg-emission-intensity, etc.. Drawn from a standard code list. "
+ },
+ "standardOrRegulation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The standard or regulation against which this conformity claim is made. Expressed as a URI and should match a value in the UN catalogue of reference vocabularies. "
+ },
+ "criteriaReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the specific criteria within the standard or regulation against which this claim is made."
+ },
+ "claimedValues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Metric"
+ },
+ "description": "One or more actual measures supporting the claim. For example for GHG emissions there may be a metric for total emissions intensity and also a metric for amount of offsets included."
+ },
+ "benchmarkValue": {
+ "$ref": "#/$defs/Metric",
+ "description": "A benchmark value against which the claimed value can be assessed. THis could be a value specified by a standard or regulation or could be an industry benchmark."
+ },
+ "benchmarkReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A refernce to evidence to support the benchmark value."
+ },
+ "conformance": {
+ "type": "boolean",
+ "description": "and indicator (boolean) that expresses whether or not this product has achieved compliance against the criteria. for example, if the topic is environment.deforstation and the criteria is EU.2023.1115 then the product is conformant if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."
+ },
+ "conformityEvidence": {
+ "$ref": "#/$defs/Evidence",
+ "description": "A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."
+ }
+ },
+ "description": "The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."
+ },
+ "Metric": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A human readable name for this metric"
+ },
+ "value": {
+ "$ref": "#/$defs/Measure",
+ "description": "A numeric value representing the measurement or evaluation outcome for the claim."
+ },
+ "accuracy": {
+ "type": "number",
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
+ }
+ },
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of emasure) / value (ie the actual numeric value) pairs. "
+ },
+ "TraceabilityEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "eventReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the detailed information about the EPCIS event. Most likely in the form of a verifiable credential."
+ },
+ "eventType": {
+ "type": "string",
+ "enum": ["aggregation", "transformation", "object", "transaction", "association"],
+ "example": "aggregation",
+ "description": "A code representing the type of EPCIS event. ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent, ObjectEvent."
+ }
+ },
+ "description": "The TraceabilityEvent class represents a specific EPCIS event in the traceability chain of a product, including details about the event type and reference."
+ }
+ }
+ },
+ "data": {
+ "image": "data:image/jpg;base64,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",
+ "productIdentifier": [
+ {
+ "scheme": "https://id.gs1.org/gtin",
+ "identifierValue": "0105012345678900",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://id.gs1.org/gtin/05012345678900/binding"
+ }
+ }
+ ],
+ "batchIdentifier": [
+ {
+ "scheme": "https://Cherriesfarm.example.org/batch",
+ "identifierValue": "BATCH-2024-001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://Cherriesfarm.example.org/batch/2024-001/binding"
+ }
+ }
+ ],
+ "itemIdentifier": [
+ {
+ "scheme": "https://Cherriesfarm.example.org/item",
+ "identifierValue": "TRF-24-0001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://Cherriesfarm.example.org/item/TRF-24-0001/binding"
+ }
+ }
+ ],
+ "classification": [
+ {
+ "scheme": "https://www.unspsc.org",
+ "classifierValue": "50383710",
+ "classifierName": "Cherriess",
+ "classifierURL": "https://www.unspsc.org/search-code/50383710"
+ }
+ ],
+ "modelName": "Black Cherries",
+ "description": "Premium Black Cherriess harvested from our sustainable Cherries orchards.",
+ "furtherInformation": "https://Cherriesfarm.example.org/products/black_perigord",
+ "manufacturedDate": "2024-01-15",
+ "dimension": {
+ "weight": { "value": 50, "unit": "GRM" }
+ },
+ "materialsProvenance": [
+ {
+ "originCountry": "AU",
+ "materialType": {
+ "scheme": "https://www.gs1.org/gpc",
+ "classifierValue": "10005953",
+ "classifierName": "Cherriess (Fresh)",
+ "classifierURL": "https://www.gs1.org/gpc/10005953"
+ },
+ "massFraction": 100,
+ "recycled": false,
+ "hazardous": false
+ }
+ ],
+ "characteristic": {
+ "variety": "Tuber melanosporum",
+ "grade": "Extra",
+ "aroma": "Intense, earthy",
+ "flavor": "Rich, complex"
+ },
+ "manufacturer": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ },
+ "manufacturedAt": {
+ "identifier": [
+ {
+ "scheme": "https://identifier.example.org/facility",
+ "identifierValue": "FAC-5678",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/facility/5678/binding"
+ }
+ }
+ ],
+ "name": "Cherries Orchard",
+ "location": "https://Cherriesfarm.example.org/locations/perigord_orchard",
+ "operatedBy": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Cherries Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "className": "json-form",
+ "style": {
+ "margin": "40px auto",
+ "paddingTop": "40px",
+ "width": "80%"
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/traceabilityInformation/0/eventReference"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/traceabilityInformation/0/eventType",
+ "data": "transaction"
+ }
+ ],
+ "generationFields": []
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {}
+ }
+ ],
+ "services": [
+ {
+ "name": "processDPP",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
},
"dpp": {
"context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],
@@ -705,13 +4430,15 @@
}
],
"type": ["VerifiableCredential", "DigitalProductPassport"],
- "dlrLinkTitle": "Truffle Product Passport",
+ "dlrLinkTitle": "Cherries Product Passport",
"dlrIdentificationKeyType": "gtin",
- "dlrVerificationPage": "http://localhost:3001/verify"
+ "dlrVerificationPage": "http://localhost:3003/verify"
},
"dlr": {
- "dlrAPIUrl": "http://localhost:8080",
- "dlrAPIKey": "5555555555555"
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
},
"storage": {
"url": "http://localhost:3334/v1/documents",
@@ -734,7 +4461,7 @@
"name": "mergeToLocalStorage",
"parameters": [
{
- "storageKey": "truffleFarm_dpps",
+ "storageKey": "CherriesFarm_dpps",
"objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
}
]
@@ -742,14 +4469,14 @@
]
},
{
- "name": "Sell Truffle",
+ "name": "Move to Next Facility",
"id": "transaction_product",
"components": [
{
"name": "LocalStorageLoader",
"type": "EntryData",
"props": {
- "storageKey": "truffleFarm_dpps",
+ "storageKey": "CherriesFarm_dpps",
"nestedComponents": [
{
"name": "JsonForm",
@@ -1110,8 +4837,8 @@
{
"path": "/sourceParty",
"data": {
- "id": "did:web:0e37-27-32-93-137.ngrok-free.app",
- "name": "Truffle Farm",
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Farm",
"identifiers": [
{
"scheme": "https://example.com/scheme/source",
@@ -1128,8 +4855,8 @@
{
"path": "/destinationParty",
"data": {
- "id": "did:web:0e37-27-32-93-137.ngrok-free.app",
- "name": "Truffle Processor",
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Cherries Processor",
"identifiers": [
{
"scheme": "https://example.com/scheme/destination",
@@ -1175,7 +4902,7 @@
{
"vckit": {
"vckitAPIUrl": "http://localhost:3332/v1",
- "issuer": "did:web:0e37-27-32-93-137.ngrok-free.app"
+ "issuer": "did:web:450e-103-69-79-17.ngrok-free.app"
},
"epcisTransactionEvent": {
"context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
@@ -1188,11 +4915,13 @@
"type": ["TransactionEventCredential"],
"dlrLinkTitle": "Transaction Event",
"dlrIdentificationKeyType": "gtin",
- "dlrVerificationPage": "http://localhost:3001/verify"
+ "dlrVerificationPage": "http://localhost:3003/verify"
},
"dlr": {
- "dlrAPIUrl": "http://localhost:8080",
- "dlrAPIKey": "5555555555555"
+ "dlrAPIUrl": "http://localhost:3000",
+ "dlrAPIKey": "test123",
+ "namespace": "gs1",
+ "linkRegisterPath": "/api/resolver"
},
"storage": {
"url": "http://localhost:3334/v1/documents",
@@ -1208,7 +4937,7 @@
}
},
"identifierKeyPath": "/eventID",
- "localStorageParams": { "storageKey": "truffleFarm_dpps", "keyPath": "/epcList/index/name" }
+ "localStorageParams": { "storageKey": "CherriesFarm_dpps", "keyPath": "/epcList/index/name" }
}
]
}
@@ -1219,7 +4948,8 @@
],
"identifyProvider": {
"type": "gs1",
- "url": "http://localhost:3333/products"
+ "url": "http://localhost:3001",
+ "namespace": "gs1"
},
"defaultVerificationServiceLink": {
"title": "Default Verification Service",
diff --git a/app-config.truff.json b/app-config.truff.json
new file mode 100644
index 00000000..bab932cc
--- /dev/null
+++ b/app-config.truff.json
@@ -0,0 +1,1232 @@
+{
+ "name": "Truffle Value Chain",
+ "styles": {
+ "primaryColor": "rgb(35, 138, 186)",
+ "secondaryColor": "black",
+ "tertiaryColor": "black"
+ },
+ "generalFeatures": [
+ {
+ "name": "General features",
+ "type": "",
+ "styles": {
+ "primaryColor": "rgb(35, 138, 186)",
+ "secondaryColor": "black",
+ "tertiaryColor": "black"
+ },
+ "features": []
+ }
+ ],
+ "apps": [
+ {
+ "name": "Truffle Farm",
+ "type": "producer",
+ "assets": {
+ "logo": "truffle-farm-logo.webp",
+ "brandTitle": "Truffle Farm"
+ },
+ "styles": {
+ "primaryColor": "#b5651d",
+ "secondaryColor": "#391561",
+ "tertiaryColor": "#ffffff"
+ },
+ "features": [
+ {
+ "name": "Issue DPP",
+ "id": "produce_product",
+ "components": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "Product": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of unique identifiers assigned to the product or model. "
+ },
+ "batchIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "Information regarding the specific production batch of the product."
+ },
+ "itemIdentifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "An array of identifiers representing a specific serialised item of the product."
+ },
+ "classification": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Classification"
+ },
+ "description": "A code representing the product's class, typically using the UN CPC (United Nations Central Product Classification) https://unstats.un.org/unsd/classifications/Econ/cpc"
+ },
+ "modelName": {
+ "type": "string",
+ "description": "The model name or number of the product, represented as text."
+ },
+ "image": {
+ "$ref": "#/$defs/BinaryFile",
+ "description": "A unique identifier (URI) pointing to an image of the product."
+ },
+ "description": {
+ "type": "string",
+ "description": "A textual description providing details about the product."
+ },
+ "furtherInformation": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL pointing to further human readable information about the product."
+ },
+ "manufacturedDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The ISO 8601 date on which the product batch was manufactured."
+ },
+ "dimension": {
+ "$ref": "#/$defs/Dimension",
+ "description": "The physical dimensions of the product. Not every dimension is relevant to every products. For example bulk materials may have wieght and volume but not length, with, or height."
+ },
+ "characteristic": {
+ "$ref": "#/$defs/Characteristic",
+ "description": ""
+ },
+ "manufacturer": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity that manufactured the product."
+ },
+ "manufacturedAt": {
+ "$ref": "#/$defs/Facility",
+ "description": "The Facility where the product batch was manufactured."
+ },
+ "materialsProvenance": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Material"
+ },
+ "description": "An array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch."
+ },
+ "conformityClaim": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Claim"
+ },
+ "description": "An array of claim objects representing various product conformity claims about the product / batch. These can be sustainability claims, circularity claims, or any other claim type within the conformity topic list."
+ },
+ "recyclingInstruction": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to information regarding the recycling aspects of the product."
+ },
+ "traceabilityInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/TraceabilityEvent"
+ },
+ "description": "An array of TraceabilityEvent objects detailing EPCIS events related to the traceability of the product batch."
+ }
+ },
+ "description": "The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Classification": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "Classification scheme - eg https://unstats.un.org/unsd/classifications/Econ/cpc "
+ },
+ "classifierValue": {
+ "type": "string",
+ "description": "classifier value within the scheme - eg \"01211\" in UN CPC"
+ },
+ "classifierName": {
+ "type": "string",
+ "description": "Name of the classifier - eg \"Asparagus\" for code \"01211\" in UNCPC"
+ },
+ "classifierURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "Linked data URL to a web vocabulary entery for this classificaiton code. When this property is provided, the scheme, value, and name properties of the classifer are not required. eg https://vocabulary.uncefact.org/unlocode#AUBNE represensign the port of Brisbane in the UN/LOCODE classification scheme."
+ }
+ },
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility."
+ },
+ "BinaryFile": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fileHash": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "description": "The MD5 hash of the file."
+ },
+ "fileLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The location of the evidence file."
+ },
+ "fileType": {
+ "type": "string",
+ "x-external-enumeration": "https://mimetype.io/all-types",
+ "description": "The type of file, represented as a MIME type.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://mimetype.io/all-types\n "
+ }
+ },
+ "description": "A file representing a data snapshot that is used to infomr the conformity assessment."
+ },
+ "Dimension": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "weight": {
+ "$ref": "#/$defs/Measure",
+ "description": "the weight of the product"
+ },
+ "length": {
+ "$ref": "#/$defs/Measure",
+ "description": "The length of the product or packaging"
+ },
+ "width": {
+ "$ref": "#/$defs/Measure",
+ "description": "The width of the product or packaging"
+ },
+ "height": {
+ "$ref": "#/$defs/Measure",
+ "description": "The height of the product or packaging"
+ },
+ "volume": {
+ "$ref": "#/$defs/Measure",
+ "description": "The displacement volume of the product."
+ }
+ },
+ "description": "Overall (length, width, height) dimensions and weight/volume of an item."
+ },
+ "Measure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "number",
+ "description": "The numeric value of the measure"
+ },
+ "unit": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "Unit of measure drawn from the UNECE rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG)."
+ },
+ "Characteristic": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {},
+ "description": "Product specific characteristics. This class is an extension point for industry specific product characteristics or performance information such as clothing size or battery capacity."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Facility": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "identifier": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Identifier"
+ },
+ "description": "A unique identifier (URI) assigned to the facility. (Link Resolver - GS1 GLN?)"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the facility, represented as a text string."
+ },
+ "location": {
+ "type": "string",
+ "format": "uri",
+ "description": ""
+ },
+ "operatedBy": {
+ "$ref": "#/$defs/Party",
+ "description": "The Party entity responsible for operating the facility."
+ }
+ },
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
+ },
+ "Material": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "originCountry": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId",
+ "description": "A ISO 3166-1 code representing the country of origin of the component or ingredient.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId\n "
+ },
+ "materialType": {
+ "$ref": "#/$defs/Classification",
+ "description": "The type of this material - as a value drawn from a controlled vocabulary eg textileexchange.org/materials/rm01014 - representing organic cotton."
+ },
+ "massFraction": {
+ "type": "number",
+ "description": "A numeric value representing the mass fraction of the product represented by this material. The sum of all mass fraction values for a given passport should be 100."
+ },
+ "recycled": {
+ "type": "boolean",
+ "description": "Indicator is true if this material input is from a recycled source."
+ },
+ "hazardous": {
+ "type": "boolean",
+ "description": "Indicates whether this material is hazardous. If true then "
+ }
+ },
+ "description": "The material class encapsulates details about the origin or source of raw materials in a product, including the country of origin and the mass fraction."
+ },
+ "Claim": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "topic": {
+ "type": "string",
+ "enum": [
+ "environment.energy",
+ "environment.emissions",
+ "environment.water",
+ "environment.waste",
+ "environment.deforestation",
+ "environment.biodiversity",
+ "circularity.content",
+ "circularity.design",
+ "social.labour",
+ "social.rights",
+ "social.community",
+ "social.safety",
+ "governance.ethics",
+ "governance.compliance",
+ "governance.transparency"
+ ],
+ "example": "environment.energy",
+ "description": "A code representing the topic of the sustainability claim. E.g. environment.deforestation, environment.ghg-emission-intensity, etc.. Drawn from a standard code list. "
+ },
+ "standardOrRegulation": {
+ "type": "string",
+ "format": "uri",
+ "description": "The standard or regulation against which this conformity claim is made. Expressed as a URI and should match a value in the UN catalogue of reference vocabularies. "
+ },
+ "criteriaReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the specific criteria within the standard or regulation against which this claim is made."
+ },
+ "claimedValues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/Metric"
+ },
+ "description": "One or more actual measures supporting the claim. For example for GHG emissions there may be a metric for total emissions intensity and also a metric for amount of offsets included."
+ },
+ "benchmarkValue": {
+ "$ref": "#/$defs/Metric",
+ "description": "A benchmark value against which the claimed value can be assessed. THis could be a value specified by a standard or regulation or could be an industry benchmark."
+ },
+ "benchmarkReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A refernce to evidence to support the benchmark value."
+ },
+ "conformance": {
+ "type": "boolean",
+ "description": "and indicator (boolean) that expresses whether or not this product has achieved compliance against the criteria. for example, if the topic is environment.deforstation and the criteria is EU.2023.1115 then the product is conformant if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."
+ },
+ "conformityEvidence": {
+ "$ref": "#/$defs/Evidence",
+ "description": "A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."
+ }
+ },
+ "description": "The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."
+ },
+ "Metric": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A human readable name for this metric"
+ },
+ "value": {
+ "$ref": "#/$defs/Measure",
+ "description": "A numeric value representing the measurement or evaluation outcome for the claim."
+ },
+ "accuracy": {
+ "type": "number",
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
+ }
+ },
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of emasure) / value (ie the actual numeric value) pairs. "
+ },
+ "TraceabilityEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "eventReference": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URI pointing to the detailed information about the EPCIS event. Most likely in the form of a verifiable credential."
+ },
+ "eventType": {
+ "type": "string",
+ "enum": ["aggregation", "transformation", "object", "transaction", "association"],
+ "example": "aggregation",
+ "description": "A code representing the type of EPCIS event. ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent, ObjectEvent."
+ }
+ },
+ "description": "The TraceabilityEvent class represents a specific EPCIS event in the traceability chain of a product, including details about the event type and reference."
+ }
+ }
+ },
+ "data": {
+ "image": "data:image/jpg;base64,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",
+ "productIdentifier": [
+ {
+ "scheme": "https://id.gs1.org/gtin",
+ "identifierValue": "0105012345678900",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://id.gs1.org/gtin/05012345678900/binding"
+ }
+ }
+ ],
+ "batchIdentifier": [
+ {
+ "scheme": "https://trufflefarm.example.org/batch",
+ "identifierValue": "BATCH-2024-001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://trufflefarm.example.org/batch/2024-001/binding"
+ }
+ }
+ ],
+ "itemIdentifier": [
+ {
+ "scheme": "https://trufflefarm.example.org/item",
+ "identifierValue": "TRF-24-0001",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://trufflefarm.example.org/item/TRF-24-0001/binding"
+ }
+ }
+ ],
+ "classification": [
+ {
+ "scheme": "https://www.unspsc.org",
+ "classifierValue": "50383710",
+ "classifierName": "Truffles",
+ "classifierURL": "https://www.unspsc.org/search-code/50383710"
+ }
+ ],
+ "modelName": "Black Truffle",
+ "description": "Premium Black Truffles harvested from our sustainable truffle orchards.",
+ "furtherInformation": "https://trufflefarm.example.org/products/black_perigord",
+ "manufacturedDate": "2024-01-15",
+ "dimension": {
+ "weight": { "value": 50, "unit": "GRM" }
+ },
+ "materialsProvenance": [
+ {
+ "originCountry": "AU",
+ "materialType": {
+ "scheme": "https://www.gs1.org/gpc",
+ "classifierValue": "10005953",
+ "classifierName": "Truffles (Fresh)",
+ "classifierURL": "https://www.gs1.org/gpc/10005953"
+ },
+ "massFraction": 100,
+ "recycled": false,
+ "hazardous": false
+ }
+ ],
+ "characteristic": {
+ "variety": "Tuber melanosporum",
+ "grade": "Extra",
+ "aroma": "Intense, earthy",
+ "flavor": "Rich, complex"
+ },
+ "manufacturer": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Truffle Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ },
+ "manufacturedAt": {
+ "identifier": [
+ {
+ "scheme": "https://identifier.example.org/facility",
+ "identifierValue": "FAC-5678",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/facility/5678/binding"
+ }
+ }
+ ],
+ "name": "Truffle Orchard",
+ "location": "https://trufflefarm.example.org/locations/perigord_orchard",
+ "operatedBy": {
+ "id": "did:example:123456789abcdefghi",
+ "name": "Gourmet Truffle Farm",
+ "identifiers": [
+ {
+ "scheme": "https://identifier.example.org/company",
+ "identifierValue": "COMP-12345",
+ "binding": {
+ "type": "document",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://identifier.example.org/company/12345/binding"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "className": "json-form",
+ "style": {
+ "margin": "40px auto",
+ "paddingTop": "40px",
+ "width": "80%"
+ }
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {}
+ }
+ ],
+ "services": [
+ {
+ "name": "processDPP",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app"
+ },
+ "dpp": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],
+ "renderTemplate": [
+ {
+ "template": " Digital Product Passport
Conformity credentials are usually issued by independent third parties and provide a trusted assessment of product ESG performance against credible standards or regulations
",
+ "@type": "WebRenderingTemplate2022"
+ }
+ ],
+ "type": ["VerifiableCredential", "DigitalProductPassport"],
+ "dlrLinkTitle": "Truffle Product Passport",
+ "dlrIdentificationKeyType": "gtin",
+ "dlrVerificationPage": "http://localhost:3003/verify"
+ },
+ "dlr": {
+ "dlrAPIUrl": "http://localhost:3000/api",
+ "dlrAPIKey": "test123"
+ },
+ "storage": {
+ "url": "http://localhost:3334/v1/documents",
+ "params": {
+ "resultPath": "/uri",
+ "bucket": "verifiable-credentials"
+ },
+ "options": {
+ "method": "POST",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ }
+ },
+ "identifierKeyPath": "/productIdentifier/0/identifierValue"
+ }
+ ]
+ },
+ {
+ "name": "mergeToLocalStorage",
+ "parameters": [
+ {
+ "storageKey": "truffleFarm_dpps",
+ "objectKeyPath": "/vc/credentialSubject/productIdentifier/0/identifierValue"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Sell Truffle",
+ "id": "transaction_product",
+ "components": [
+ {
+ "name": "LocalStorageLoader",
+ "type": "EntryData",
+ "props": {
+ "storageKey": "truffleFarm_dpps",
+ "nestedComponents": [
+ {
+ "name": "JsonForm",
+ "type": "EntryData",
+ "props": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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.",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$defs": {
+ "TransactionEvent": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sourceParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The source party for this supply chain transaction - typically the seller party"
+ },
+ "destinationParty": {
+ "$ref": "#/$defs/Party",
+ "description": "The destination party for this supply chain transaction - typically the buyer party."
+ },
+ "epcList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Item" },
+ "description": "The list of uniquely identified trade items included in this supply chain transaction."
+ },
+ "quantityList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/QuantityElement" },
+ "description": "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)"
+ },
+ "referenceDocument": {
+ "$ref": "#/$defs/TradeDocument",
+ "description": "The supply chain document reference for this transaction event - eg the invoice, order, or dispatch advice"
+ },
+ "eventID": {
+ "x-jargon-isKey": true,
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique identifier of this event - SHOULD be a UUID"
+ },
+ "eventTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The ISO-8601 date time when the event occurred."
+ },
+ "action": {
+ "type": "string",
+ "enum": ["observe", "add", "delete"],
+ "example": "observe",
+ "description": "Code describing how an event relates to the lifecycle of the entity impacted by the event."
+ },
+ "disposition": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/Disp",
+ "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n "
+ },
+ "bizStep": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep",
+ "description": "A business step code drawn from a controlled vocabulary. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n "
+ },
+ "bizLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "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 EPCIS event until it is reported to be at a different Business Location by a subsequent EPCIS event. The bizLocation must be a resolvable URI that links to facility information and geolocation data."
+ },
+ "sensorElementList": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorElement" },
+ "description": "An array (one for each sensor) of sensor device data sets associated with the event. "
+ }
+ },
+ "description": "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."
+ },
+ "Party": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The decentralised identifier of the party - must be a W3C DID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the organization or company, represented as a text string."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/Identifier" },
+ "description": "A list of unique business identifiers assigned to the party - such as tax registration numbers."
+ }
+ },
+ "description": "The Party class represents an entity such as an organization, or a company that manufactured the product."
+ },
+ "Identifier": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "format": "uri",
+ "description": "the identifier scheme as defined by the registrar that manages the identifier registry. If the identifier scheme is registered with UNTP then this URI can use used to dicsover the resolution method (to get more data) and the verification method (to prove ownership)."
+ },
+ "identifierValue": {
+ "type": "string",
+ "description": "The value of the identifier within the scheme"
+ },
+ "binding": {
+ "$ref": "#/$defs/Evidence",
+ "description": "Link to evidence that attests to the validity and ownership of the identifer. "
+ }
+ },
+ "description": "An identifier of a party, product, or facility that is defined by an identifier scheme and idenfier value and, optinally, verification evidence "
+ },
+ "Evidence": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["w3c_vc", "iso_mdl", "document", "website", "other"],
+ "example": "w3c_vc",
+ "description": "Format of the evidence (verifiable credential, document, website, etc)"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "enum": ["Self", "Commercial", "Buyer", "Membership", "Unspecified", "3rdParty"],
+ "example": "Self",
+ "description": "The assurance level of the evidence (self declaration, 2nd party, 3rd party, accredited auditor)"
+ },
+ "reference": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL at which the evidence data can be found. "
+ }
+ },
+ "description": "Evidence to support a conformity or identity claim. "
+ },
+ "Item": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "itemID": {
+ "x-jargon-isKey": true,
+ "type": "string",
+ "format": "uri",
+ "description": "The globally unique identifier (eg GS1 GTIN or digital link) of the product item. "
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the product class to which the product item belongs. "
+ }
+ },
+ "description": "A specific trade item /product code which could be either a product serial number or a consignment identifier "
+ },
+ "QuantityElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "epcClass": {
+ "type": "string",
+ "format": "uri",
+ "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product."
+ },
+ "quantity": {
+ "type": "number",
+ "description": "The numeric quantity of the product class (eg 100 kg of cotton)"
+ },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "The quantity element is used to define the quantities (eg 100), units of measure (eg Kg) and product class (eg GTIN or other class identifier) of products that are inputs or outputs or the subject of supply chain events. ",
+ "required": ["quantity"]
+ },
+ "TradeDocument": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "x-external-enumeration": "https://ref.gs1.org/cbv/BTT",
+ "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n "
+ },
+ "identifier": {
+ "type": "string",
+ "description": "The identifier of the trade transaction document - eg an invoice number or bill of lading number. Must be unique for a given source party"
+ },
+ "documentURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the referenced trade document. For integrity reasons, it is recommended (but not required) that the documentURL is a hashlink (https://w3c-ccg.github.io/hashlink/) so that if the document the URL is changed then the hash verification will fail."
+ }
+ },
+ "description": "A trade transaction between two parties such as an invoice, purchase order, or shipping notification."
+ },
+ "SensorElement": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "sensorMetadata": {
+ "$ref": "#/$defs/Sensor",
+ "description": "Data that describes the physical sensor that recorded the sensor data set."
+ },
+ "sensorReport": {
+ "type": "array",
+ "items": { "$ref": "#/$defs/SensorData" },
+ "description": "A list of sensor readings from the given sensor relevant to the traceability event context."
+ },
+ "sensorIntegrityProof": {
+ "type": "string",
+ "format": "uri",
+ "description": "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."
+ }
+ },
+ "description": "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."
+ },
+ "Sensor": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "device": {
+ "$ref": "#/$defs/Item",
+ "description": "The device Identifier for the sensor as a URI (typically an EPC)"
+ },
+ "dataProcessingMethod": {
+ "type": "string",
+ "format": "uri",
+ "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI"
+ }
+ },
+ "description": "A physical sensor that records a sensor data set."
+ },
+ "SensorData": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp at which the sensor reading was made."
+ },
+ "type": {
+ "type": "string",
+ "format": "uri",
+ "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification."
+ },
+ "value": { "type": "number", "description": "the sensor reading" },
+ "uom": {
+ "type": "string",
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode",
+ "description": "the unit of measure for the sensor reading\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n "
+ }
+ },
+ "description": "A data point read by a sensor."
+ }
+ }
+ }
+ },
+ "constructData": {
+ "mappingFields": [
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/eventID"
+ },
+ {
+ "sourcePath": "/vc/credentialSubject/productIdentifier/0/identifierValue",
+ "destinationPath": "/epcList/index/name"
+ },
+ {
+ "sourcePath": "/linkResolver",
+ "destinationPath": "/epcList/index/itemID"
+ }
+ ],
+ "dummyFields": [
+ {
+ "path": "/action",
+ "data": "observe"
+ },
+ {
+ "path": "/disposition",
+ "data": "https://ref.gs1.org/cbv/Disp/in_transit"
+ },
+ {
+ "path": "/bizStep",
+ "data": "https://ref.gs1.org/cbv/BizStep/receiving"
+ },
+ {
+ "path": "/bizLocation",
+ "data": "https://example.com/warehouse"
+ },
+ {
+ "path": "/sourceParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Truffle Farm",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/source",
+ "identifierValue": "SRC123456",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/source_evidence"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "path": "/destinationParty",
+ "data": {
+ "id": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app",
+ "name": "Truffle Processor",
+ "identifiers": [
+ {
+ "scheme": "https://example.com/scheme/destination",
+ "identifierValue": "DST7891011",
+ "binding": {
+ "type": "w3c_vc",
+ "assuranceLevel": "3rdParty",
+ "reference": "https://example.com/destination_evidence"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "generationFields": [
+ {
+ "path": "/eventID",
+ "handler": "generateIdWithSerialNumber"
+ },
+ {
+ "path": "/eventTime",
+ "handler": "generateCurrentDatetime"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "CustomButton",
+ "type": "Submit",
+ "props": {
+ "includeDownload": true,
+ "downloadFileName": "transaction"
+ }
+ }
+ ],
+ "services": [
+ {
+ "name": "processTransactionEvent",
+ "parameters": [
+ {
+ "vckit": {
+ "vckitAPIUrl": "http://localhost:3332/v1",
+ "issuer": "did:web:143f-2406-2d40-4106-2b10-38c6-9732-f2d9-bb1c.ngrok-free.app"
+ },
+ "epcisTransactionEvent": {
+ "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/transaction-event-ld.json"],
+ "renderTemplate": [
+ {
+ "template": "Transaction Event