From a5b3644e5e0f6590b532a248966272c271f87d80 Mon Sep 17 00:00:00 2001 From: Kseniya Shychko Date: Sun, 3 Mar 2024 13:56:08 +0100 Subject: [PATCH] chore: cleanup json schemas --- Event.json | 2 +- ProductPassport.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Event.json b/Event.json index c0d7375c3..161f48050 100644 --- a/Event.json +++ b/Event.json @@ -1 +1 @@ -{"type":"object","additionalProperties":false,"properties":{"eventID":{"x-jargon-isKey":true,"readOnly":true,"type":"string","description":"The unique identifier of this event - SHOULD be a UUID"},"eventType":{"type":"string","enum":["object","transaction","aggregation","transformation"],"example":"object","description":"The event type - object, aggregation, transformation, transaction."},"eventTime":{"type":"string","description":"The ISO-8601 date time when the event occured."},"actionCode":{"type":"string","enum":["observe","add","delete"],"example":"observe","description":"The Action type says how an event relates to the lifecycle of the entity being described. For example, AggregationEvent is used to capture events related to aggregations of objects, such as cases aggregated to a pallet. Throughout its life, the pallet load participates in many business process steps, each of which may generate an EPCIS event. The action field of each event says how the aggregation itself has changed during the event: have objects been added to the aggregation, have objects been removed from the aggregation, or has the aggregation simply been observed without change to its membership? The action is independent of the bizStep (of type BusinessStepID) which identifies the specific business process step in which the action took place. allowed values are: - ADD (The entity in question has been created or added to.) - OBSERVE (Theentityinquestionhasnotbeenchanged:ithasneitherbeencreated,addedto,destroyed,orremovedfrom.) - DELETE (The entity in question has been removed from or destroyed altogether.)"},"dispositionCode":{"type":"string","enum":["active","expired","disposed","conformant","non_conformant","in-transit","dispensed"],"example":"active","description":"Disposition code is a vocabulary whose elements denote a business state of an object. An example is a code that denotes “recalled\". The disposition field of an event specifies the business condition of the event’s objects, subsequent to the event. The disposition is assumed to hold true until another event indicates a change of disposition. Intervening events that do not specify a disposition field have no effect on the presumed disposition of the object. The GS1 vocabulary (CBV v2.0) defines 33 possible disposition codes but this specification restricts the options to the minimum set of values that are relevant for supply chain traceability. "},"businessStepCode":{"type":"string","enum":["commissioning","inspecting","shipping","packing","unpacking"],"example":"commissioning","description":"BusinessStepID is a vocabulary whose elements denote steps in business processes. An example is an identifier that denotes “shipping.” The business step field of an event specifies the business context of an event: what business process step was taking place that caused the event to be captured? This specification has chosena 5 of the 41 possible bizstep values defined by GS1 that are appropriate for the sustainbility use case."},"readPointId":{"type":"string","description":"A Read Point is a discretely recorded location that is meant to identify the most specific place at which an EPCIS event took place. Read Points are determined by the EPCIS Capturing Application, perhaps inferred as a function of logical reader if stationary readers are used, perhaps determined overtly by reading a location tag if the reader is mobile, or in general determined by any other means the EPCIS Capturing Application chooses to use. Conceptually, the Read Point is designed to identify “where objects were at the time of the EPCIS event.”"},"locationId":{"type":"string","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. This specification requires the use of https://maps.google.com/pluscodes/ as geospatial identifiers rather than identifier schemes that cannot be reolved to a geogrpahic point or area."},"certification":{"type":"array","items":{"$ref":"#/$defs/CertificationInfo"},"description":"Any test result or certification related to this EPCIS event.Could be self-assessed or independent and has asssociated sustainabiloity claims from the ITC vocabulary."}},"description":"This abstract event structure provides a common language to describe supply chain events such as shipments, inspections, manufacturing processes, etc. There are four types of EPCIS event but this is an abstract class represenitng all common properties of an EPCIS event. ","$schema":"https://json-schema.org/draft/2020-12/schema","$defs":{"CertificationInfo":{"type":"object","additionalProperties":false,"properties":{"certificateID":{"x-jargon-isKey":true,"type":"string","format":"uri","description":"The ID of the certificate document"},"referenceStandard":{"type":"string","format":"uri","description":"The identifier (as a URI) of the sustainability standard against whichthe certificate is issued. For example abvtex.org.br/v4.0"},"evidenceURL":{"type":"string","format":"uri","description":"The URL of the certificate document. For privacy and 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.* the document is encrypted for privacy reasons and that the symmetric key for decruption is provided as a URL parameter.* the document filename is a GUID so that there is no leakage of possibly identifying information in the URL.https://domain/GUID?h1={document_hash}&key={decryption_key}For examplehttps://docstore.com/ef1e69fbbeaf47b4af97e29c69dc09cf.pdf?h1=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e&key=462D4A614E645267556B587032733576"},"criteriaList":{"type":"array","items":{"type":"string","format":"uri"},"description":"Optional list of specific sustainability criteria that the certificate claims are met."},"assessmentLevel":{"type":"string","enum":["self-assessed","independent-certifier"],"example":"self-assessed","description":"The integrity level of the sustainability claims. Self asssed or independently certified. "},"responsibleAgency":{"$ref":"#/$defs/Party","description":"The issuing authority of the certificate."}},"description":"Details of a self asssessed or independently verified set of sustainability claims about a product or an establishment."},"Party":{"type":"object","additionalProperties":false,"properties":{"partyID":{"x-jargon-isKey":true,"type":"string","format":"uri","description":"The globally unique identifier of the party. This must be expressed as a URI that is (preferably) resolvable to an entity register such as a national business register - eg https://abr.business.gov.au/ABN/View?abn=41161080146 "},"name":{"type":"string","description":"The entity name of the identified party - usually the business anme from the corresponding natinal registery -eg ACME LTD"}},"description":"A trade party "}}} \ No newline at end of file +{"type":"object","additionalProperties":false,"properties":{"eventID":{"readOnly":true,"type":"string","description":"The unique identifier of this event - SHOULD be a UUID"},"eventType":{"type":"string","enum":["object","transaction","aggregation","transformation"],"example":"object","description":"The event type - object, aggregation, transformation, transaction."},"eventTime":{"type":"string","description":"The ISO-8601 date time when the event occured."},"actionCode":{"type":"string","enum":["observe","add","delete"],"example":"observe","description":"The Action type says how an event relates to the lifecycle of the entity being described. For example, AggregationEvent is used to capture events related to aggregations of objects, such as cases aggregated to a pallet. Throughout its life, the pallet load participates in many business process steps, each of which may generate an EPCIS event. The action field of each event says how the aggregation itself has changed during the event: have objects been added to the aggregation, have objects been removed from the aggregation, or has the aggregation simply been observed without change to its membership? The action is independent of the bizStep (of type BusinessStepID) which identifies the specific business process step in which the action took place. allowed values are: - ADD (The entity in question has been created or added to.) - OBSERVE (Theentityinquestionhasnotbeenchanged:ithasneitherbeencreated,addedto,destroyed,orremovedfrom.) - DELETE (The entity in question has been removed from or destroyed altogether.)"},"dispositionCode":{"type":"string","enum":["active","expired","disposed","conformant","non_conformant","in-transit","dispensed"],"example":"active","description":"Disposition code is a vocabulary whose elements denote a business state of an object. An example is a code that denotes “recalled\". The disposition field of an event specifies the business condition of the event’s objects, subsequent to the event. The disposition is assumed to hold true until another event indicates a change of disposition. Intervening events that do not specify a disposition field have no effect on the presumed disposition of the object. The GS1 vocabulary (CBV v2.0) defines 33 possible disposition codes but this specification restricts the options to the minimum set of values that are relevant for supply chain traceability. "},"businessStepCode":{"type":"string","enum":["commissioning","inspecting","shipping","packing","unpacking"],"example":"commissioning","description":"BusinessStepID is a vocabulary whose elements denote steps in business processes. An example is an identifier that denotes “shipping.” The business step field of an event specifies the business context of an event: what business process step was taking place that caused the event to be captured? This specification has chosena 5 of the 41 possible bizstep values defined by GS1 that are appropriate for the sustainbility use case."},"readPointId":{"type":"string","description":"A Read Point is a discretely recorded location that is meant to identify the most specific place at which an EPCIS event took place. Read Points are determined by the EPCIS Capturing Application, perhaps inferred as a function of logical reader if stationary readers are used, perhaps determined overtly by reading a location tag if the reader is mobile, or in general determined by any other means the EPCIS Capturing Application chooses to use. Conceptually, the Read Point is designed to identify “where objects were at the time of the EPCIS event.”"},"locationId":{"type":"string","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. This specification requires the use of https://maps.google.com/pluscodes/ as geospatial identifiers rather than identifier schemes that cannot be reolved to a geogrpahic point or area."},"certification":{"type":"array","items":{"$ref":"#/$defs/CertificationInfo"},"description":"Any test result or certification related to this EPCIS event.Could be self-assessed or independent and has asssociated sustainabiloity claims from the ITC vocabulary."}},"description":"This abstract event structure provides a common language to describe supply chain events such as shipments, inspections, manufacturing processes, etc. There are four types of EPCIS event but this is an abstract class represenitng all common properties of an EPCIS event. ","$schema":"https://json-schema.org/draft/2020-12/schema","$defs":{"CertificationInfo":{"type":"object","additionalProperties":false,"properties":{"certificateID":{"type":"string","format":"uri","description":"The ID of the certificate document"},"referenceStandard":{"type":"string","format":"uri","description":"The identifier (as a URI) of the sustainability standard against whichthe certificate is issued. For example abvtex.org.br/v4.0"},"evidenceURL":{"type":"string","format":"uri","description":"The URL of the certificate document. For privacy and 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.* the document is encrypted for privacy reasons and that the symmetric key for decruption is provided as a URL parameter.* the document filename is a GUID so that there is no leakage of possibly identifying information in the URL.https://domain/GUID?h1={document_hash}&key={decryption_key}For examplehttps://docstore.com/ef1e69fbbeaf47b4af97e29c69dc09cf.pdf?h1=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e&key=462D4A614E645267556B587032733576"},"criteriaList":{"type":"array","items":{"type":"string","format":"uri"},"description":"Optional list of specific sustainability criteria that the certificate claims are met."},"assessmentLevel":{"type":"string","enum":["self-assessed","independent-certifier"],"example":"self-assessed","description":"The integrity level of the sustainability claims. Self asssed or independently certified. "},"responsibleAgency":{"$ref":"#/$defs/Party","description":"The issuing authority of the certificate."}},"description":"Details of a self asssessed or independently verified set of sustainability claims about a product or an establishment."},"Party":{"type":"object","additionalProperties":false,"properties":{"partyID":{"type":"string","format":"uri","description":"The globally unique identifier of the party. This must be expressed as a URI that is (preferably) resolvable to an entity register such as a national business register - eg https://abr.business.gov.au/ABN/View?abn=41161080146 "},"name":{"type":"string","description":"The entity name of the identified party - usually the business anme from the corresponding natinal registery -eg ACME LTD"}},"description":"A trade party "}}} \ No newline at end of file diff --git a/ProductPassport.json b/ProductPassport.json index a2787c8bf..d87ad83d9 100644 --- a/ProductPassport.json +++ b/ProductPassport.json @@ -1 +1 @@ -{"type":"object","additionalProperties":false,"properties":{"id":{"x-jargon-isKey":true,"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the product passport."},"issuedBy":{"$ref":"#/$defs/Party","description":"The Party entity that issued the product passport."},"product":{"$ref":"#/$defs/ProductInformation","description":"Detailed information about the product encapsulated in a ProductInformation object."},"batch":{"$ref":"#/$defs/ProductBatch","description":"Information regarding the specific batch the product belongs to, encapsulated in a ProductBatch object."},"sustainabilityScore":{"type":"number","description":"An aggregate numeric metric calculated based on the various sustainability claims associated with the product. It amalgamates scores assigned to individual sustainability claims, which are validated by various issuing bodies. The score provides a comprehensive view of the product's overall sustainability performance, giving users a quantifiable measure of the product's environmental and social impacts."},"trustScore":{"type":"number","description":"An aggregate numeric metric that represents the level of trustworthiness associated with the product. This score is derived based on the credibility and reliability of the issuing bodies that substantiate the claims being made about the product. The trustworthiness of each issuing body is assessed to compute an overall trust score, giving users a quantifiable measure of the trust they can place in the product's claims."}},"description":"The ProductPassport is a comprehensive data structure that encapsulates various details pertaining to a product, including its identification details, who issued it, batch information, and different scores relating to sustainability and trustworthiness.","$schema":"https://json-schema.org/draft/2020-12/schema","$defs":{"Party":{"type":"object","additionalProperties":false,"properties":{"id":{"x-jargon-isKey":true,"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the organization or company. (Link Resolver - GS1 company prefix?)"},"name":{"type":"string","description":"The name of the organization or company, represented as a text string."}},"description":"The Party class represents an entity such as an organization, or a company that manufactured the product."},"ProductInformation":{"type":"object","additionalProperties":false,"properties":{"productId":{"x-jargon-isKey":true,"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the product. (Link Resolver - GS1 GTIN?)"},"model":{"type":"string","description":"The model name or number of the product, represented as text."},"productClass":{"type":"string","description":"A code representing the product's class, typically using the UNSPSC (United Nations Standard Products and Services Code) classification."},"image":{"type":"string","format":"uri","description":"A unique identifier (URI) pointing to an image of the product."},"description":{"type":"string","description":"A textual description providing details about the product."},"recyclingInfo":{"type":"string","format":"uri","description":"A URI pointing to information regarding the recycling aspects of the product."},"manufacturer":{"$ref":"#/$defs/Party","description":"The Party entity that manufactured the product."}},"description":"The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."},"ProductBatch":{"type":"object","additionalProperties":false,"properties":{"batchId":{"x-jargon-isKey":true,"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the product batch. (Link Resolver - GS1-128?)"},"serialNumber":{"type":"array","items":{"type":"string"},"description":"The serial number(s) of the product or products in the batch, represented as text."},"manufacturedAt":{"$ref":"#/$defs/Facility","description":"The Facility where the product batch was manufactured."},"manufacturedDate":{"type":"string","format":"date","description":"The ISO 8601 date on which the product batch was manufactured."},"provenance":{"type":"array","items":{"$ref":"#/$defs/Provenance"},"description":"An array of Provenance objects providing details on the origin of components or ingredients of the product batch."},"sustainabilityInfo":{"type":"array","items":{"$ref":"#/$defs/SustainabilityClaim"},"description":"An array of SustainabilityClaim objects representing various sustainability claims about the product batch."},"traceabilityInfo":{"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 ProductBatch class holds information related to a specific batch of products, including manufacturing details, sustainability claims and provenance information."},"Facility":{"type":"object","additionalProperties":false,"properties":{"id":{"x-jargon-isKey":true,"type":"string","format":"uri","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."},"operatedBy":{"$ref":"#/$defs/Party","description":"The Party entity responsible for operating the facility."}},"description":"The Facility class embodies information about a specific facility, which manufactured the product."},"Provenance":{"type":"object","additionalProperties":false,"properties":{"country":{"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 "},"percentage":{"type":"number","description":"A numeric value representing the percentage composition of the component or ingredient in the product."},"guaranteeOfOriginCredential":{"type":"string","format":"uri","description":""}},"description":"The Provenance class encapsulates details about the origin or source of components or ingredients in a product, including the country of origin and the percentage composition."},"SustainabilityClaim":{"type":"object","additionalProperties":false,"properties":{"topic":{"type":"string","enum":["environment.emissions","environment.water","environment.waste","environment.deforestation","environment.emissions","social.employment","social.safety","social.biosecurity","governance.ethics"],"example":"environment.emissions","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. "},"criteria":{"type":"string","format":"uri","description":"A URI pointing to the regulation or standard governing the claim."},"sustainabilityCredential":{"type":"string","format":"uri","description":"A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."},"metric":{"type":"array","items":{"$ref":"#/$defs/SustainabilityMetric"},"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."},"compliance":{"type":"boolean","description":"and indicator (boolean) that expresses whether or not this product has acehived compliance against the rule. for example, if the topic is environment.deforstation and the rule is EU.2023.1115 then the product is complianct if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."}},"description":"The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."},"SustainabilityMetric":{"type":"object","additionalProperties":false,"properties":{"metric":{"type":"string","format":"uri","description":"A URI pointing to an entry in a web vocabulary that defines the specific metric unit of measure and how it's calculated."},"unit":{"type":"string","description":"The unit of measure. for example, energy generaiton intensity in Kg Co2e per kWh produced. Or Kg Co2e per Kg of livestock gross weight. "},"value":{"type":"number","description":"A numeric value representing the measurement or evaluation outcome for the claim."}},"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"],"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."}}} \ No newline at end of file +{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the product passport."},"issuedBy":{"$ref":"#/$defs/Party","description":"The Party entity that issued the product passport."},"product":{"$ref":"#/$defs/ProductInformation","description":"Detailed information about the product encapsulated in a ProductInformation object."},"batch":{"$ref":"#/$defs/ProductBatch","description":"Information regarding the specific batch the product belongs to, encapsulated in a ProductBatch object."},"sustainabilityScore":{"type":"number","description":"An aggregate numeric metric calculated based on the various sustainability claims associated with the product. It amalgamates scores assigned to individual sustainability claims, which are validated by various issuing bodies. The score provides a comprehensive view of the product's overall sustainability performance, giving users a quantifiable measure of the product's environmental and social impacts."},"trustScore":{"type":"number","description":"An aggregate numeric metric that represents the level of trustworthiness associated with the product. This score is derived based on the credibility and reliability of the issuing bodies that substantiate the claims being made about the product. The trustworthiness of each issuing body is assessed to compute an overall trust score, giving users a quantifiable measure of the trust they can place in the product's claims."}},"description":"The ProductPassport is a comprehensive data structure that encapsulates various details pertaining to a product, including its identification details, who issued it, batch information, and different scores relating to sustainability and trustworthiness.","$schema":"https://json-schema.org/draft/2020-12/schema","$defs":{"Party":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the organization or company. (Link Resolver - GS1 company prefix?)"},"name":{"type":"string","description":"The name of the organization or company, represented as a text string."}},"description":"The Party class represents an entity such as an organization, or a company that manufactured the product."},"ProductInformation":{"type":"object","additionalProperties":false,"properties":{"productId":{"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the product. (Link Resolver - GS1 GTIN?)"},"model":{"type":"string","description":"The model name or number of the product, represented as text."},"productClass":{"type":"string","description":"A code representing the product's class, typically using the UNSPSC (United Nations Standard Products and Services Code) classification."},"image":{"type":"string","format":"uri","description":"A unique identifier (URI) pointing to an image of the product."},"description":{"type":"string","description":"A textual description providing details about the product."},"recyclingInfo":{"type":"string","format":"uri","description":"A URI pointing to information regarding the recycling aspects of the product."},"manufacturer":{"$ref":"#/$defs/Party","description":"The Party entity that manufactured the product."}},"description":"The ProductInformation class encapsulates detailed information regarding a specific product, including its identification details, manufacturer, and other pertinent details."},"ProductBatch":{"type":"object","additionalProperties":false,"properties":{"batchId":{"type":"string","format":"uri","description":"A unique identifier (URI) assigned to the product batch. (Link Resolver - GS1-128?)"},"serialNumber":{"type":"array","items":{"type":"string"},"description":"The serial number(s) of the product or products in the batch, represented as text."},"manufacturedAt":{"$ref":"#/$defs/Facility","description":"The Facility where the product batch was manufactured."},"manufacturedDate":{"type":"string","format":"date","description":"The ISO 8601 date on which the product batch was manufactured."},"provenance":{"type":"array","items":{"$ref":"#/$defs/Provenance"},"description":"An array of Provenance objects providing details on the origin of components or ingredients of the product batch."},"sustainabilityInfo":{"type":"array","items":{"$ref":"#/$defs/SustainabilityClaim"},"description":"An array of SustainabilityClaim objects representing various sustainability claims about the product batch."},"traceabilityInfo":{"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 ProductBatch class holds information related to a specific batch of products, including manufacturing details, sustainability claims and provenance information."},"Facility":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uri","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."},"operatedBy":{"$ref":"#/$defs/Party","description":"The Party entity responsible for operating the facility."}},"description":"The Facility class embodies information about a specific facility, which manufactured the product."},"Provenance":{"type":"object","additionalProperties":false,"properties":{"country":{"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 "},"percentage":{"type":"number","description":"A numeric value representing the percentage composition of the component or ingredient in the product."},"guaranteeOfOriginCredential":{"type":"string","format":"uri","description":""}},"description":"The Provenance class encapsulates details about the origin or source of components or ingredients in a product, including the country of origin and the percentage composition."},"SustainabilityClaim":{"type":"object","additionalProperties":false,"properties":{"topic":{"type":"string","enum":["environment.emissions","environment.water","environment.waste","environment.deforestation","environment.emissions","social.employment","social.safety","social.biosecurity","governance.ethics"],"example":"environment.emissions","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. "},"criteria":{"type":"string","format":"uri","description":"A URI pointing to the regulation or standard governing the claim."},"sustainabilityCredential":{"type":"string","format":"uri","description":"A URI pointing to the evidence supporting the claim. Most likely in the form of a verifiable credential."},"metric":{"type":"array","items":{"$ref":"#/$defs/SustainabilityMetric"},"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."},"compliance":{"type":"boolean","description":"and indicator (boolean) that expresses whether or not this product has acehived compliance against the rule. for example, if the topic is environment.deforstation and the rule is EU.2023.1115 then the product is complianct if it has not touched any facility throughout it's lifecycle that is not deforestation free since dec 2020."}},"description":"The SustainabilityClaim class represents specific claims regarding the sustainability of a product, providing details about the metrics, thresholds, and evidences supporting the claim."},"SustainabilityMetric":{"type":"object","additionalProperties":false,"properties":{"metric":{"type":"string","format":"uri","description":"A URI pointing to an entry in a web vocabulary that defines the specific metric unit of measure and how it's calculated."},"unit":{"type":"string","description":"The unit of measure. for example, energy generaiton intensity in Kg Co2e per kWh produced. Or Kg Co2e per Kg of livestock gross weight. "},"value":{"type":"number","description":"A numeric value representing the measurement or evaluation outcome for the claim."}},"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"],"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."}}} \ No newline at end of file