Saudi Arabia PTS Upload and Download Guidelines (EPCIS v1.2)

See How to Use this Guide before selecting the below fields.

Message Types:

  • SA_PTS_UPLOAD
  • SA_PTS_UPLOAD_PROCESSING
  • SA_PTS_DOWNLOAD
  • SA_PTS_DOWNLOAD_PROCESSING

Info Exchange Display Names:

  • PTS Upload
  • PTS Upload Processing
  • PTS Download
  • PTS Download Processing
When sending an element in Date or DateTime format, a valid date must be given. "00" is not a valid day or month value and "0000" is not a valid year value.
Data Element Occurs
Length
Type Description
epcis:EPCISDocument [1...1]
[-]
- Required. The EPCIS message root element.
  @schemaVersion [1...1]
[0/*]
Decimal Required. Version of the EPCIS schema used to populate the EPCIS document elements. The @schemaVersion must be set to 1.2.
  @creationDate [1...1]
[1/*]
DateTime Date that the message was created, in YYYY-MM-DDTHH:MM:SSZ format. *1
  EPCISHeader [0...1]
[-]
- Required. The XML file control header.
    sbdh:StandardBusinessDocumentHeader [1...1]
[-]
- Required. Business header information, including EPCIS Header Version, Sender, and Receiver information, along with the document identification.
      sbdh:HeaderVersion [1...1]
[0/*]
String Required. Version of the Standard Business Document Header (SBDH). The sbdh:HeaderVersion must be set to 1.0.
      sbdh:Sender [1...*]
[-]
- Required. A unique identification key for the Sender party of the message, representing the organization that created the standard business document. Use only once with GS1 XML messages.
        sbdh:Identifier [1...1]
[1/*]
String Required. A GLN, SGLN, or any other supported business party type.

Send SGLNs and all other party types with the GS1-conformant URI prefix. For example: *2

  • http://epcis.gs1us.org/hc/dea/loc/10023141
  • urn:epc:id:sgln:088202.867701.0

GLNs do not have a urn or http prefix.

See the MDPartyTypeAttributes enumeration list for valid values.

          @Authority [1...1]
[1/*]
String Required. The sender identifier type. *3

See the MDPartyTypeEnums enumeration list for valid values.

      sbdh:Receiver [1...*]
[-]
- Required. A unique identification key for the direct Receiver party of the message, representing the organization that receives the standard business document. Use only once with GS1 XML messages.
        sbdh:Identifier [1...1]
[1/*]
String Required. A GLN, SGLN, or any other supported business party type.

Send SGLN and all other party types with the GS1-conformant URI prefix. For example: *4

  • http://epcis.gs1us.org/hc/dea/loc/10023141
  • urn:epc:id:sgln:088202.867701.0

GLNs do not have a urn or http prefix.

See the MDPartyTypeAttributes enumeration list for valid values.

          @Authority [1...1]
[1/*]
String

Required. The receiver identifier type. *5

See the MDPartyTypeEnums enumeration list for valid values.

      sbdh:DocumentIdentification [1...1]
[-]
- Required. The identification group for the message.
        sbdh:Standard [1...1]
[0/*]
String Required. The name of the document standard contained in the file or message. The value for this field must equal EPCglobal.
        sbdh:TypeVersion [1...1]
[0/*]
String Required. The version of the document included in the payload of SBDH. This is the complete version of the document itself and is different than the sbdh:HeaderVersion. The sbdh:TypeVersion must equal 1.0.
        sbdh:InstanceIdentifier [1...1]
[1/*]
String

Required. Description that contains reference information that uniquely identifies this instance of the Standard Business Document between the Sender and the Receiver. *6

This value identifies this document as being distinct from others.

        sbdh:Type [1...1]
[0/*]
String Required. The type of the document. The sbdh:Type must equal Events.
        sbdh:CreationDateAndTime [1...1]
[0/*]
DateTime Required. Date and time of the SBDH document creation. *7
    extension [0...1]
[-]
- Header extension area with master data attributes.
      EPCISMasterData [0...1]
[-]
- Master data extension header. Will contain business and shipping party address information.

Full GS1 conformance requires that all product and party master data be stored in the EPCIS header extension EPCISMasterData | VocabularyList | Vocabulary | VocabularyElementList | VocabularyElement. It is strongly recommended that all product master data for Commissioning and Transformation events be sent in VocabularyElement within the EPCISMasterData header extension.

        VocabularyList [1...1]
[-]
- Required. Vocabulary list group master data elements.
          Vocabulary(1) [0...*]
[-]
- Instance 1 of the looping vocabulary with discrete master data element groups. Instance 1 of Vocabulary occurs once for all instances of item master data.
            @type [1...1]
[0/*]
String Required. Vocabulary type identifying location master data elements. Master data type defined by VocabularyElement | @id.

Valid value: urn:epcglobal:epcis:vtype:EPCClass = product master data.

            VocabularyElementList [0...1]
[-]
- List of vocabulary elements containing master data attributes for each unique product code.
              VocabularyElement [0...*]
[-]
- Looping vocabulary element identifying each unique SGTIN, NTIN, or CN-EDMC product code for product master data embedded in the epc serial number in the Commissioning and Transformation Events.

To conform with GS1 standards, master data attributes should be sent in the VocabularyElement. Each unique SGTIN, NTIN, or CN-EDMC embedded in Commissioning event epcList | epc and Transformation event outputEPC | epc serial numbers should be sent in its own instance of VocabularyElement.

                @id [1...1]
[0/*]
String Required. Identifies the product code associated with the master data being sent in the VocabularyElement. SGTIN is strongly recommended for GS1 compliance. *8

If a product code is present, it must match the product code embedded within the serial number in the epc in one or more commissioning events.

SGTIN

  • prefix: urn:epc:idpat:sgtin:
  • example: urn:epc:idpat:sgtin:0030001.0012345.*

NTIN

  • prefix: http://epcis.tracelink.com/hc/ntin/obj/
  • example: http://epcis.tracelink.com/hc/ntin/obj/4150.001647778.*

CN-EDMC

  • prefix: http://epcis.tracelink.com/hc/cn-edmc/obj/
  • example: http://epcis.tracelink.com/hc/cn-edmc/obj/10230.*
                attribute [1...1]
[1/*]
String Required. Instance 1 of attribute for the packaging level value. *9

See the PackagingLevel enumeration list for valid values.

                  @id [1...1]
[0/*]
String Required. Id attribute identifying the packaging level.

Valid value: http://epcis.tracelink.com/mda/packageTypeCode

                attribute [0...1]
[0/*]
String Instance 2 of attribute for the internal material number in the MAH's internal system. If instance 2 is present, then instance 3 of attribute must also be present. *10
                  @id [1...1]
[0/*]
String Required. Id attribute identifying the internal material code.

Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentification

                attribute [0...1]
[0/*]
String Conditionally required if instance 2 of attribute is present. The manufacturer part number.

Sequence of fields for internal material number is:

  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">100335</attribute>
  2. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode">MANUFACTURER_PART_NUMBER</attribute>
If this sequence is not followed as documented above in the input file, the internal material number will not be mapped into the TraceLink system and no error will be thrown.

Valid value: MANUFACTURER_PART_NUMBER

                  @id [1...1]
[0/*]
String Required. Id attribute identifying the internal material number identifier.

Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode

                attribute [0...1]
[0/*]
String Instance 4 of attribute for country drug code for all national drug code types,

Country drug code type is defined by instance 5 of attribute. *11

                  @id [1...1]
[0/*]
String Required. Id attribute identifying the country drug code.

Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentification

                attribute [0...1]
[0/*]
String Conditionally required if instance 4 of attribute is present. The country drug code. Sequence of fields for country drug code is: *12

GS1:

  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">82025030221</attribute>
  2. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode">FDA_NDC_11</attribute>

TraceLink:

  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">82025030221</attribute>
  2. <attribute id="http://epcis.tracelink.com/mda/additionalTradeItemIdentificationTypeCode">US_NDC442</attribute>

The following qualifiers have been defined by GS1 as additional trade item types:

  • MANUFACTURER_PART_NUMBER = Internal material number
  • FDA_NDC_11 = US NDC542
  • DIN = Canada Drug ID Number
  • PHARMACODE_CH = Swiss Pharma Code
  • NAN = Nordic Article Number

To identify these material number types, use attribute | @id string: urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode.

For all other country drug code types, use attribute | @id string: http://epcis.tracelink.com/mda/additionalTradeItemIdentificationTypeCode.

If this sequence is not followed as documented above in the input file, the internal material number will not be mapped into the TraceLink system and no error will be thrown.
                  @id [1...1]
[0/*]
String Required. Id attribute identifying the country drug code identifier type.

Valid values: *13

  • urn:epcglobal:cbv:mda#additionalTradeItemIdentification (GS1 enums).
  • http://epcis.tracelink.com/mda/packageTypeCode (TraceLink enums).
          Vocabulary(2) [0...1]
[-]
- Instance 2 of vocabulary element with party master data element groups. Vocabulary occurs only once for all instances of party address master data present in the message.
            @type   [1...1]
[0/*]
String Required. Vocabulary type identifying location master data elements. Master data type defined by VocabularyElement | @id.

From business party, ship-from, to business party, and ship-to for shipping events are all tracked in header master data. Party data in shipping events is mapped from header master in Vocabulary.

Valid value: urn:epcglobal:epcis:vtype:Location = party master data

            VocabularyElementList [0...1]
[-]
- List of vocabulary elements that includes all partner master information. Party identifiers and address info are stored in instances of the looping VocabularyElement group.
              VocabularyElement [0...1]
[-]
- Looping group header for data elements that identify all business party and location master data, including identifiers, identifier types, and address info.

Shipping Event:

  • Sold/Transfer from business party (Mandatory if group populated)
  • Ship-from location (Optional)
  • Sold/Transfer to business party (Mandatory if group populated)
  • Ship-to location (Optional)

Master data lookup is supported. If partner master data is available in TraceLink, indicate master data lookup by sending partner identifiers in the sourceList and/or destinationList for the shipping event and do not include address data in any VocabularyElement group.

Master data lookup is supported from the readPoint | id for decommissioning and destroying events if VocabularyElement is not populated with location address.

If master data lookup is not intended, send complete address information for at least the sold-from and sold-to partners in the header master data extension. Ship-from and ship-to addresses might also be included.

                @id [1...1]
[0/*]
String Required. SGLN or other partner identifier and type for party master data in VocabularyElement. Must match sourceList or destinationList owning or location party in shipping event from: *14
  • ObjectEvent | extension | sourceList | source (transfer from, carrier) or
  • ObjectEvent | extension | destinationList | destination (transfer to)

The identifier value is mandatory for regulatory reporting. The identifier type must include a valid urn or http string prefix. Valid prefix formats include by namespace:

  • GS1: urn:epc:id:sgln:[CompanyPrefix].[LocationReference].[Extension]
  • GS1 USHC: http://epcis.gs1us.org/hc/[identifierType]/loc/[identificationValue]
  • TraceLink: http://epcis.tracelink.com/hc/[identifierType]/loc/[identificationValue]

Only SGLN is supported, GLN is not supported. Different countries require different values as noted below.

Country Requirements:
  • China: Provide the company identifier registered with China SFDA used to identify the sold-from party. This must match the identifier provided in the China SFDA application master data. Use the appropriate qualifier code to identify this value.
  • Turkey: Provide the SGLN associated with the sold-from party.
  • US: Provide an SGLN, DEA, or HIN identifier associated with the sold-from party.

The identifier type is included in the urn or http String prefix. The following types are supported in the US:

  • urn:epc:id:sgln: = SGLN (Serialized Global Location Number).
  • http://epcis.tracelink.com/hc/companyId/loc/ = Company Id in Internal ERP System.
  • http://epcis.tracelink.com/hc/companySiteId/loc/ = Internal Location or Site Id in Internal ERP System.
  • http://epcis.gs1us.org/hc/dea/loc/ = DEA (Drug Enforcement Agency Number).
  • http://epcis.gs1us.org/hc/duns/loc/ = DUNS (Dun & Bradstreet Number).
  • http://epcis.gs1us.org/hc/duns_plus_four/loc/ = DUNS4 (Dun & Bradstreet Number + 4-digit location code).
  • http://epcis.gs1us.org/hc/hin/loc/ = HIN (Health Industry Number partner address ID).

See the MDPartyTypeAttributes enumeration list for valid values.

                attribute(1) [1...1]
[0/*]
String Conditionally required if attribute(2) is present. Instance 1 of attribute. Looping Name/Value pairs identifying partner address master data elements. This is the value element in the Name/Value pair attribute | @id. *15

Stores master data item value defined by attribute | @id. Partner master data items currently supported:

  • Business name - Mandatory if address populated in VocabularyElement.
  • Business classification - Optional.
  • Street address 1 - Mandatory if address populated.
  • Street address 2 - Optional.
  • City - Mandatory if address populated.
  • State/Province/Region - Mandatory if address populated.
  • Postal code - Optional.
  • Country code - Mandatory if address populated.

Create one instance of the Name/Value pair attribute and attribute | @id for each master data element returned.

                  @id [1...1]
[0/*]
String Required. Provides the name in the Name/Value pair attribute | @id. Identifies the master data value stored in the attribute value element using urn or http prefix.

Valid values: *16

  • urn:epcglobal:cbv:mda#name
  • urn:epcglobal:cbv:mda#streetAddressOne
  • urn:epcglobal:cbv:mda#streetAddressTwo
  • urn:epcglobal:cbv:mda#streetAddressThree
  • urn:epcglobal:cbv:mda#city
  • urn:epcglobal:cbv:mda#district
  • urn:epcglobal:cbv:mda#state
  • urn:epcglobal:cbv:mda#postalCode
  • urn:epcglobal:cbv:mda#countryCode
  • http://epcis.tracelink.com/mda/AddressObjectGUID
  • http://epcis.tracelink.com/mda/HouseGUID
  • http://epcis.tracelink.com/mda/partyRoleCode
                attribute(2) [0...*]
[0/*]
String Conditionally required if attribute(1) is present. Instance 2 of attribute. Looping Name/Value pairs identifying additional party identifier elements. This is the value element in the Name/Value pair attribute | @id. Stores additional party identifiers and identifier types defined by attribute | @id. *17

Partner master data items currently supported:

  • Additional party identifier - Optional (one or more supported).
  • Additional party identifier type - Optional (one or more supported).

Create one instance of the Name/Value pair attribute and attribute | @id for each master data element returned.

Additional party identifiers must be sent in a two-attribute combination. The sequence must be:

  • Attribute 1 identifies and provides the party identifier value.
  • Attribute 2 identifies the party identifier type.

For example:

  • <attribute id="http://epcis.tracelink.com/mda/additionalPartyIdentificationValue">10023141</attribute>
  • <attribute id="http://epcis.tracelink.com/mda/additionalPartyIdentificationTypeCode">DUNS_PLUS_FOUR</attribute>

OR

  • <attribute id="http://epcis.tracelink.com/mda/additionalIdentifier">10023141</attribute>
  • <attribute id="http://epcis.tracelink.com/mda/additionalIdentifierType">DUNS4</attribute>
If this sequence is not followed as documented above in the input file, the internal material number will not be mapped into the TraceLink system and no error will be thrown.
                  @id [1...1]
[0/*]
String Required. Provides the name in the Name/Value pair attribute | @id. Identifies the master data value stored in the attribute value element, using urn or http prefix.

Valid values: *18

  • http://epcis.tracelink.com/mda/additionalPartyIdentificationValue
  • http://epcis.tracelink.com/mda/additionalPartyIdentificationTypeCode
  EPCISBody [1...1]
[-]
- Required. Contains all of the EPCIS events for this message.
    EventList [1...1]
[-]
- Required. The EventList might include:
  • ObjectEvent (one or more for commissioning)
  • AggregationEvent (optional)
  • ObjectEvent (only one for shipping)
      choice [1...1]
[-]
- Required. Only one of the following events might be present within a single instance of EPCISBody | EventList:
  • ObjectEvent
  • AggregationEvent
      ObjectEvent [0...*]
[-]
- Choice 1 for EventList.

ObjectEvent = Commissioning when all of the following is true:

  • action = ADD
  • bizStep = urn:epcglobal:cbv:bizstep:commissioning
  • disposition = urn:epcglobal:cbv:disp:active
        eventTime [1...1]
[1/*]
DateTime Required. Timestamp of date/time when the event occurred. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *19
        recordTime [0...1]
[0/*]
DateTime Not used.
        eventTimeZoneOffset [1...1]
[1/*]
String Required. Time zone offset in effect at the time and place where the event occurred, consistent with the choice made for eventTime. Per Section 7.2.8 of [EPCIS1.0.1]. *20
        epcList [1...1]
[-]
- Required. The EPCs of each item, case, and/or pallet commissioned.
          epc [1...*]
[1/*]
String Required. The EPC identifier, in EPC Pure Identity URI format. *21

CN EDMC:

  • Format: http://epcis.tracelink.com/obj/cn-edmc/[serial number]
  • Ex: http://epcis.tracelink.com/obj/cn-edmc/88102321100002005943

NTIN:

  • Format: http://epcis.tracelink.com/hc/ntin/obj/<company prefix>.<item reference>.<serial number>
  • Ex: http://epcis.tracelink.com/hc/ntin/obj/4150.001647778.100000000002

SGTIN:

  • Format: urn:epc:id:sgtin:[company prefix].[inidcator digit + item reference].[serial number]
  • Ex: urn:epc:id:sgtin:068202.0401034.11220207026272

SSCC:

  • Format: urn:epc:id:sscc:[company prefix].[extension digit + serial number]
  • Ex: urn:epc:id:sscc:030944.10105363280
        action [1...1]
[0/*]
String Required. The action value must equal ADD.
        bizStep [0...1]
[0/*]
AnyURI Required. The bizStep value must equal urn:epcglobal:cbv:bizstep:commissioning.
        disposition [0...1]
[0/*]
AnyURI Required.The disposition value must equal urn:epcglobal:cbv:disp:active.
        readPoint [0...1]
[-]
- The SGLN EPC of the location where the event occurs. This might be a site-level SGLN, or a more granular location identifier.
          id [1...1]
[0/*]
AnyURI The SGLN EPC of the location where the event occurs. This might be a site-level SGLN, or a more granular location identifier. *22
        bizLocation [0...1]
[-]
- Required. Business location where the event occurs.
          id [1...1]
[1/*]
AnyURI Required. The SGLN EPC of the location where the event occurs. This might be a site-level SGLN, or a more granular location identifier. *23
        bizTransactionList [0...1]
[-]
- Not used.
        extension [0...1]
[-]
- Main extension body for Commission Event.
          ilmd [0...1]
[-]
- Instance of lot master data specific to product being commissioned.
            cbvmda:lotNumber [0...1]
[0/*]
String The lot or batch code for the serialized item in an alphanumeric string of up to 20 characters. *24
            cbvmda:itemExpirationDate [0...1]
[0/*]
Date Conditionally required if cbvmda:lotNumber is present. The expiration date for the serialized item in YYYY-MM-DD format. *25
            tl:commissionEventExtensions [0...1]
[-]
- Extensions used for Commission ObjectEvent.

Full GS1 conformance requires all master data elements be stored in the header extension EPCISMasterData | VocabularyList. While master data can be sent within tl:commissionEventExtensions, it is strongly recommended that all product master data items for the Commission event be sent in the header extensions elements.

Master data extensions might be populated with the following elements:

  • tl:packagingLevel

  • tl:internalMaterialCode

  • tl:packagingItemCode

  • tl:packagingItemCode | @type

  • tl:countryDrugCode

  • tl:countryDrugCode | @type

              tl:filterValue [0...1]
[-]
Int tl:filterValue is used only if it is required by a trade partner to convert SSCC to GS1 HEX or Tag URI format.
              tl:packagingLevel [0...1]
[0/*]
String Required. The packaging level of the commissioned item. *26

To be GS1 EPCIS-conformant, send this value in the VocabularyElement master data unless current item has an SSCC code with associated product master data (i.e. homogeneous pallet).

See the PackagingLevel enumeration list for valid values.

              tl:internalMaterialCode [0...1]
[0/*]
String Internal material number for the product. *27
              tl:packagingItemCode [0...1]
[0/*]
String

The product code for the commissioned item. *28

                @type [1...1]
[1/*]
String Required. The product code type.

Valid values: *29

  • CN-RESCODE
  • GTIN-14
  • NTIN
              tl:countryDrugCode [0...1]
[0/*]
String The national drug code for the commissioned item. *30

To be GS1 EPCIS-conformant, send this value in the VocabularyElement master data unless current item has an SSCC code with associated product master data (i.e. homogeneous pallet).

                @type [0...1]
[0/*]
String The national drug code type. *31

To be GS1 EPCIS-conformant, send this value in the VocabularyElement master data unless current item has an SSCC code with associated product master data (i.e. homogeneous pallet).

See the CountryDrugCode enumeration list for valid values.

              tl:manufacturingDate [0...1]
[0/10]
date The date of manufacture for the serialized item in YYYY-MM-DD format. *32
              tl:countryMarket [0...1]
[0/3]
Date The 2-letter ISO country code for the target market for which the product was manufactured. *33

Use to trigger production notifications associated with a product batch. If a batch is multi-market, then production notifications are triggered at the time of the shipment and this element is not populated.

See the ISOCountryCode enumeration list for valid values.

      AggregationEvent [0...*]
[-]
- Choice 2 for EventList.

ObjectEvent = Aggregation when all of the following are true:

  • action = ADD
  • bizStep = urn:epcglobal:cbv:bizstep:packing
  • disposition = urn:epcglobal:cbv:disp:in_progress
        eventTime [1...1]
[1/*]
DateTime Timestamp of date/time when the event occurred. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *34
        recordTime [0...1]
[0/*]
DateTime Not used.
        eventTimeZoneOffset [1...1]
[1/*]
String Required. Time zone offset in effect at the time and place where the event occurred, consistent with the choice made for eventTime. Per Section 7.2.8 of [EPCIS1.0.1]. *35
        parentID [1...1]
[1/*]
AnyURI Required. Identifier of the parent container in EPC Pure Identity URI format (e.g. the EPC of the case for an item-to-case aggregation, the EPC of the pallet for a case-to-pallet aggregation). *36

CN EDMC:

  • Format: http://epcis.tracelink.com/obj/cn-edmc/[serial number]
  • Ex: http://epcis.tracelink.com/obj/cn-edmc/88102321100002005943

NTIN:

  • Format: http://epcis.tracelink.com/obj/ntin/[company prefix].[item reference].[serial number]
  • Ex: http://epcis.tracelink.com/obj/ntin/4150.001647778.100000000002

SGTIN:

  • Format: urn:epc:id:sgtin:[company prefix].[inidcator digit + item reference].[serial number]
  • Ex: urn:epc:id:sgtin:068202.0401034.11220207026272

SSCC:

  • Format: urn:epc:id:sscc:[company prefix].[extension digit + serial number]
  • Ex: urn:epc:id:sscc:030944.10105363280
        childEPCs [1...1]
[-]
- Required. List of identifiers of the child items in the parent container in EPC Pure Identity URI format. Examples:
  • For an item-to-case aggregation, the EPCs of the items.
  • For a case-to-pallet aggregation, the EPCs of the cases.
          epc [1...1]
[-]
String Required. The EPC identifier in EPC Pure Identity URI format. *37

CN EDMC:

  • Format: http://epcis.tracelink.com/obj/cn-edmc/[serial number]
  • Ex: http://epcis.tracelink.com/obj/cn-edmc/88102321100002005943

NTIN:

  • Format: http://epcis.tracelink.com/obj/ntin/[company prefix].[item reference].[serial number]
  • Ex: http://epcis.tracelink.com/obj/ntin/4150.001647778.100000000002

SGTIN:

  • Format: urn:epc:id:sgtin:[company prefix].[inidcator digit + item reference].[serial number]
  • Ex: urn:epc:id:sgtin:068202.0401034.11220207026272

SSCC:

  • Format: urn:epc:id:sscc:[company prefix].[extension digit + serial number]
  • Ex: urn:epc:id:sscc:030944.10105363280
        action [1...1]
[1/*]
String Required. The action value must equal ADD.
        bizStep [0...1]
[0/*]
AnyURI The bizStep value must equal urn:epcglobal:cbv:bizstep:packing.
        disposition [0...1]
[0/*]
AnyURI The disposition value must equal urn:epcglobal:cbv:disp:in_progress.
        readPoint [0...1]
[-]
- The SGLN EPC of the location where the event occurs. This might be a site-level SGLN or a more granular location identifier.
          id [1...1]
[0/*]
AnyURI Required. The SGLN EPC of the location where the event occurs. This might be a site-level SGLN or a more granular location identifier. *38
        bizLocation [0...1]
[-]
- Required. Business location of where the event occurs.
          id [1...1]
[0/*]
AnyURI Required. The SGLN EPC of the location where the event occurs. This might be a site-level SGLN or a more granular location identifier. *39
        bizTransactionList [0...1]
[-]
- Not used.
        tl:aggregationEventExtensions [0...1]
[-]
- Extensions for the Aggregation Event.
          tl:packagingLevel [0...1]
[-]
String The packaging level of the aggregated items. *40

See the PackagingLevel enumeration list for valid values.

      ObjectEvent [1...1]
[-]
- Required. Choice 3 for EventList.

ObjectEvent = Shipping when all of the following is true:

  • action = OBSERVE
  • bizStep = urn:epcglobal:cbv:bizstep:shipping
  • disposition = urn:epcglobal:cbv:disp:in_transit
        eventTime [1...1]
[1/*]
DateTime Required. Timestamp of date/time when the event occurred. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *41
        recordTime [0...1]
[0/*]
DateTime Not used.
        eventTimeZoneOffset [1...1]
[1/*]
String Required. Time zone offset in effect at the time and place where the event occurred, consistent with what choice was made for eventTime. Per Section 7.2.8 of [EPCIS1.0.1]. *42
        epcList [1...1]
[-]
- Required. List of the EPCs of the top-most containers (e.g. pallets, cases) in the shipment.
          epc [1...*]
[1/*]
String Required. The EPC identifier in EPC Pure Identity URI format. *43

CN EDMC:

  • Format: http://epcis.tracelink.com/obj/cn-edmc/[serial number]
  • Ex: http://epcis.tracelink.com/obj/cn-edmc/88102321100002005943

NTIN:

  • Format: http://epcis.tracelink.com/obj/ntin/[company prefix].[item reference].[serial number]
  • Ex: http://epcis.tracelink.com/obj/ntin/4150.001647778.100000000002

SGTIN:

  • Format: urn:epc:id:sgtin:[company prefix].[inidcator digit + item reference].[serial number]
  • Ex: urn:epc:id:sgtin:068202.0401034.11220207026272

SSCC:

  • Format: urn:epc:id:sscc:[company prefix].[extension digit + serial number]
  • Ex: urn:epc:id:sscc:030944.10105363280
        action [1...1]
[0/*]
String Required. The action value must equal OBSERVE.
        bizStep [0...1]
[0/*]
AnyURI Required. The bizStep value must equal urn:epcglobal:cbv:bizstep:shipping.
        disposition [0...1]
[0/*]
AnyURI Required. The disposition value must equal urn:epcglobal:cbv:disp:in_transit.
        readPoint [0...1]
[-]
- Required. The SGLN EPC of the location where the event occurs. This might be a site-level SGLN or a more granular location identifier.
          id [1...1]
[0/*]
AnyURI Required. The SGLN EPC of the location where the event occurs. This might be a site-level SGLN or a more granular location identifier. *44
        bizLocation [0...1]
[-]
- Not used.
          id [1...1]
[1/*]
AnyURI Not used.
        bizTransactionList [0...1]
[-]
- Element group for business transaction identifiers.
          bizTransaction [1...*]
[0/*]
AnyURI Required. The business transaction identifiers for the Advance Ship Notice, Invoice, and/or Purchase Order governing the specified shipment. *45

A Delivery number or ASN is required; all other transaction types are optional.

The GLN after urn:epcglobal:cbv:bt: is the GLN of the party that issues the number (e.g. if the customer issues PO Number, the customer GLN is entered. If the supplier issues ASN/Delivery number, the supplier GLN is entered).

Different states have different requirements for the transaction number. For compliance purposes the Purchase Order number should always be included, and the Invoice Number and Despatch Advice (Advance Ship Notice) identifier included whenever they are available.

China provides the Sales Order Number.

            @type [1...1]
[1/*]
String Required. The transaction identifier type attribute. *46

See the TransactionId (EPCIS) enumeration list for valid values.

            @date [0...1]
[0/*]
Date Transaction identifier date attribute. *47
        extension [1...1]
[-]
- Required. Main extension body for shipping event.

Both sourceList and destinationList are required even if party address master data is stored in the VocabularyElement in the EPCISMasterData extension in the message header.

          sourceList [1...1]
[-]
- Required. Identifies the sending business party and location. sourceList supports one of two functions:
  • VocabularyElement is populated with party address master data: sourceList identifies sold-from and ship-from parties. Party master data is mapped from VocabularyElement. Ship-from does not have to be sent if the identifier is the same as sold-from.
  • VocabularyElement is not populated with party address master data: sourceList business and location party identifiers used for master data lookup by TraceLink.

Sold-from busines party identifier is required in sourceList.

            source [1...*]
[-]
String Required. At least one instance of source is required for sold-from business party identifier. Identifier in source will either: *48
  • Identify sold-from or ship-from party in VocabularyElement if EPCISMasterData | VocabularyElement is present. Party address info is mapped from VocabularyElement. Nothing is mapped from VocabularyElement if there is no match between party identifier in sourceList | source and VocabularyElement | @id.
  • Support master data lookup in TraceLink for inbound interfaces if EPCISMasterData | VocabularyElement is not populated with sold from or ship-from party address or there is no match between party identifiers in source and VocabularyElement | @id.

If ship-from party is the same as sold-from party, ship-from identifier is not required.

See the MDPartyTypeAttributes enumeration list for valid values.

              @type [1...1]
[0/*]
String Required. Type of source party identifier (i.e. owning (sold-from), location (ship-from), or carrier party.)

Valid values: *49

  • Sold-from party = urn:epcglobal:cbv:sdt:owning_party (mandatory).
  • Ship-from party = urn:epcglobal:cbv:sdt:location (only include if identifier different from owning_party).
          destinationList [1...1]
[-]
- Required. Identifies receiving business party or location. destinationList supports one of two functions:
  • VocabularyElement populated with party address master data: destinationList identifies sold-to or ship-to parties. Party master data mapped from VocabularyElement.
  • VocabularyElement not populated with party address master data: destinationList party identifiers used for master data lookup in the backend.

Sold-to business party identifier is required in destinationList.

            destination [1...*]
[0/*]
String Required. Destination party identifier for sold-to or ship-to parties. Party identifier in destination either: *50
  • Identifies sold-to or ship-to parties in populated VocabularyElement. Party address info is mapped from VocabularyElement. Nothing is mapped from VocabularyElement if there is no match between party identifier in destinationList | destination and VocabularyElement | @id.
  • destinationList | destination supports master data lookup in the TraceLink system. VocabularyElement is not populated or there is no match between party identifiers in destination and VocabularyElement | @id.

If ship-to party is the same as sold-to party, ship-to identifier does not need to be sent.

See the MDPartyTypeAttributes enumeration list for valid values.

              @type [1...1]
[0/*]
String Required. Identifies type of destination party identifier (i.e. owning (sold-to) or location (ship-to) party). *51

Valid values:

  • Sold-to party = urn:epcglobal:cbv:sdt:owning_party (mandatory).
  • Ship-to party = urn:epcglobal:cbv:sdt:location (only include if identifier different from owning_party).
        tl:shippingEventExtensions [0...1]
[-]
- Extensions used for Shipping Event.
          tl:transactionDate [1...1]
[-]
Date Required. Date associated with the business transaction document in bizTransactionList in YYYY-MM-DD format. This date might or might not be the same as the eventTime. *52
          tl:shipToCountryCode [1...1]
[2/2]
String Required. 2-letter ISO country code for ship-to country. This value is referenced to advise regulatory reporting if it is required for the specified country market. *53

Setting this value alone does not trigger regulatory reporting. Actual triggering of regulatory reporting is governed by customer administrative configuration in the TraceLink application.

See the ISOCountryCode enumeration list for valid values.

          tl:shipFromCountryCode [0...1]
[2/2]
String Conditionally required if tl:salesDistributionType equals EXPORTSALE, EXPORTTRANSFER, or EXPORTRETURN. 2-letter ISO country code for ship-from country. This value is referenced to advise regulatory reporting if it is required for the specified country market. *54

Setting this value alone does not trigger regulatory reporting. Actual triggering of regulatory reporting is governed by customer administrative configuration in the TraceLink application.

See the ISOCountryCode enumeration list for valid values.

          tl:salesDistributionType [1...1]
[0/*]
String Required. To set this value, compare the ship-from country with the ship-to country. *55
  • INCOUNTRYSALE: If ship-from country = ship-to country (indicates a sale within the same country).
  • EXPORTSALE: If ship-from country <> ship-to country (indicates a sale that is an export to another country).
  • INCOUNTRYTRANSFER: A transfer within a company or with a partner such as 3PL or contract manufacturer/packager, occurring within the same country.
  • EXPORTTRANSFER: A transfer within a company or with a partner such as 3PL or contract manufacturer/packager, made from one country to another.
  • INCOUNTRYRETURN: A shipment for a return of goods to the supplier, shipped within the same country.
  • EXPORTRETURN: A shipment for a return of goods to the supplier, shipped from one country to another.

This value is referenced to advise regulatory reporting of exportation, if it is required for the specified country market. Setting this value alone does not trigger regulatory reporting. Actual triggering of regulatory reporting is governed by customer administrative configuration in the TraceLink application.

See the SalesDistType enumeration list for valid values.

          tl:supplyType [0...1]
[0/*]
String The type of supply that is being performed. *56

See the SupplyType enumeration list for valid values.

          tl:contractType [0...1]
[0/*]
String The type of contract for the sale of goods using one of the permitted values. *57

See the ContractType enumeration list for valid values.

          tl:dropShipmentIndicator [0...1]
[0/*]
Boolean Indicates if the shipment is a drop shipment.
          tl:orderItemList [0...1]
[-]
- The pick quantities for each item code at the EACH (unit) level.
            tl:orderItem [1...*]
[-]
- Required. Order item group is a repeating element that captures the item code, lot number, and quantity for each item in the order. Each unique item code and lot number are communicated in a separate order item group.
              tl:orderItemNumber [0...1]
[0/*]
String Order item number attribute associating specific serial numbers with the price, VAT, and cost taxes reported in a specific instance of tl:orderItem. *58
              choice%1 [-]
[-]
- Populate only one of tl:internalMaterialCode or tl:packagingItemCode. One of the two options must be present.
              tl:internalMaterialCode [0...1]
[1/*]
String Conditionally required if tl:packagingItemCode is not present. Option 1 for choice%1 in tl:orderItem. Use to identify the product using the internal material number configured in Product Master Data. *59
              tl:packagingItemCode [0...1]
[0/*]
String

Conditionally required if tl:internalMaterialCode is not present. Option 2 for choice%1 in tl:orderItem. Use to identify the product using the packaging level item code (e.g. GTIN-14) configured in Product Master Data. *60

                @type [0...1]
[0/*]
String The product code type for the packaging item code using the supported enumeration values (e.g. GTIN-14).

See the ItemCode enumeration list for valid values.

              cbvmda:lotNumber [0...1]
[0/*]
String The lot or batch code for the items to be picked (if available) in an alphanumeric string. *61
              cbvmda:itemExpirationDate [0...1]
[1/*]
Date The expiration date for the serialized item, in YYYY-MM-DD format. *62
              tl:quantity [1...1]
[0/*]
String Required. The quantity of items at the EACH (unit) level of the item code and lot, if specified to be picked. *63
              tl:unitPrice [0...1]
[0/*]
Decimal Unit price of item. *64
                @currencyCode [1...1]
[3/3]
String Required. Currency ISO code using ISO 4217-2015 format. *65

See the ISOCurrency enumeration list for valid values.

              tl:isSerialized [0...1]
[0/*]
Boolean Indicates if the item is not serialized.