Disaggregation
Purpose: Breaks down aggregated units into smaller components.
Example: Unpacking a pallet into individual boxes upon arrival.
Key elements:
- Same structure as Aggregation.
- Involves
parentIDand a list ofchildEPCsorchildQuantityList. - Reverses the effect of an Aggregation event.
XML payload fields
The following table describes EPCIS XML document payload fields applicable to disaggregation events.
| Name | Type | Description | Required | Example |
|---|---|---|---|---|
| eventTime | string | Specifies the UTC time in ISO 8601 format when the aggregation event occurred. | Yes | <eventTime>2013-06-08T14:58:56.591Z</eventTime> |
| eventTimeZoneOffset | string | Specifies the time zone offset where the event occurred, expressed as an offset from UTC. | Yes | <eventTimeZoneOffset>+02:00</eventTimeZoneOffset> |
| baseExtension.eventID | string | Specifies a Universally Unique Identifier (UUID) eventID for the disaggregation event. If not specified, the system generates an event ID. The UUID can be any 128-bit number that is 32 hexadecimal digits in length. Walmart recommends that you provide a unique eventID for each disaggregation event. | no | <eventID>urn:uuid:6926712e-599f-4c4e-b6e9-8dd888c906bd</eventID> |
| parentID | string | Specifies a single parent object into which child objects have been aggregated (may be SSCC or internal license plate numbers). Do not reuse pallet IDs (internal or SSCC) for at least one year. Pallets moving across company boundaries should have SSCCs. For example, pallets shipped from a supplier to the retailer should have an SSCC. Internally assigned pallet IDs should be reported with a company prefix for disambiguation: An EPC SSCC has 17 digits. Use the Form the | Yes | <parentID>urn:epc:id:sscc:5012345.0678901234</parentID> |
| childEPCs | list | A list of EPCs that specifies what objects were bundled together in an EPCIS aggregation event. This tag must be specified unless the childQuantityList tag is present. | Conditional |
|
| action | string | Specifies the action of the EPCIS event. For disaggregation events, the action is DELETE. | Yes | <action>ADD</action> |
| bizStep | string | Specifies the business step that this event was a part of. ValidbizStep values are:
For more information, see the Core Business Vocabulary Standard Section 7.1.3 (PDF) . | No | <bizStep>urn:epcglobal:cbv:bizstep:packing</bizStep> |
| disposition | string | Specifies the condition of the objects after this event. Valid disposition values are:
For more information, see the Core Business Vocabulary Standard Section 7.2.3 (PDF) . | No | <disposition>urn:epcglobal:cbv:disp:in_progress</disposition> |
| readPoint | string | Specifies the Serial Global Location Number (SGLN) where the read event occurred. Used to indicate an event location other than the mandatory
| No | <readPoint><id>urn:epc:id:sgln:0614141.00777.0</id></readPoint> |
| bizLocation | string | Specifies the Serial Global Location Number (SGLN) for the business where the aggregation event occurred. | Yes | <bizLocation><id>urn:epc:id:sgln:0614141.00888.0</id></bizLocation> |
| bizTransactionList | list | Specifies a list of business transactions associated with this event. The bizTransactionList element is required when this event is used to indicate a receiving shipment from a supplier to a retailer. The bizTransactionList should include a purchase order (PO) number. | No | <bizTransactionList><br><bizTransaction type="urn:epcglobal:cbv:btt:po">urn:epcglobal:cbv:bt:5412345000037:3352</bizTransaction><br><bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction><br></bizTransactionList> |
| bizTransactionList.bizTransaction | string | Specifies a business transaction associated with the aggregation event. Valid bizTransaction attribute types are:
Syntax:
| No | The following example uses the
The following example uses the
|
| extension.childQuantityList | list | Specifies one or more This element is required if the | No | <childQuantityList><br><quantityElement><br><epcClass>urn:epc:class:lgtin:0030223.104480.214</epcClass><br><quantity>214</quantity><br><uom>CS</uom><br></quantityElement><br><quantityElement><br><epcClass>urn:epc:class:lgtin:0030223.106952.215</epcClass> <quantity>215</quantity><br><uom>CS</uom> </quantityElement><br></childQuantityList> |
| extension.childQuantityList.quantityElement | list | Specifies one or more This element is required if the | No | <quantityElement><br><epcClass>urn:epc:class:lgtin:0030223.104480.214</epcClass><br><quantity>214</quantity><br><uom>CS</uom><br></quantityElement> |
| extension.childQuantityList.quantityElement.epcClass | string | Specifies class-level EPCs, such as LGTINs. This element is required if the | No | This example defines that 10 cases of LGTIN
|
| extension.childQuantityList.quantityElement.quantity | decimal | Specifies the quantity of items. This element is required if the | No | <quantity>10</quantity> |
| extension.childQuantityList.quantityElement.uom | string | Specifies the item quantity unit of measurement, such as cases (CS), each (EA), pounds (LBR), or kilograms (KGM). For more information about units of measure for international trade, see Units of Measure: Code Elements Listed by Name (PDF) and Units of Measure: Code Elements Listed by Common Code (PDF) . This element is required if the | No | <uom>CS</uom> |
| extension.sourceList | list | A list of The prefix of the type attribute starts with This element is required if the aggregation event involves a transfer of goods, such as a shipment from supplier to retailer. | No | <destinationList><br><destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination><br></destinationList> |
| extension.destinationList | list | A list of The prefix of the type attribute starts with This element is required if the aggregation event involves a transfer of goods, such as a shipment from supplier to retailer. | No | <destinationList><br><destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination><br></destinationList> |
XML payload examples
The following sections provide two EPCIS aggregation event XML documents.
Annotated payload
This example provides an annotated XML payload. Remove the comments in this XML file before sending data to the blockchain.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<epcis:EPCISDocument xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:example="http://ns.example.com/epcis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creationDate="2005-07-11T11:30:47.0Z" schemaVersion="1.2"> <EPCISBody> <EventList> <AggregationEvent> <eventTime>2013-06-08T14:58:56.591Z</eventTime> <--! WHEN--> <--! MANDATORY. UTC time (ISO 8601) when event occurred.--> <eventTimeZoneOffset>+02:00</eventTimeZoneOffset> <--! MANDATORY. Time-zone of location, as an offset from UTC.--> <baseExtension> <eventID>urn:uuid:6926712e-599f-4c4e-b6e9-8dd888c906bd</eventID> <--! OPTIONAL. A unique ID (UUID) for the event. If not specified, the system generates an event ID.--> <--! RECOMMENDED. Supply a unique eventID (UUID) for disambiguation.--> </baseExtension> <parentID>urn:epc:id:sscc:5012345.0678901234</parentID> <--! WHAT--> <--! MANDATORY: single parent object from which child objects are being disaggregated (may be SSCC or internal license plate numbers)--> <--! Guidance for clients--> <--! 1. Do not reuse pallet ids (internal or SSCC) at least over periods of months. GS1 guideline: SSCC not reused for at least 1 year.--> <--! 2. Pallets moving across company boundaries should have SSCCs. E.g. pallets shipped from supplier to retailer should have SSCC.--> <--! 3. Internally assigned pallet ids should be reported with a company prefix, for disambiguation. So, CompanyPrefix.InternalID.--> <--! General EPC SSCC syntax: urn:epc:id:sscc:CompanyPrefix.SerialRefAndExtension--> <--! EPC SSCC is 17 digits--> <--! CompanyPrefix is equal to the CompanyPrefix in GS1 SSCC--> <--! SerialReferenceAndExtension is formed by concatenating the first digit (Extension) from GS1 SSCC with SerialRef digits from GS1 SSCC.--> <--! GS1 SSCC check digit is dropped.--> <childEPCs> <epc>urn:epc:id:sgtin:0614141.107346.2017</epc> <epc>urn:epc:id:sgtin:0614141.107346.2018</epc> <--! Additional entries go here--> </childEPCs> <--! WHAT--> <--! MANDATORY, but can be empty, if childQuantityList (see below) is present--> <--! List of child instance-level objects (SSCC, SGTIN) that are being disaggregated from parent object.--> <--! LGTINs and other class-level objects go in childQuantityList (see below)--> <--! General SGTIN syntax: urn:epc:id:sgtin:CompanyPrefix.IndicatorDigitAndItemRef.SerialNumber--> <--! CompanyPrefix.ItemRefAndIndicator should have 13 digits (without counting dots).--> <--! CompanyPrefix is equal to the CompanyPrefix derived from GTIN-14.--> <--! ItemRefAndIndicator is formed by concatenating the first digit (Indicator) from GTIN-14 with ItemRef digits from GTIN-14.--> <--! GTIN-14 check digit is dropped.--> <--! GTIN-12 or GTIN-13 should first be converted to GTIN-14 by adding leading 0s before above conversion.--> <action>DELETE</action> <--! MANDATORY. EPCIS action. Don't change this. --> <bizStep>urn:epcglobal:cbv:bizstep:unpacking</bizStep> <--! OPTIONAL. From Section 7.1.3 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-r-2016-09-29.pdf--> <--! The business step that this event was a part of.--> <--! Custom bizSteps are supported, in the format http://<client-controlled-domain-name/path/biz_step_name>--> <--! Custom bizStep example: http(s)://epcis.company.com/bizStep/roasting_duck_batch--> <disposition>urn:epcglobal:cbv:disp:in_progress</disposition> <--! OPTIONAL. From Section 7.2.3 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-r-2016-09-29.pdf--> <--! The condition of the objects after this event.--> <readPoint><id>urn:epc:id:sgln:0614141.00777.0</id></readPoint> <--! OPTIONAL: SGLN where the read occurred. Used to indicate an event location other than the mandatory bizLocation.--> <--! General syntax of SGLN: urn:epc:id:sgln:CompanyPrefix.LocationReference.Extension--> <--! CompanyPrefix.LocationReference are the first 12 digits of GLN (13th check digit is not included).--> <--! Extension can be a single 0 digit (denoting no extension), or can be any number of digits without leading zeros--> <bizLocation><id>urn:epc:id:sgln:0614141.00888.0</id></bizLocation> <--! WHERE--> <--! MANDATORY: SGLN (extensible global location number) for the business location where the event occurred.--> <bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:po">urn:epcglobal:cbv:bt:5412345000037:3352</bizTransaction> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction> <--! Two types of business transaction examples: --> <--! 1. Use "urn:epcglobal:cbv:btt:po" above to indicate the identifier for a PURCHASE ORDER (send from retailer to supplier) --> <--! 2. Use "urn:epcglobal:cbv:btt:desadv" above to indicate the identifier for a DESPATCH ADVICE (send from supplier to retailer) --> </bizTransactionList> <--! WHY--> <--! List of business transactions associated with this event.--> <--! The example above shows a purchase order (PO), a despatch advice (ASN), and a production order--> <--! OPTIONAL, in general. From Page 28 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-1-r-2017-05-05.pdf--> <--! MANDATORY: When this event is used to represent receiving a shipment from supplier to retailer,--> <--! the bizTransactionList should include a PO. It should also include a DA (ASN) when one is available.--> <--! General syntax: urn:epcglobal:cbv:bt:GLN:TransactionID--> <--! See transaction XMLs for TransactionID format.--> <extension> <childQuantityList> <quantityElement> <epcClass>urn:epc:class:lgtin:0614141.107346.101</epcClass> <--! MANDATORY for quantityElement. Class-level EPCs like LGTINs. See note below for description.--> <quantity>10</quantity> <--! MANDATORY for quantityElement.--> <--! Meaning: 10 cases of LGTIN '0614141.107346' belonging to lot '101'--> <uom>CS</uom> <--! MANDATORY for quantityElement. Item quantity unit of measurement. "CS" = Case.--> <--! Two or three-character codes from UN/CEFACT Recommendation 20.--> <--! Other examples: EA (each), LBR (pound), KGM (kilogram).--> <--! See https://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_rev3_Annex2e.pdf and--> <--! https://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_rev3_Annex3e.pdf.--> </quantityElement> <--! Additional quantityElement entries go here.--> </childQuantityList> <--! WHAT--> <--! MANDATORY that childQuantityList be present if childEPCs is empty.--> <--! List of child class-level objects like LGTINS (GTIN+lot) along with their quantity and unit of measure.--> <--! LGTINs should be constructed to be as unique as possible; by concatenating time/date of creation with object id, e.g.--> <--! General LGTIN syntax: urn:epc:class:lgtin:CompanyPrefix.IndicatorDigitAndItemRef.Lot--> <--! CompanyPrefix.ItemRefAndIndicator should have 13 digits (without counting dots).--> <--! CompanyPrefix is equal to the CompanyPrefix derived from GTIN.--> <--! ItemRefAndIndicator is formed by concatenating the first digit (Indicator) from GTIN with ItemRef digits from GTIN.--> <--! GTIN check digit is dropped.--> <--! If a GTIN (without lot) is to be represented, the following syntax is used:--> <--! From Page 35 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-1-r-2017-05-05.pdf --> <--! urn:epc:idpat:sgtin:CompanyPrefix.ItemRefAndIndicator.* where --> <--! CompanyPrefix.ItemRefAndIndicator is 13 digits as above.--> <sourceList> <source type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:0614141.00001.0</source> <--! Additional source entries go here.--> <--! OPTIONAL: SGLN of the facility or facilities that goods are being sent from.--> <--! MANDATORY if this event involves a transfer of goods, such as a shipment from supplier to retailer.--> </sourceList> <destinationList> <destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination> <--! Additional destination entries go here.--> <--! OPTIONAL: SGLN of the receiving facility or facilities.--> <--! MANDATORY if this event involves a transfer of goods, such as a shipment from supplier to retailer. --> </destinationList> </extension> </AggregationEvent> </EventList> </EPCISBody>
</epcis:EPCISDocument>Ready to use
The following XML file is ready to use. Define your own values for each tag, then send the data to the blockchain.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<epcis:EPCISDocument xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:example="http://ns.example.com/epcis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creationDate="2005-07-11T11:30:47.0Z" schemaVersion="1.2"> <EPCISBody> <EventList> <AggregationEvent> <eventTime>2013-06-08T14:58:56.591Z</eventTime> <eventTimeZoneOffset>+02:00</eventTimeZoneOffset> <baseExtension> <eventID>urn:uuid:6926712e-599f-4c4e-b6e9-8dd888c906bd</eventID> </baseExtension> <parentID>urn:epc:id:sscc:5012345.0678901234</parentID> <childEPCs> <epc>urn:epc:id:sgtin:0614141.107346.2017</epc> <epc>urn:epc:id:sgtin:0614141.107346.2018</epc> </childEPCs> <action>DELETE</action> <bizStep>urn:epcglobal:cbv:bizstep:unpacking</bizStep> <disposition>urn:epcglobal:cbv:disp:in_progress</disposition> <readPoint><id>urn:epc:id:sgln:0614141.00777.0</id></readPoint> <bizLocation><id>urn:epc:id:sgln:0614141.00888.0</id></bizLocation> <bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:po">urn:epcglobal:cbv:bt:5412345000037:3352</bizTransaction> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction> </bizTransactionList> <extension> <childQuantityList> <quantityElement> <epcClass>urn:epc:class:lgtin:0614141.107346.101</epcClass> <quantity>10</quantity> <uom>CS</uom> </quantityElement> </childQuantityList> <sourceList> <source type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:0614141.00001.0</source> </sourceList> <destinationList> <destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination> </destinationList> </extension> </AggregationEvent> </EventList> </EPCISBody>
</epcis:EPCISDocument>Updated 8 days ago
